|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Fan-out sink that forwards every frame to several sinks. More...
#include <ca-frame-stream.H>
Public Member Functions | |
| Composite_Frame_Sink (Sinks... sinks) | |
| Construct the composite sink. | |
| template<std::size_t I> | |
| auto & | get () noexcept |
Return child sink I. | |
| template<std::size_t I> | |
| const auto & | get () const noexcept |
Return child sink I. | |
| template<typename Lattice > | |
| void | accept (const std::size_t step, const Lattice &frame) |
| Forward a frame to every child sink. | |
| void | flush () |
| Flush every child sink in tuple order. | |
Private Attributes | |
| std::tuple< Sinks... > | sinks_ |
Fan-out sink that forwards every frame to several sinks.
Composite_Frame_Sink owns its child sinks and forwards accept() and flush() in tuple order. It is useful when a simulation should emit, for example, PNG frames, an HTML player and a terminal preview from one traversal.
| Sinks | concrete sink types. |
Definition at line 232 of file ca-frame-stream.H.
|
inlineexplicit |
Construct the composite sink.
| [in] | sinks | child sinks moved into the composite. |
Definition at line 240 of file ca-frame-stream.H.
|
inline |
Forward a frame to every child sink.
| Lattice | frame type. |
| [in] | step | simulation step. |
| [in] | frame | frame to forward. |
Definition at line 268 of file ca-frame-stream.H.
References Aleph::and, and Aleph::CA::Composite_Frame_Sink< Sinks >::sinks_.
|
inline |
Flush every child sink in tuple order.
Definition at line 279 of file ca-frame-stream.H.
References Aleph::CA::Composite_Frame_Sink< Sinks >::sinks_.
|
inlinenoexcept |
Return child sink I.
| I | tuple index. |
Definition at line 257 of file ca-frame-stream.H.
References Aleph::CA::Composite_Frame_Sink< Sinks >::sinks_.
|
inlinenoexcept |
Return child sink I.
| I | tuple index. |
Definition at line 247 of file ca-frame-stream.H.
References Aleph::CA::Composite_Frame_Sink< Sinks >::sinks_.
|
private |
Definition at line 234 of file ca-frame-stream.H.
Referenced by Aleph::CA::Composite_Frame_Sink< Sinks >::accept(), Aleph::CA::Composite_Frame_Sink< Sinks >::flush(), Aleph::CA::Composite_Frame_Sink< Sinks >::get(), and Aleph::CA::Composite_Frame_Sink< Sinks >::get().