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

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

Description

template<class FUN>
struct steam::engine::anonymous_namespace{weaving-pattern-builder.hpp}::_ProcFun< FUN >

Helper to pick up the parameter dimensions from the processing function.

Remarks
this is the rather simple yet common case that media processing is done by a function, which takes an array of input and output buffer pointers with a common type; this simple case is used 7/2024 for prototyping and validate the design.
Template Parameters
FUNa function-like object, expected to accept two arguments, which both are arrays of buffer pointers (input, output).

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

Public Types

enum  {
  FAN_I = MatchBuffArray<ArgI>::SIZ,
  FAN_O = MatchBuffArray<ArgO>::SIZ
}
 
using ArgI = remove_reference_t< typename _Fun< FUN >::Args::List::Head >
 
using ArgO = remove_reference_t< typename _Fun< FUN >::Args::List::Tail::Head >
 
using BuffI = typename MatchBuffArray< ArgI >::Buff
 
using BuffO = typename MatchBuffArray< ArgO >::Buff
 

Classes

struct  MatchBuffArray
 
struct  MatchBuffArray< std::array< BUF *, N > >
 

Class Documentation

◆ steam::engine::anonymous_namespace{weaving-pattern-builder.hpp}::_ProcFun::MatchBuffArray

struct steam::engine::anonymous_namespace{weaving-pattern-builder.hpp}::_ProcFun::MatchBuffArray
+ Collaboration diagram for _ProcFun< FUN >::MatchBuffArray< ARG >:
+ Collaboration diagram for _ProcFun< FUN >:

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