Gaia-ECS v1.0.0
A simple and powerful entity component system
Loading...
Searching...
No Matches
gaia::cnt::ilist_item_traits< TListItem > Struct Template Reference

Access policy for implicit-list slot index and generation metadata. More...

#include <ilist.h>

Static Public Member Functions

static GAIA_NODISCARD uint32_t idx (const TListItem &item) noexcept
 Returns an item's slot index or free-list link.
 
static void set_idx (TListItem &item, uint32_t value) noexcept
 Sets an item's slot index or free-list link.
 
static GAIA_NODISCARD uint32_t gen (const TListItem &item) noexcept
 Returns an item's generation.
 
static void set_gen (TListItem &item, uint32_t value) noexcept
 Sets an item's generation.
 

Detailed Description

template<typename TListItem>
struct gaia::cnt::ilist_item_traits< TListItem >

Access policy for implicit-list slot index and generation metadata.

Default access policy for item types exposing idx and gen or data.gen members.

Template Parameters
TListItemImplicit-list item type.

Member Function Documentation

◆ gen()

template<typename TListItem >
static GAIA_NODISCARD uint32_t gaia::cnt::ilist_item_traits< TListItem >::gen ( const TListItem item)
inlinestaticnoexcept

Returns an item's generation.

Parameters
itemItem whose generation is read.
Returns
Current generation value.

◆ idx()

template<typename TListItem >
static GAIA_NODISCARD uint32_t gaia::cnt::ilist_item_traits< TListItem >::idx ( const TListItem item)
inlinestaticnoexcept

Returns an item's slot index or free-list link.

Parameters
itemItem whose index is read.
Returns
Slot index for a live item or next free slot for a recycled item.

◆ set_gen()

template<typename TListItem >
static void gaia::cnt::ilist_item_traits< TListItem >::set_gen ( TListItem item,
uint32_t  value 
)
inlinestaticnoexcept

Sets an item's generation.

Parameters
itemItem whose generation is updated.
valueNew generation value.

◆ set_idx()

template<typename TListItem >
static void gaia::cnt::ilist_item_traits< TListItem >::set_idx ( TListItem item,
uint32_t  value 
)
inlinestaticnoexcept

Sets an item's slot index or free-list link.

Parameters
itemItem whose index is updated.
valueSlot index or next free slot.

The documentation for this struct was generated from the following file: