Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
TurnoutSystem Class Reference

#include "steam/engine/turnout-system.hpp"

Description

Communication hub to coordinate and activate the »Render Node Network« performance.

An instance will be created on the stack for each evaluation of a render job. It provides access to common invocation parameters, an extension system to register further data slots, and initiates the recursive pull()-call into the render node network as attached for this call.

Definition at line 60 of file turnout-system.hpp.

Public Types

enum  {
  SLOT_TIME = 0 ,
  SLOT_KEY = 1
}
 
using FrontBlock = lib::HeteroData< Time, ProcessKey >
 

Public Member Functions

 TurnoutSystem (Time absoluteNominalTime, ProcessKey procKey=0)
 
Time getNomTime ()
 
ProcessKey getProcKey ()
 
template<class ACC >
auto & get (ACC const &getter)
 get parameter from extension block, as configured by the provided getter functor
 
template<class CHAIN >
void attachChainBlock (CHAIN &chainBlock)
 attach an extension block with further parameters as HeteroData-chain to the embedded FrontBlock
 
template<class CHAIN >
void detachChainBlock (CHAIN &chainBlock)
 
template<class ACC >
auto & retrieveData (ACC const &getter)
 

Private Attributes

FrontBlock invoParam_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Constructor & Destructor Documentation

◆ TurnoutSystem()

TurnoutSystem ( Time  absoluteNominalTime,
ProcessKey  procKey = 0 
)
inline

Definition at line 73 of file turnout-system.hpp.

Member Typedef Documentation

◆ FrontBlock

Definition at line 64 of file turnout-system.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SLOT_TIME 
SLOT_KEY 

Definition at line 65 of file turnout-system.hpp.

Member Function Documentation

◆ getNomTime()

Time getNomTime ( )
inline

Definition at line 78 of file turnout-system.hpp.

References TurnoutSystem::invoParam_, and TurnoutSystem::SLOT_TIME.

Referenced by PortBuilder< POL, DAT, WAB >::attachAutomation().

+ Here is the caller graph for this function:

◆ getProcKey()

ProcessKey getProcKey ( )
inline

Definition at line 84 of file turnout-system.hpp.

References TurnoutSystem::invoParam_, and TurnoutSystem::SLOT_KEY.

Referenced by NodeBase_test::verify_NodeStructure().

+ Here is the caller graph for this function:

◆ get()

template<class ACC >
auto & get ( ACC const &  getter)
inline

get parameter from extension block, as configured by the provided getter functor

Remarks
convenience front-end, will deflect to retrieveData
Warning
only works if an extension block has been attached, terminates with unexpected exception else.

Definition at line 98 of file turnout-system.hpp.

Referenced by WrappedStandardExeBuilder::invokeOriginalBuilder(), and PortBuilder< POL, DAT, WAB >::retrieveParam().

+ Here is the caller graph for this function:

◆ attachChainBlock()

template<class CHAIN >
void attachChainBlock ( CHAIN &  chainBlock)
inline

attach an extension block with further parameters as HeteroData-chain to the embedded FrontBlock

Note
structural properties must match, which is ensured when using a ParamBuildSpec.

Definition at line 111 of file turnout-system.hpp.

References TurnoutSystem::invoParam_.

Referenced by ParamWeavingPattern< SPEC >::shed().

+ Here is the caller graph for this function:

◆ detachChainBlock()

template<class CHAIN >
void detachChainBlock ( CHAIN &  chainBlock)
inline

Definition at line 118 of file turnout-system.hpp.

References TurnoutSystem::invoParam_.

Referenced by ParamWeavingPattern< SPEC >::fix().

+ Here is the caller graph for this function:

◆ retrieveData()

template<class ACC >
auto & retrieveData ( ACC const &  getter)
inline

forward the call from a low-level accessor to the embedded anchor data block

Definition at line 127 of file turnout-system.hpp.

References TurnoutSystem::invoParam_.

Referenced by ParamBuildSpec< ANCH, FUNZ >::Accessor< slot >::getParamVal().

+ Here is the caller graph for this function:

Member Data Documentation

◆ invoParam_

+ Inheritance diagram for TurnoutSystem:
+ Collaboration diagram for TurnoutSystem:

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