Gaia-ECS v1.0.0
A simple and powerful entity component system
Loading...
Searching...
No Matches
gaia::ecs::QueryInfo::QueryState::DynamicCacheState::TraversedSourcePayload Struct Reference

Traversed-source payload for reusable dynamic caches with source traversal. More...

#include <query_info.h>

Public Member Functions

void clear ()
 Clears traversed-source snapshot state.
 
GAIA_NODISCARD bool is_overflowed () const
 Returns true when the traversed-source snapshot is unusable for reuse.
 
GAIA_NODISCARD bool versions_changed (const World &world) const
 Returns true when any tracked traversed source entity changed archetype.
 
GAIA_NODISCARD bool changed (const World &world, const cnt::darray< SrcTravSnapshotItem > &items) const
 Returns true when a rebuilt traversed-source closure differs from the captured snapshot.
 
void capture (const World &world, const cnt::darray< SrcTravSnapshotItem > &items)
 Captures a newly built traversed-source closure snapshot.
 
void mark_overflowed ()
 Marks the traversed-source snapshot as overflowed and unusable for reuse.
 

Public Attributes

cnt::darray< SrcTravSnapshotItem > snapshot
 Last seen traversed-source closure for reusable source queries.
 
uint32_t enabledVersion = UINT32_MAX
 Entity enable-state version captured with the traversed-source closure.
 
bool overflowed = false
 True when the traversed source closure exceeded the configured snapshot cap.
 

Detailed Description

Traversed-source payload for reusable dynamic caches with source traversal.

Member Function Documentation

◆ capture()

void gaia::ecs::QueryInfo::QueryState::DynamicCacheState::TraversedSourcePayload::capture ( const World world,
const cnt::darray< SrcTravSnapshotItem > &  items 
)
inline

Captures a newly built traversed-source closure snapshot.

Parameters
worldWorld providing the enabled hierarchy version to capture.
itemsOrdered source closure and entity archetype versions.

◆ changed()

GAIA_NODISCARD bool gaia::ecs::QueryInfo::QueryState::DynamicCacheState::TraversedSourcePayload::changed ( const World world,
const cnt::darray< SrcTravSnapshotItem > &  items 
) const
inline

Returns true when a rebuilt traversed-source closure differs from the captured snapshot.

Parameters
worldWorld providing the current enabled hierarchy version.
itemsNewly built ordered source closure.
Returns
True when hierarchy version, closure size, or any closure item differs.

◆ is_overflowed()

GAIA_NODISCARD bool gaia::ecs::QueryInfo::QueryState::DynamicCacheState::TraversedSourcePayload::is_overflowed ( ) const
inline

Returns true when the traversed-source snapshot is unusable for reuse.

Returns
True when capture exceeded the configured snapshot limit.

◆ versions_changed()

GAIA_NODISCARD bool gaia::ecs::QueryInfo::QueryState::DynamicCacheState::TraversedSourcePayload::versions_changed ( const World world) const
inline

Returns true when any tracked traversed source entity changed archetype.

Parameters
worldWorld providing current hierarchy and archetype versions.
Returns
True when enabled hierarchy state or any captured entity version changed.

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