One transformation in a Pipeline. More...
#include <StormByte/buffer/pipe.hxx>


Public Member Functions | |
| Pipe (const Pipe &other) | |
| Copy constructor. | |
| Pipe (Pipe &&other) noexcept | |
| Move constructor. | |
| virtual | ~Pipe () noexcept |
| Virtual destructor. | |
| Pipe & | operator= (const Pipe &other) |
| Copy assignment. | |
| Pipe & | operator= (Pipe &&other) noexcept |
| Move assignment. | |
| virtual void | Run (ReadOnly &in, WriteOnly &out, const StormByte::Shared< StormByte::Logger::Log > &log)=0 |
| Run this pipe. | |
| PointerType | Clone () const noexcept override=0 |
| Polymorphic copy. | |
| PointerType | Move () noexcept override=0 |
| Polymorphic move. | |
Public Member Functions inherited from StormByte::Clonable< Pipe, StormByte::Unique< Pipe > > | |
| constexpr | Clonable ()=default |
| constexpr | Clonable (const Clonable &)=default |
| constexpr | Clonable (Clonable &&) noexcept=default |
| constexpr Clonable & | operator= (const Clonable &)=default |
| constexpr Clonable & | operator= (Clonable &&) noexcept=default |
| virtual constexpr | ~Clonable () noexcept=default |
Protected Member Functions | |
| Pipe () noexcept=default | |
| Construct an abstract pipe. | |
Additional Inherited Members | |
Public Types inherited from StormByte::Clonable< Pipe, StormByte::Unique< Pipe > > | |
| typedef SmartPointer | PointerType |
Static Public Member Functions inherited from StormByte::Clonable< Pipe, StormByte::Unique< Pipe > > | |
| static PointerType | MakePointer (Args &&... args) |
One transformation in a Pipeline.
A leaf implements Run, Clone and Move. Pipeline stores the Unique that Clone / Move return. Allocation is on Base's heap.
| StormByte::Buffer::Pipe::Pipe | ( | const Pipe & | other | ) |
Copy constructor.
Defined in this module.
| other | Instance to copy. |
|
noexcept |
Move constructor.
Defined in this module.
| other | Instance to take from. |
|
virtualnoexcept |
Virtual destructor.
Out-of-line for the DLL boundary.
|
protecteddefaultnoexcept |
Construct an abstract pipe.
|
overridepure virtualnoexcept |
Polymorphic copy.
Allocated on Base's heap.
Implements StormByte::Clonable< Pipe, StormByte::Unique< Pipe > >.
|
overridepure virtualnoexcept |
Polymorphic move.
Allocated on Base's heap.
Implements StormByte::Clonable< Pipe, StormByte::Unique< Pipe > >.
Copy assignment.
Defined in this module.
| other | Instance to copy. |
Move assignment.
Defined in this module.
| other | Instance to take from. |
|
pure virtual |