Struct DenseMapObj::ListNode#

Nested Relationships#

This struct is a nested type of Class DenseMapObj.

Struct Documentation#

struct ListNode#

The implicit in-place linked list used to index a chain.

Public Functions

inline ListNode()#

Construct None.

inline ListNode(uint64_t index, const DenseMapObj *self)#

Construct from position.

inline uint8_t &Meta() const#

Metadata on the entry.

inline ItemType &Item() const#

Data on the entry.

inline KVType &Data() const#

Data on the entry.

inline key_type &Key() const#

Key on the entry.

inline mapped_type &Val() const#

Value on the entry.

inline bool IsHead() const#

If the entry is head of linked list.

inline bool IsNone() const#

If the entry is none.

inline bool IsEmpty() const#

If the entry is empty slot.

inline bool IsProtected() const#

If the entry is protected slot.

inline void SetEmpty() const#

Set the entry to be empty.

inline void DestructData() const#

Destruct the item in the entry.

inline void SetProtected() const#

Set the entry to be protected.

inline void SetJump(uint8_t jump) const#

Set the entry’s jump to its next entry.

inline void NewHead(ItemType v) const#

Construct a head of linked list in-place.

inline void NewTail(ItemType v) const#

Construct a tail of linked list in-place.

inline bool HasNext() const#

If the entry has next entry on the linked list.

inline bool MoveToNext(const DenseMapObj *self, uint8_t meta)#

Move the entry to the next entry on the linked list.

inline bool MoveToNext(const DenseMapObj *self)#

Move the entry to the next entry on the linked list.

inline ListNode FindPrev(const DenseMapObj *self) const#

Get the previous entry on the linked list.

inline bool GetNextEmpty(const DenseMapObj *self, uint8_t *jump, ListNode *result) const#

Get the next empty jump.

Public Members

uint64_t index#

Index on the real array.

Block *block#

Pointer to the actual block.