My Project
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
found::Stage< Input, Output > Class Template Referenceabstract

#include <pipeline.hpp>

Inheritance diagram for found::Stage< Input, Output >:
Inheritance graph
[legend]
Collaboration diagram for found::Stage< Input, Output >:
Collaboration graph
[legend]

Public Member Functions

 Stage ()=default
 
virtual ~Stage ()=default
 
virtual Output Run (const Input &input)=0
 
void DoAction () override
 
Input & GetResource ()
 
Output *& GetProduct ()
 

Protected Attributes

Input resource
 The stored input for this.
 
Output * product
 The pointer to the stored output for this.
 

Detailed Description

template<typename Input, typename Output>
class found::Stage< Input, Output >

A Stage is a data structure that wraps a function, and taking in parameter Input and returning Output

Parameters
InputThe parameter to accept to the Run function
OutputThe parameter to return from the Run function

Constructor & Destructor Documentation

◆ Stage()

template<typename Input , typename Output >
found::Stage< Input, Output >::Stage ( )
default

Constructs a new Stage

◆ ~Stage()

template<typename Input , typename Output >
virtual found::Stage< Input, Output >::~Stage ( )
virtualdefault

Destroys this

Member Function Documentation

◆ DoAction()

template<typename Input , typename Output >
void found::Stage< Input, Output >::DoAction ( )
inlineoverridevirtual

Executes Run (with a stored input and storing the output)

Implements found::Action.

◆ GetProduct()

template<typename Input , typename Output >
Output *& found::Stage< Input, Output >::GetProduct ( )
inline

Returns the stored output of this

Returns
The pointer to the stored output of this

◆ GetResource()

template<typename Input , typename Output >
Input & found::Stage< Input, Output >::GetResource ( )
inline

Returns the stored input of this

Returns
The stored input of this

◆ Run()

template<typename Input , typename Output >
virtual Output found::Stage< Input, Output >::Run ( const Input &  input)
pure virtual

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