Lumiera  0.pre.03
»edit your freedom«
SimpleWeavingPattern< INVO > Struct Template Reference

#include "steam/engine/turnout.hpp"

Description

template<class INVO>
struct steam::engine::SimpleWeavingPattern< INVO >

Standard implementation for a Weaving Pattern to connect the input and output data feeds (buffers) into a processing function.

Template Parameters
INVOa configuration / policy base class to adapt for invocation
Note
assumptions made regarding the overall structure
  • INVO::Feed defines an invocation adapter for the processing function
  • INVO::buildFeed() is a functor to (repeatedly) build Feed instances
  • the invocation adapter in turn embeds a FeedManifold<N> to hold
    • an array of input buffer pointers
    • an array of output buffer pointers
    • INVO::MAX_SIZ limits both arrays

Definition at line 114 of file turnout.hpp.

Public Types

using Feed = typename INVO::Feed
 
using Feed = typename INVO::Feed
 

Public Member Functions

template<typename... ARGS>
 SimpleWeavingPattern (Several< PortRef > &&pr, Several< BuffDescr > &&dr, uint resultIdx, ARGS &&...args)
 forwarding-ctor to provide the detailed input/output connections
 
template<typename... ARGS>
 SimpleWeavingPattern (Several< PortRef > &&pr, Several< BuffDescr > &&dr, uint resultIdx, ARGS &&...args)
 forwarding-ctor to provide the detailed input/output connections
 
BuffHandle fix (Feed &feed)
 
BuffHandle fix (Feed &feed)
 
Feed mount ()
 
Feed mount ()
 
void pull (Feed &feed, TurnoutSystem &turnoutSys)
 
void pull (Feed &feed, TurnoutSystem &turnoutSys)
 
void shed (Feed &feed, OptionalBuff outBuff)
 
void shed (Feed &feed, OptionalBuff outBuff)
 
void weft (Feed &feed)
 
void weft (Feed &feed)
 

Public Attributes

Several< PortRefleadPort
 
Several< BuffDescroutTypes
 
uint resultSlot {0}
 
+ Inheritance diagram for SimpleWeavingPattern< INVO >:
+ Collaboration diagram for SimpleWeavingPattern< INVO >:

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