fast::DataStream class

Object for iterating through a data stream coming from a pipeline.

Base classes

class Object
Base class for all FAST objects.

Constructors, destructors, conversion operators

DataStream(std::vector<std::shared_ptr<ProcessObject>> processObjects) explicit
DataStream(std::shared_ptr<ProcessObject> processObject) explicit

Public functions

template<typename DataType>
auto getNextFrame(uint portID = 0) -> std::shared_ptr<DataType>
auto isDone() -> bool

Protected functions

auto getNextDataObject(uint portID) -> std::shared_ptr<DataObject>

Protected variables

std::vector<std::shared_ptr<ProcessObject>> m_processObjects
std::vector<std::shared_ptr<DataChannel>> m_outputPorts
std::map<uint, std::shared_ptr<DataObject>> m_nextDataObjects
bool m_done
int m_executeToken

Function documentation

fast::DataStream::DataStream(std::vector<std::shared_ptr<ProcessObject>> processObjects) explicit

Parameters
processObjects

Create a data stream of multiple process objects

fast::DataStream::DataStream(std::shared_ptr<ProcessObject> processObject) explicit

Parameters
processObject

Creat a data stream of a single process objects

template<typename DataType>
std::shared_ptr<DataType> fast::DataStream::getNextFrame(uint portID = 0)

Get next data object from the data stream

bool fast::DataStream::isDone()

True if stream is done. This happens if any of the data objects are marked as being the "last frame".