ldas-tools-framecpp 3.0.4
 
Loading...
Searching...
No Matches
OStream Class Reference

#include <IOStream.hh>

Inheritance diagram for OStream:
Collaboration diagram for OStream:

Classes

class  Pointer
 

Public Types

typedef std::ostream ostream_type
 
typedef std::ostream ostream_type
 
typedef ostream_type::char_type char_type
 
typedef ostream_type::char_type char_type
 
typedef FrameBufferInterface buffer_type
 
typedef FrameBufferInterface buffer_type
 

Public Member Functions

 OStream (buffer_type *Buffer, bool AutoDelete=true)
 
 OStream (buffer_type *Buffer, bool AutoDelete=true)
 
virtual ~OStream ()
 
virtual ~OStream ()
 
void Compression (INT_2U &CompressionScheme, INT_2U &CompressionLevel)
 
void Compression (INT_2U &CompressionScheme, INT_2U &CompressionLevel)
 
INT_2U CompressionScheme () const
 
INT_2U CompressionScheme () const
 
INT_2U CompressionLevel () const
 
INT_2U CompressionLevel () const
 
template<typename Header>
const Header * GetFrHeader () const
 
template<typename Header>
const Header * GetFrHeader () const
 
virtual INT_4U GetTOCChecksum () const
 
virtual INT_4U GetTOCChecksum () const
 
virtual INT_8U GetTOCOffset () const
 
virtual INT_8U GetTOCOffset () const
 
void Next (object_type Obj, object_type NextObj)
 
object_type Next (object_type Obj) const
 
void Next (object_type Obj, object_type NextObj)
 
object_type Next (object_type Obj) const
 
const PTR_STRUCT_BASE & Reference (object_type Obj) const
 
const PTR_STRUCT_BASE & Reference (object_type Obj) const
 
OStreamwrite (const char_type *S, std::streamsize N)
 
OStreamwrite (const char_type *S, std::streamsize N)
 
object_type Pop ()
 Get an object from the output queue.
 
object_type Pop ()
 Get an object from the output queue.
 
void PushSingle (object_type Obj)
 Append an object to the output queue.
 
void PushSingle (object_type Obj)
 Append an object to the output queue.
 
template<typename Iter>
void PushMulti (Iter Start, Iter End, size_t Size)
 Append multiple objects to the output queue.
 
template<typename Iter>
void PushMulti (Iter Start, Iter End, size_t Size)
 Append multiple objects to the output queue.
 
const Common::PTR_STRUCT_BASE & NextPtrStruct (object_type Cur) const
 Create a PTR_STRUCT for next object.
 
const Common::PTR_STRUCT_BASE & NextPtrStruct (const object_type::element_type *Cur) const
 Create a PTR_STRUCT for next object.
 
const Common::PTR_STRUCT_BASE & NextPtrStruct (object_type Cur) const
 Create a PTR_STRUCT for next object.
 
const Common::PTR_STRUCT_BASE & NextPtrStruct (const object_type::element_type *Cur) const
 Create a PTR_STRUCT for next object.
 
virtual INT_4U GetNumberOfFrames () const
 
virtual INT_4U GetNumberOfFrames () const
 
OStreamoperator<< (object_type Data)
 
OStreamoperator<< (Pointer Data)
 
template<typename T, const std::string &(T::*)() const F>
OStreamoperator<< (const SearchContainer< T, F > &SC)
 
template<typename T>
OStreamoperator<< (const Container< T > &C)
 
template<typename L>
OStreamoperator<< (const STRING< L > &String)
 
template<typename L>
OStreamoperator<< (const STRING_SHADOW< L > &String)
 
template<typename L>
OStreamoperator<< (const std::vector< STRING< L > > &Strings)
 
template<typename DT>
OStreamoperator<< (const std::vector< DT > &N)
 
template<typename DT>
OStreamoperator<< (const DT &N)
 
OStreamoperator<< (object_type Data)
 
OStreamoperator<< (Pointer Data)
 
template<typename T, const std::string &(T::*)() const F>
OStreamoperator<< (const SearchContainer< T, F > &SC)
 
template<typename T>
OStreamoperator<< (const Container< T > &C)
 
template<typename L>
OStreamoperator<< (const STRING< L > &String)
 
template<typename L>
OStreamoperator<< (const STRING_SHADOW< L > &String)
 
template<typename L>
OStreamoperator<< (const std::vector< STRING< L > > &Strings)
 
template<typename DT>
OStreamoperator<< (const std::vector< DT > &N)
 
template<typename DT>
OStreamoperator<< (const DT &N)
 
template<>
OStreamoperator<< (const LDASTools::AL::GPSTime &Data)
 
template<>
OStreamoperator<< (const LDASTools::AL::GPSTime &Data)
 
buffer_typerdbuf () const
 
buffer_typerdbuf () const
 
CheckSumFilterGetCheckSumFile () const
 
CheckSumFilterGetCheckSumFile () const
 
void SetCheckSumFile (const CheckSum::kind_type Type)
 
void SetCheckSumFile (const CheckSum::kind_type Type)
 
CheckSumFilterGetCheckSumFrame () const
 
CheckSumFilterGetCheckSumFrame () const
 
void SetCheckSumFrame (const CheckSum::kind_type Type)
 
void SetCheckSumFrame (const CheckSum::kind_type Type)
 
CheckSumFilterGetCheckSumObject () const
 
CheckSumFilterGetCheckSumObject () const
 
void SetCheckSumObject (const CheckSum::kind_type Type)
 
void SetCheckSumObject (const CheckSum::kind_type Type)
 

Protected Types

typedef FrameSpec::ObjectInterface::unique_object_type unique_object_type
 
typedef FrameSpec::ObjectInterface::unique_object_type unique_object_type
 

Protected Member Functions

void setFrHeader (unique_object_type &Obj)
 
void setFrHeader (unique_object_type &Obj)
 
void setAutoDeleteBuffer (const bool Value)
 Establish if the buffer is to be released with the Stream.
 
void setAutoDeleteBuffer (const bool Value)
 Establish if the buffer is to be released with the Stream.
 

Private Types

typedef std::unique_ptr< buffer_typebuffer_ptr_type
 
typedef std::unique_ptr< buffer_typebuffer_ptr_type
 
typedef std::list< object_typeobject_queue_type
 
typedef std::list< object_typeobject_queue_type
 

Private Member Functions

template<typename T>
const FrameSpec::Objectobject_ptr (boost::shared_ptr< T > Obj)
 
template<typename T>
const FrameSpec::Objectobject_ptr (const T *Obj)
 
template<typename T>
const FrameSpec::Objectobject_ptr (boost::shared_ptr< T > Obj)
 
template<typename T>
const FrameSpec::Objectobject_ptr (const T *Obj)
 
template<>
const FrameSpec::Objectobject_ptr (const FrStatData *Obj)
 
template<>
const FrameSpec::Objectobject_ptr (const FrStatData *Obj)
 

Private Attributes

unique_object_type m_file_header
 
buffer_ptr_type m_buffer
 
bool m_buffer_auto_delete
 
bool m_filter_internally
 
object_queue_type m_write_objects
 
object_queue_type::iterator m_write_objects_pos
 
INT_2U m_compression_scheme
 
INT_2U m_compression_level
 

Member Typedef Documentation

◆ buffer_ptr_type [1/2]

typedef std::unique_ptr< buffer_type > FrameCPP::Common::OStream::buffer_ptr_type
private

◆ buffer_ptr_type [2/2]

typedef std::unique_ptr< buffer_type > FrameCPP::Common::OStream::buffer_ptr_type
private

◆ buffer_type [1/2]

typedef FrameBufferInterface FrameCPP::Common::OStream::buffer_type

◆ buffer_type [2/2]

typedef FrameBufferInterface FrameCPP::Common::OStream::buffer_type

◆ char_type [1/2]

typedef ostream_type::char_type FrameCPP::Common::OStream::char_type

◆ char_type [2/2]

typedef ostream_type::char_type FrameCPP::Common::OStream::char_type

◆ object_queue_type [1/2]

◆ object_queue_type [2/2]

◆ ostream_type [1/2]

◆ ostream_type [2/2]

◆ unique_object_type [1/2]

◆ unique_object_type [2/2]

