![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Stream/CompoundStreamData.h>
Container for StreamData from the individual Stream#s of a StreamGroup. More...
Container for StreamData from the individual Stream#s of a StreamGroup.
Using the CompoundStreamData interface enables StreamGroup#s to emit their StreamData of all streams bundled and simultaneously distribute the individual StreamData to the individual substreams at the same time.
The StreamGroup concept takes care of this distribution. In contrast to StreamData however, the CompoundStreamData interface cannot be emitted by the signal Stream::signalStreamData but with the signal StreamGroup::signalNewStreamGroupData with a single emission call.
Public Member Functions | |
CompoundStreamData (std::shared_ptr< const StreamData > proxyStreamData, std::vector< std::shared_ptr< const StreamData > > substreamsStreamData) | |
Construct a CompoundStreamData object with given StreamData for the proxy stream and it's substreams. | |
std::shared_ptr< const StreamData > | proxyStreamData () const |
Returns the StreamData of the proxy stream. This may be nullptr for an abstract proxy stream. | |
std::vector< std::shared_ptr< const StreamData > > | substreamsStreamData () const |
Returns all available StreamData of the substreams. | |
Protected Attributes | |
std::shared_ptr< const StreamData > | m_proxyStreamData = nullptr |
std::vector< std::shared_ptr< const StreamData > > | m_substreamsStreamData |
|
explicit |
Construct a CompoundStreamData object with given StreamData for the proxy stream and it's substreams.
The parameter proxyStreamData
may be nullptr for a StreamGroup with a proxy stream of the bass class type Stream. The parameter substreamsStreamData
may contain the individual StreamData for all or a subset of the substreams.
std::vector< std::shared_ptr< const StreamData > > substreamsStreamData | ( | ) | const |
Returns all available StreamData of the substreams.
It is not guaranteed to contain StreamData for all substreams (any subset is allowed).