WRApplication
External kratos "application" for multiscale time integration.
CompoundPipe< TInputPipe, TOutputPipe > Class Template Reference

A composable pipe that takes the output of one pipe and feeds its result into another. More...

Inheritance diagram for CompoundPipe< TInputPipe, TOutputPipe >:
Collaboration diagram for CompoundPipe< TInputPipe, TOutputPipe >:

Public Types

using InputPipe = TInputPipe
 
using OutputPipe = TOutputPipe
 
- Public Types inherited from Traits< TInputPipe::InputType, TOutputPipe::OutputType >
using InputType = TInputPipe::InputType
 cv-qualified argument type of operator() More...
 
using OutputType = TOutputPipe::OutputType
 qualified return type of operator() More...
 

Public Member Functions

 CompoundPipe ()
 Default construct the input- and output pipes. More...
 
 CompoundPipe (CompoundPipe &&rOther) noexcept=default
 Move construct the input- and output pipes. More...
 
 CompoundPipe (const CompoundPipe &rOther)=default
 Copy construct the input- and output pipes. More...
 
template<class TInPipe = TInputPipe, class TOutPipe = TOutputPipe>
 CompoundPipe (const Parameters &rParameters, std::enable_if_t< std::is_constructible_v< TInPipe, Parameters > &&std::is_constructible_v< TOutPipe, Parameters >> *=0)
 Construct from a Parameters object. More...
 
 CompoundPipe (TInputPipe &&rInputPipe, TOutputPipe &&rOutputPipe) noexcept
 Move construct the input- and output pipes. More...
 
 CompoundPipe (const TInputPipe &rInputPipe, const TOutputPipe &rOutputPipe)
 Copy construct the input- and output pipes. More...
 
CompoundPipe::OutputType operator() (typename CompoundPipe::InputType Input) const
 Feed the result of the input pipe into the output pipe. More...
 

Static Public Member Functions

static Parameters GetDefaultParameters () noexcept
 Return an array of subparameters, containing the defaults for each pipe segment in order. More...
 

Detailed Description

template<class TInputPipe, class TOutputPipe>
class Kratos::Pipes::CompoundPipe< TInputPipe, TOutputPipe >

A composable pipe that takes the output of one pipe and feeds its result into another.

Template Parameters
TInputPipeinput pipe type (left hand side).
TOutputPipeoutput pipe type (right hand side).

CompoundPipe can be constructed by copying or moving its input- and output pipes, which are stored by value in the resulting CompoundPipe.

Member Typedef Documentation

◆ InputPipe

using InputPipe = TInputPipe

◆ OutputPipe

using OutputPipe = TOutputPipe

Constructor & Destructor Documentation

◆ CompoundPipe() [1/6]

Default construct the input- and output pipes.

◆ CompoundPipe() [2/6]

CompoundPipe ( CompoundPipe< TInputPipe, TOutputPipe > &&  rOther)
defaultnoexcept

Move construct the input- and output pipes.

◆ CompoundPipe() [3/6]

CompoundPipe ( const CompoundPipe< TInputPipe, TOutputPipe > &  rOther)
default

Copy construct the input- and output pipes.

◆ CompoundPipe() [4/6]

CompoundPipe ( const Parameters &  rParameters,
std::enable_if_t< std::is_constructible_v< TInPipe, Parameters > &&std::is_constructible_v< TOutPipe, Parameters >> *  = 0 
)

Construct from a Parameters object.

Parameters
rParametersParameters consisting of a list of subparameters for constructing the nested pipes.
[
{...},
...
{...}
]

Enabled only if both the input- and the output pipes are constructible from a Parameters instance.

◆ CompoundPipe() [5/6]

CompoundPipe ( TInputPipe &&  rInputPipe,
TOutputPipe &&  rOutputPipe 
)
noexcept

Move construct the input- and output pipes.

◆ CompoundPipe() [6/6]

CompoundPipe ( const TInputPipe &  rInputPipe,
const TOutputPipe &  rOutputPipe 
)

Copy construct the input- and output pipes.

Member Function Documentation

◆ GetDefaultParameters()

static Parameters GetDefaultParameters ( )
staticnoexcept

Return an array of subparameters, containing the defaults for each pipe segment in order.

◆ operator()()

CompoundPipe::OutputType operator() ( typename CompoundPipe< TInputPipe, TOutputPipe >::InputType  Input) const

Feed the result of the input pipe into the output pipe.


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