pocolog_cpp
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
pocolog_cpp::Stream Class Referenceabstract

#include <Read.hpp>

Inheritance diagram for pocolog_cpp::Stream:
pocolog_cpp::ControlStream pocolog_cpp::DataStream pocolog_cpp::InputDataStream

Public Member Functions

virtual ~Stream ()
 
bool isValid () const
 
StreamType getType () const
 
size_t getIndex () const
 
size_t getBeginPos () const
 
size_t getEndPos () const
 
size_t getSize () const
 
size_t getDataSize () const
 
virtual ~Stream ()
 
bool isValid () const
 
std::string getName () const
 
std::string getTypeName () const
 
StreamType getStreamType () const
 
const base::Time & getFistSampleTime () const
 
const base::Time & getLastSampleTime () const
 
size_t getIndex () const
 
IndexgetFileIndex () const
 
size_t getSize () const
 
bool getSampleData (std::vector< uint8_t > &result, size_t sampleNr)
 
template<typename T >
bool readSample (T &sample, size_t sampleNr)
 

Protected Member Functions

 Stream (std::istream &input, StreamType type=UnknownStreamType, size_t index=Input::nstream)
 
virtual BlockHeader newDataBlock (BlockHeader header)=0
 
void newBlockAt (size_t pos, size_t size)
 
std::istream & getInputStream ()
 
 Stream (const StreamDescription &desc, Index &index)
 
bool loadSampleHeader (std::streampos pos, pocolog_cpp::SampleHeaderData &header)
 

Protected Attributes

const StreamDescriptiondesc
 
Indexindex
 
FileStream fileStream
 

Friends

class Input
 

Constructor & Destructor Documentation

◆ Stream() [1/2]

pocolog_cpp::Stream::Stream ( std::istream &  input,
StreamType  type = UnknownStreamType,
size_t  index = Input::nstream 
)
inlineprotected

◆ ~Stream() [1/2]

pocolog_cpp::Stream::~Stream ( )
inlinevirtual

◆ Stream() [2/2]

pocolog_cpp::Stream::Stream ( const StreamDescription desc,
pocolog_cpp::Index index 
)
protected

◆ ~Stream() [2/2]

virtual pocolog_cpp::Stream::~Stream ( )
virtual

Member Function Documentation

◆ getBeginPos()

size_t pocolog_cpp::Stream::getBeginPos ( ) const
inline

◆ getDataSize()

size_t pocolog_cpp::Stream::getDataSize ( ) const
inline

◆ getEndPos()

size_t pocolog_cpp::Stream::getEndPos ( ) const
inline

◆ getFileIndex()

Index& pocolog_cpp::Stream::getFileIndex ( ) const
inline

◆ getFistSampleTime()

const base::Time& pocolog_cpp::Stream::getFistSampleTime ( ) const
inline

◆ getIndex() [1/2]

size_t pocolog_cpp::Stream::getIndex ( ) const
inline

◆ getIndex() [2/2]

size_t pocolog_cpp::Stream::getIndex ( ) const
inline

◆ getInputStream()

std::istream& pocolog_cpp::Stream::getInputStream ( )
inlineprotected

◆ getLastSampleTime()

const base::Time& pocolog_cpp::Stream::getLastSampleTime ( ) const
inline

◆ getName()

std::string pocolog_cpp::Stream::getName ( ) const
inline

◆ getSampleData()

bool pocolog_cpp::Stream::getSampleData ( std::vector< uint8_t > &  result,
size_t  sampleNr 
)

◆ getSize() [1/2]

size_t pocolog_cpp::Stream::getSize ( ) const
inline

◆ getSize() [2/2]

size_t pocolog_cpp::Stream::getSize ( ) const
inline

◆ getStreamType()

StreamType pocolog_cpp::Stream::getStreamType ( ) const
inline

◆ getType()

StreamType pocolog_cpp::Stream::getType ( ) const
inline

◆ getTypeName()

std::string pocolog_cpp::Stream::getTypeName ( ) const
inline

◆ isValid() [1/2]

bool pocolog_cpp::Stream::isValid ( ) const
inline

◆ isValid() [2/2]

bool pocolog_cpp::Stream::isValid ( ) const
inline

◆ loadSampleHeader()

bool pocolog_cpp::Stream::loadSampleHeader ( std::streampos  pos,
pocolog_cpp::SampleHeaderData header 
)
protected

◆ newBlockAt()

void pocolog_cpp::Stream::newBlockAt ( size_t  pos,
size_t  size 
)
inlineprotected

Subclasses call that in their newBlock implementation to update the begin and end positions

◆ newDataBlock()

virtual BlockHeader pocolog_cpp::Stream::newDataBlock ( BlockHeader  header)
protectedpure virtual

◆ readSample()

template<typename T >
bool pocolog_cpp::Stream::readSample ( T &  sample,
size_t  sampleNr 
)
inline

Friends And Related Function Documentation

◆ Input

friend class Input
friend

Member Data Documentation

◆ desc

const StreamDescription& pocolog_cpp::Stream::desc
protected

◆ fileStream

FileStream pocolog_cpp::Stream::fileStream
protected

◆ index

Index& pocolog_cpp::Stream::index
protected

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