WRApplication
External kratos "application" for multiscale time integration.
pipe.hpp File Reference
Include dependency graph for pipe.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Traits< TInput, TOutput >
 Metaclass containing type information every pipe must inherit from. More...
 
class  CompoundPipe< TInputPipe, TOutputPipe >
 A composable pipe that takes the output of one pipe and feeds its result into another. More...
 
class  SingleSegmentPipeline< TPipe >
 An adaptor class for pipelines consisting of a single segment. More...
 

Namespaces

 Kratos
 
 Kratos::Pipes
 Unix-inspired pipes in C++.
 

Typedefs

template<class TPipe >
using IsPipe = std::integral_constant< bool, std::is_same_v< decltype(std::declval< const TPipe >().operator()(std::declval< typename TPipe::InputType >())), typename TPipe::OutputType > &&!std::is_same_v< typename TPipe::InputType, void > &&!std::is_same_v< typename TPipe::OutputType, void > >
 Bool constant checking whether TPipe satisfies the requirements of a pipe. More...
 
template<class ... TPipes>
using Pipeline = decltype((...|std::declval< TPipes >()))
 Convenience type alias for complex pipes. More...
 

Functions

template<class TInput , class TPipe , std::enable_if_t< IsPipe< TPipe >::value &&std::is_convertible_v< TInput, typename TPipe::InputType >, bool > = true>
TPipe::OutputType operator>> (TInput &&rInput, const TPipe &rPipe)
 Operator for calling operator() of the pipe. More...
 
template<class TInputPipe , class TOutputPipe , std::enable_if_t< IsPipe< TInputPipe >::value &&IsPipe< TOutputPipe >::value, bool > = true>
CompoundPipe< TInputPipe, TOutputPipe > operator| (TInputPipe &&rInputPipe, TOutputPipe &&rOutputPipe)
 Construct a pipe that takes the output of an input pipe and feeds it into an output pipe. More...
 
template<class TInputPipe , class TOutputPipe , std::enable_if_t< IsPipe< TInputPipe >::value &&IsPipe< TOutputPipe >::value, bool > = true>
CompoundPipe< TInputPipe, TOutputPipe > operator| (const TInputPipe &rInputPipe, const TOutputPipe &rOutputPipe)
 Construct a pipe that takes the output of an input pipe and feeds it into an output pipe. More...