Struct NodeBackendHandle

Struct Documentation

struct NodeBackendHandle

NodeBackendHandle is a a 64 bit wide type that is used to identify Nodes stored at the backend. It consists of a NodeID, a RDFNodeType, a NodeStorageID and free tagging bits.

Public Functions

NodeBackendHandle() noexcept = default
inline NodeBackendHandle(NodeBackendID id, DynNodeStoragePtr storage) noexcept
inline NodeBackendHandle(NodeID const node_id, RDFNodeType const node_type, DynNodeStoragePtr storage, bool const inlined = false, uint16_t const tagging_bits = 0) noexcept

Constructor

Parameters:
  • node_idNodeID to be used. NodeID() indicates a null() NodeBackendHandle.

  • node_type – RDFNodeType to be used

  • inlined – inlined bit

  • tagging_bits – tagging bits (must be all zero for usage with the backend)

inline constexpr RDFNodeType type() const noexcept

Get the RDFNodeType

Returns:

RDFNodeType

inline constexpr TriBool is_iri() const noexcept

Check if the NodeBackendHandle identifies a IRI.

Returns:

inline constexpr TriBool is_literal() const noexcept

Check if the NodeBackendHandle identifies a Literal.

Returns:

inline constexpr TriBool is_blank_node() const noexcept

Check if the NodeBackendHandle identifies a BlankNode.

Returns:

inline constexpr TriBool is_variable() const noexcept

Check if the NodeBackendHandle identifies a Variable.

Returns:

inline constexpr bool null() const noexcept

If true, the NodeBackendHandle identifies no Node.

Returns:

inline constexpr NodeID node_id() const noexcept

Get the NodeID

Returns:

inline constexpr bool is_inlined() const noexcept
Returns:

Whether the LiteralID is an inlined value or a normal node storage ID

inline constexpr uint16_t free_tagging_bits() const noexcept

Get the free tagging bits

Returns:

inline constexpr void set_free_tagging_bits(uint16_t new_value) noexcept

Set the free tagging bits. Must be reset to 0 before using comparison functions or raw() const

Parameters:

new_value

inline NodeBackendID id() const noexcept
inline DynNodeStoragePtr storage() const noexcept
inline constexpr std::strong_ordering operator<=>(NodeBackendHandle const &other) const noexcept
inline constexpr bool operator==(NodeBackendHandle const &other) const noexcept
inline view::IRIBackendView iri_backend() const noexcept

Retrieve IRIBackendView with information details about the IRI identified by this NodeBackendHandle. MUST only be called if this is not null and is_iri() const is true.

Returns:

inline view::LiteralBackendView literal_backend() const noexcept

Retrieve LiteralBackendView with information details about the Literal identified by this NodeBackendHandle. MUST only be called if this is not null and is_literal() const is true.

Returns:

inline view::BNodeBackendView bnode_backend() const noexcept

Retrieve BNodeBackendView with information details about the BlankNode identified by this NodeBackendHandle. MUST only be called if this is not null and is_bnode() const is true.

Returns:

inline view::VariableBackendView variable_backend() const noexcept

Retrieve VariableBackendView with information details about the Variable identified by this NodeBackendHandle. MUST only be called if this is not null and is_variable() const is true.

Returns: