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

pocolog_cpp::Stream::Stream ( std::istream &  input,
StreamType  type = UnknownStreamType,
size_t  index = Input::nstream 
)
inlineprotected
pocolog_cpp::Stream::~Stream ( )
inlinevirtual
pocolog_cpp::Stream::Stream ( const StreamDescription desc,
pocolog_cpp::Index index 
)
protected
virtual pocolog_cpp::Stream::~Stream ( )
virtual

Member Function Documentation

size_t pocolog_cpp::Stream::getBeginPos ( ) const
inline
size_t pocolog_cpp::Stream::getDataSize ( ) const
inline
size_t pocolog_cpp::Stream::getEndPos ( ) const
inline
Index& pocolog_cpp::Stream::getFileIndex ( ) const
inline
const base::Time& pocolog_cpp::Stream::getFistSampleTime ( ) const
inline
size_t pocolog_cpp::Stream::getIndex ( ) const
inline
size_t pocolog_cpp::Stream::getIndex ( ) const
inline
std::istream& pocolog_cpp::Stream::getInputStream ( )
inlineprotected
const base::Time& pocolog_cpp::Stream::getLastSampleTime ( ) const
inline
std::string pocolog_cpp::Stream::getName ( ) const
inline
bool pocolog_cpp::Stream::getSampleData ( std::vector< uint8_t > &  result,
size_t  sampleNr 
)
size_t pocolog_cpp::Stream::getSize ( ) const
inline
size_t pocolog_cpp::Stream::getSize ( ) const
inline
StreamType pocolog_cpp::Stream::getStreamType ( ) const
inline
StreamType pocolog_cpp::Stream::getType ( ) const
inline
std::string pocolog_cpp::Stream::getTypeName ( ) const
inline
bool pocolog_cpp::Stream::isValid ( ) const
inline
bool pocolog_cpp::Stream::isValid ( ) const
inline
bool pocolog_cpp::Stream::loadSampleHeader ( std::streampos  pos,
pocolog_cpp::SampleHeaderData header 
)
protected
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

virtual BlockHeader pocolog_cpp::Stream::newDataBlock ( BlockHeader  header)
protectedpure virtual
template<typename T >
bool pocolog_cpp::Stream::readSample ( T &  sample,
size_t  sampleNr 
)
inline

Friends And Related Function Documentation

friend class Input
friend

Member Data Documentation

const StreamDescription& pocolog_cpp::Stream::desc
protected
FileStream pocolog_cpp::Stream::fileStream
protected
Index& pocolog_cpp::Stream::index
protected

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