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

◆ ensure_established()

void MayaFlux::Nodes::Network::WalkOperator::ensure_established ( )
private

Activate slot m_current and deactivate every other slot that currently exists.

No-op after the first call, and no-op if no slots exist yet (tried again on the next call in that case).

Definition at line 15 of file WalkOperator.cpp.

16{
17 if (m_established) {
18 return;
19 }
20 auto all = slots();
21 if (all.empty()) {
22 return;
23 }
24 const size_t here = m_current.load(std::memory_order_relaxed);
25 for (size_t i = 0; i < all.size(); ++i) {
26 all[i].set_active(i == here);
27 }
28 m_established = true;
29}
std::span< RelationSlot > slots() const noexcept

References m_current, m_established, and MayaFlux::Nodes::Network::RelationOperator::slots().

Referenced by advance(), jump(), and process().

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