Lumiera  0.pre.03
»edit your freedom«
DirectFunctionInvocation< N, FUN > Struct Template Reference

#include "steam/engine/weaving-pattern-builder.hpp"

Description

template<uint N, class FUN>
struct steam::engine::DirectFunctionInvocation< N, FUN >

Typical base configuration for a Weaving-Pattern chain:

  • use a simple processing function
  • pass an input/output buffer array to this function
  • map all »slots« directly without any re-ordering
  • use a sufficiently sized FeedManifold as storage scheme
    Remarks
    actual media handling plug-ins may choose to employ more elaborate invocation adapters specifically tailored to the library's needs.

Definition at line 267 of file weaving-pattern-builder.hpp.

Public Types

enum  { MAX_SIZ = N }
 
using Feed = SimpleFunctionInvocationAdapter< Manifold, FUN >
 
using Manifold = FeedManifold< N >
 

Public Member Functions

 DirectFunctionInvocation (FUN fun)
 when building the Turnout, prepare the invocation adapter More...
 

Public Attributes

std::function< Feed()> buildFeed
 

Additional Inherited Members

- Protected Member Functions inherited from MoveOnly
 MoveOnly (MoveOnly &&)=default
 
 MoveOnly (MoveOnly const &)=delete
 
MoveOnlyoperator= (MoveOnly &&)=delete
 
MoveOnlyoperator= (MoveOnly const &)=delete
 

Constructor & Destructor Documentation

◆ DirectFunctionInvocation()

DirectFunctionInvocation ( FUN  fun)
inline

when building the Turnout, prepare the invocation adapter

Note
processing function fun is bound by value into the closure, so that each invocation will create a copy of that function, embedded (and typically inlined) into the invocation adapter.

Definition at line 281 of file weaving-pattern-builder.hpp.

+ Inheritance diagram for DirectFunctionInvocation< N, FUN >:
+ Collaboration diagram for DirectFunctionInvocation< N, FUN >:

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