Template Struct SpecializedLiteralBackend

Nested Relationships

Nested Types

Struct Documentation

template<datatypes::FixedIdLiteralDatatype T>
struct SpecializedLiteralBackend

Public Types

using view_type = view::ValueLiteralBackendView
using literal_type = T
using id_type = identifier::LiteralID

Public Functions

inline explicit SpecializedLiteralBackend(view_type const &view) noexcept
inline explicit operator view_type() const noexcept

Public Members

size_t hash
T::cpp_type value

Public Static Functions

static inline identifier::NodeBackendID from_storage_id(id_type const id, view_type const &view) noexcept

Translates the given id_type (= LiteralID) into a NodeID by attaching the LiteralType from the given view to it.

static inline id_type to_storage_id(identifier::NodeBackendID const id) noexcept

Translates the given NodeID into an id_type (= LiteralID) by extracting the LiteralID

static inline view_type get_default_view() noexcept

Public Static Attributes

static constexpr identifier::LiteralType datatype = T::fixed_id
struct equal

Public Types

using is_transparent = void

Public Functions

inline bool operator()(SpecializedLiteralBackend const &lhs, SpecializedLiteralBackend const &rhs) const noexcept
inline bool operator()(view_type const &lhs, SpecializedLiteralBackend const &rhs) const noexcept
inline bool operator()(SpecializedLiteralBackend const &lhs, view_type const &rhs) const noexcept
struct hasher

Public Types

using is_transparent = void

Public Functions

inline size_t operator()(view_type const &x) const noexcept