MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ add_expanse()

uint32_t MayaFlux::Nexus::Fabric::add_expanse ( std::shared_ptr< Expanse expanse)

Register an Expanse for per-commit crossing detection.

On each commit, after the snapshot publishes, the Expanse's predicate is evaluated against every indexed position and membership is diffed against the previous commit. Entry and exit actions fire for the difference.

Parameters
expanseExpanse to register. Its id is assigned here.
Returns
Stable id assigned to the Expanse.

Definition at line 100 of file Fabric.cpp.

101{
102 const uint32_t id = m_next_id++;
103 expanse->m_id = id;
104 m_expanses.try_emplace(id, std::move(expanse));
105 return id;
106}
std::unordered_map< uint32_t, std::shared_ptr< Expanse > > m_expanses
Definition Fabric.hpp:293
uint32_t id() const
Stable id for this Fabric, assigned by Tapestry at construction.
Definition Fabric.hpp:77

References id(), m_expanses, and m_next_id.

Referenced by MayaFlux::Nexus::StateDecoder::decode(), and MayaFlux::Nexus::StateDecoder::reconstruct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: