template<CacheTier Tier>
ComponentCache class final
Concrete SoA ring-buffer cache parameterised by storage tier.
Registry instantiates ComponentCache<Volatile> and ComponentCache<Temporal>. All callers use the ComponentCacheBase* interface so they are decoupled from the tier template.
CRTP overrides per tier:
GetFrameCount— Volatile: 3 (triple-buffer); Temporal:Config->TemporalFrameCount.GetCacheTier— returns theCacheTierenum value.GetLabel—"Volatile"or"Temporal"for logging.
Base classes
-
template<typename Derived>class ComponentCacheImpl<ComponentCache<Tier>>
- CRTP middle layer that routes
Initialize()to tier-specific overrides.
Public static functions
- static auto GetCacheTier() -> CacheTier constexpr
- static auto GetLabel() -> const char* constexpr
- static auto GetNextWriteFrameImpl(const ComponentCacheBase* base) -> uint32_t
-
static void PropagateFrameImpl(ComponentCacheBase* base,
TrinyxJobs::
JobCounter& counter)
Public functions
- auto GetFrameCount(const EngineConfig* Config) const -> uint32_t