Constructor & Destructor Documentation

◆ OStream() [1/2]

FrameCPP::Common::OStream::OStream ( buffer_type * Buffer,
bool AutoDelete = true )
inline

◆ OStream() [2/2]

FrameCPP::Common::OStream::OStream ( buffer_type * Buffer,
bool AutoDelete = true )

◆ ~OStream() [1/2]

FrameCPP::Common::OStream::~OStream ( )
inlinevirtual

◆ ~OStream() [2/2]

virtual FrameCPP::Common::OStream::~OStream ( )
virtual

Member Function Documentation

◆ Compression() [1/2]

void FrameCPP::Common::OStream::Compression ( INT_2U & CompressionScheme,
INT_2U & CompressionLevel )
inline

param[in,out] CompressionScheme param[in,out] CompressionType

◆ Compression() [2/2]

void FrameCPP::Common::OStream::Compression ( INT_2U & CompressionScheme,
INT_2U & CompressionLevel )

param[in,out] CompressionScheme param[in,out] CompressionType

◆ CompressionLevel() [1/2]

INT_2U FrameCPP::Common::OStream::CompressionLevel ( ) const
inline

◆ CompressionLevel() [2/2]

INT_2U FrameCPP::Common::OStream::CompressionLevel ( ) const

◆ CompressionScheme() [1/2]

INT_2U FrameCPP::Common::OStream::CompressionScheme ( ) const
inline

◆ CompressionScheme() [2/2]

INT_2U FrameCPP::Common::OStream::CompressionScheme ( ) const

