Class NodeIndex

Inheritance Relationships

Derived Types

Class Documentation

class NodeIndex

Base class for 64-bit integer encoding the index and bank information of a face node.

This base class manages the common bits:

  • Bit 63: Incoming/Outgoing

  • Bit 62: Boundary

Derived classes (AAHD_NodeIndex, CBCD_NodeIndex) manage the remaining bits (Local, Delayed, Index) as their layouts differ.

Subclassed by opensn::AAHD_NodeIndex, opensn::CBCD_NodeIndex

Boundary bit

/ / / Second bit mask (01 followed by 62 zeros).

static std::uint64_t boundary_bit_mask = std::uint64_t(1) << (64 - 2)

Encode the value as boundary.

inline void SetBoundary(bool is_boundary) noexcept

Encode the value as boundary.

Public Functions

constexpr NodeIndex() = default

Default constructor.

inline constexpr NodeIndex(const std::uint64_t &value)

Direct assign core value.

inline bool IsUndefined() const noexcept

Check if the current index is undefined.

inline bool IsOutgoing() const noexcept

Check if the current index is incoming or outgoing.

inline bool IsBoundary() const noexcept

Check if the current index corresponds to boundary.

inline std::uint64_t GetCoreValue() const noexcept

Get the core value.

Protected Attributes

std::uint64_t value_ = std::numeric_limits<std::uint64_t>::max()

Core value.