◆ GetCheckSumFile() [1/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFile ( ) const
inline

◆ GetCheckSumFile() [2/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFile ( ) const

◆ GetCheckSumFrame() [1/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFrame ( ) const
inline

◆ GetCheckSumFrame() [2/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFrame ( ) const

◆ GetCheckSumObject() [1/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumObject ( ) const
inline

◆ GetCheckSumObject() [2/2]

CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumObject ( ) const

◆ GetFrHeader() [1/2]

template<typename Header>
const Header * FrameCPP::Common::OStream::GetFrHeader ( ) const
inline

◆ GetFrHeader() [2/2]

template<typename Header>
const Header * FrameCPP::Common::OStream::GetFrHeader ( ) const

◆ GetNumberOfFrames() [1/2]

INT_4U FrameCPP::Common::OStream::GetNumberOfFrames ( ) const
inlinevirtual

◆ GetNumberOfFrames() [2/2]

virtual INT_4U FrameCPP::Common::OStream::GetNumberOfFrames ( ) const
virtual

◆ GetTOCChecksum() [1/2]

INT_4U FrameCPP::Common::OStream::GetTOCChecksum ( ) const
virtual

◆ GetTOCChecksum() [2/2]

virtual INT_4U FrameCPP::Common::OStream::GetTOCChecksum ( ) const
virtual

◆ GetTOCOffset() [1/2]

INT_8U FrameCPP::Common::OStream::GetTOCOffset ( ) const
virtual

◆ GetTOCOffset() [2/2]

virtual INT_8U FrameCPP::Common::OStream::GetTOCOffset ( ) const
virtual

◆ Next() [1/4]

OStream::object_type FrameCPP::Common::OStream::Next ( object_type Obj) const

◆ Next() [2/4]

object_type FrameCPP::Common::OStream::Next ( object_type Obj) const

◆ Next() [3/4]

void FrameCPP::Common::OStream::Next ( object_type Obj,
object_type NextObj )

◆ Next() [4/4]

void FrameCPP::Common::OStream::Next ( object_type Obj,
object_type NextObj )

◆ NextPtrStruct() [1/4]

const PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( const object_type::element_type * Cur) const

Create a PTR_STRUCT for next object.

◆ NextPtrStruct() [2/4]

const Common::PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( const object_type::element_type * Cur) const

Create a PTR_STRUCT for next object.

◆ NextPtrStruct() [3/4]

const PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( object_type Cur) const

Create a PTR_STRUCT for next object.

◆ NextPtrStruct() [4/4]

const Common::PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( object_type Cur) const

Create a PTR_STRUCT for next object.

◆ object_ptr() [1/6]

template<typename T>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( boost::shared_ptr< T > Obj)
inlineprivate

◆ object_ptr() [2/6]

template<typename T>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( boost::shared_ptr< T > Obj)
private

◆ object_ptr() [3/6]

template<>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( const FrStatData * Obj)
inlineprivate

◆ object_ptr() [4/6]

template<>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( const FrStatData * Obj)
inlineprivate

◆ object_ptr() [5/6]

template<typename T>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( const T * Obj)
private

◆ object_ptr() [6/6]

template<typename T>
const FrameSpec::Object * FrameCPP::Common::OStream::object_ptr ( const T * Obj)
private

◆ operator<<() [1/20]

template<typename T>
OStream & FrameCPP::Common::OStream::operator<< ( const Container< T > & C)
inline

◆ operator<<() [2/20]

template<typename T>
OStream & FrameCPP::Common::OStream::operator<< ( const Container< T > & C)
inline

◆ operator<<() [3/20]

template<typename DT>
OStream & FrameCPP::Common::OStream::operator<< ( const DT & N)
inline

◆ operator<<() [4/20]

template<typename DT>
OStream & FrameCPP::Common::OStream::operator<< ( const DT & N)

◆ operator<<() [5/20]

template<>
OStream & FrameCPP::Common::OStream::operator<< ( const LDASTools::AL::GPSTime & Data)
inline

◆ operator<<() [6/20]

template<>
OStream & FrameCPP::Common::OStream::operator<< ( const LDASTools::AL::GPSTime & Data)
inline

◆ operator<<() [7/20]

template<typename T, const std::string &(T::*)() const F>
OStream & FrameCPP::Common::OStream::operator<< ( const SearchContainer< T, F > & SC)
inline

◆ operator<<() [8/20]

template<typename T, const std::string &(T::*)() const F>
OStream & FrameCPP::Common::OStream::operator<< ( const SearchContainer< T, F > & SC)
inline

◆ operator<<() [9/20]

template<typename DT>
OStream & FrameCPP::Common::OStream::operator<< ( const std::vector< DT > & N)
inline

◆ operator<<() [10/20]

template<typename DT>
OStream & FrameCPP::Common::OStream::operator<< ( const std::vector< DT > & N)

◆ operator<<() [11/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const std::vector< STRING< L > > & Strings)
inline

◆ operator<<() [12/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const std::vector< STRING< L > > & Strings)
inline

◆ operator<<() [13/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const STRING< L > & String)
inline

◆ operator<<() [14/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const STRING< L > & String)
inline

◆ operator<<() [15/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const STRING_SHADOW< L > & String)
inline

◆ operator<<() [16/20]

template<typename L>
OStream & FrameCPP::Common::OStream::operator<< ( const STRING_SHADOW< L > & String)
inline

◆ operator<<() [17/20]

OStream & FrameCPP::Common::OStream::operator<< ( object_type Data)
inline
Todo
support MD5Sum

◆ operator<<() [18/20]

OStream & FrameCPP::Common::OStream::operator<< ( object_type Data)
Todo
support MD5Sum

◆ operator<<() [19/20]

OStream & FrameCPP::Common::OStream::operator<< ( Pointer Data)
inline

◆ operator<<() [20/20]

OStream & FrameCPP::Common::OStream::operator<< ( Pointer Data)

◆ Pop() [1/2]

OStream::object_type FrameCPP::Common::OStream::Pop ( )
inline

Get an object from the output queue.

Returns
The next object to be written to the stream.

This method retieves the next object to be written along with information indicating if the object should be deallocated once written.

◆ Pop() [2/2]

object_type FrameCPP::Common::OStream::Pop ( )

Get an object from the output queue.

Returns
The next object to be written to the stream.

◆ PushMulti() [1/2]

template<typename Iter>
void FrameCPP::Common::OStream::PushMulti ( Iter Start,
Iter End,
size_t Size )
inline

Append multiple objects to the output queue.

Parameters
[in]StartThe first element to be added to the queue.
[in]EndThe last element to be added to the queue.
[in]SizeThe number of elements to be added to the queue.

◆ PushMulti() [2/2]

template<typename Iter>
void FrameCPP::Common::OStream::PushMulti ( Iter Start,
Iter End,
size_t Size )
inline

Append multiple objects to the output queue.

Parameters
[in]StartThe first element to be added to the queue.
[in]EndThe last element to be added to the queue.
[in]SizeThe number of elements to be added to the queue.

◆ PushSingle() [1/2]

void FrameCPP::Common::OStream::PushSingle ( object_type Obj)
inline

Append an object to the output queue.

Parameters
[in]ObjThe object to be written.

This method adds an object to the queue of objects to be written. It preserves the order in which the objects should be written to the stream by keeping a local iterator indicating the point of insertion.

◆ PushSingle() [2/2]

void FrameCPP::Common::OStream::PushSingle ( object_type Obj)

Append an object to the output queue.

Parameters
[in]ObjThe object to be written.

◆ rdbuf() [1/2]

buffer_type * FrameCPP::Common::OStream::rdbuf ( ) const
inline

◆ rdbuf() [2/2]

buffer_type * FrameCPP::Common::OStream::rdbuf ( ) const
inline

◆ Reference() [1/2]

const PTR_STRUCT_BASE & FrameCPP::Common::OStream::Reference ( object_type Obj) const

◆ Reference() [2/2]

const PTR_STRUCT_BASE & FrameCPP::Common::OStream::Reference ( object_type Obj) const

◆ setAutoDeleteBuffer() [1/2]

void FrameCPP::Common::OStream::setAutoDeleteBuffer ( const bool Value)
inlineprotected

Establish if the buffer is to be released with the Stream.

Parameters
[in]ValueIf true, then the buffer will be released with the destruction of this instance. If false, then the buffer will exist even after the destruction of this instance.

◆ setAutoDeleteBuffer() [2/2]

void FrameCPP::Common::OStream::setAutoDeleteBuffer ( const bool Value)
protected

Establish if the buffer is to be released with the Stream.

Parameters
[in]ValueIf true, then the buffer will be released with the destruction of this instance. If false, then the buffer will exist even after the destruction of this instance.

◆ SetCheckSumFile() [1/2]

void FrameCPP::Common::OStream::SetCheckSumFile ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumFile() [2/2]

void FrameCPP::Common::OStream::SetCheckSumFile ( const CheckSum::kind_type Type)

◆ SetCheckSumFrame() [1/2]

void FrameCPP::Common::OStream::SetCheckSumFrame ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumFrame() [2/2]

void FrameCPP::Common::OStream::SetCheckSumFrame ( const CheckSum::kind_type Type)

◆ SetCheckSumObject() [1/2]

void FrameCPP::Common::OStream::SetCheckSumObject ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumObject() [2/2]

void FrameCPP::Common::OStream::SetCheckSumObject ( const CheckSum::kind_type Type)

◆ setFrHeader() [1/2]

void FrameCPP::Common::OStream::setFrHeader ( unique_object_type & Obj)
inlineprotected

◆ setFrHeader() [2/2]

void FrameCPP::Common::OStream::setFrHeader ( unique_object_type & Obj)
protected

◆ write() [1/2]

OStream & FrameCPP::Common::OStream::write ( const char_type * S,
std::streamsize N )
inline

◆ write() [2/2]

OStream & FrameCPP::Common::OStream::write ( const char_type * S,
std::streamsize N )

Member Data Documentation

◆ m_buffer

buffer_ptr_type FrameCPP::Common::OStream::m_buffer
private

◆ m_buffer_auto_delete

bool FrameCPP::Common::OStream::m_buffer_auto_delete
private

◆ m_compression_level

INT_2U FrameCPP::Common::OStream::m_compression_level
private

◆ m_compression_scheme

INT_2U FrameCPP::Common::OStream::m_compression_scheme
private

◆ m_file_header

unique_object_type FrameCPP::Common::OStream::m_file_header
private

◆ m_filter_internally

bool FrameCPP::Common::OStream::m_filter_internally
private

◆ m_write_objects

object_queue_type FrameCPP::Common::OStream::m_write_objects
private

◆ m_write_objects_pos

object_queue_type::iterator FrameCPP::Common::OStream::m_write_objects_pos
private

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