ldas-tools-framecpp 3.0.4
 
Loading...
Searching...
No Matches
FrameCPP::Version_6::IStream Class Reference

#include <IOStream.hh>

Inheritance diagram for FrameCPP::Version_6::IStream:
Collaboration diagram for FrameCPP::Version_6::IStream:

Classes

class  container_reference
 
class  ptr_reference
 
class  Resizer
 Manipulator class for input streams. More...
 
class  resolver
 
struct  smart_pointer_hash
 

Public Types

typedef std::istream::char_type char_type
 
typedef std::istream::char_type char_type
 
typedef std::istream istream_type
 
typedef std::istream istream_type
 
typedef FrameBufferInterface buffer_type
 
typedef FrameBufferInterface buffer_type
 

Public Member Functions

 IStream (buffer_type *Buffer, bool AutoDelete=true)
 
 IStream (buffer_type *Buffer, bool AutoDelete=true)
 
virtual ~IStream ()
 
virtual ~IStream ()
 
virtual void Cleanup ()
 
virtual void Cleanup ()
 
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)
 
virtual const FrHeaderGetFrHeader () const
 
virtual const FrHeaderGetFrHeader () const
 
Dictionary::ptr_struct_key_type NextLookup (object_type Obj) const
 
Dictionary::ptr_struct_key_type NextLookup (object_type Obj) const
 
void RemoveResolver (const void *Old, int MaxDepth)
 
void RemoveResolver (const void *Old, int MaxDepth)
 
template<typename T>
void PushPtr (boost::shared_ptr< T > *Obj)
 
template<typename T>
void PushPtr (boost::shared_ptr< T > *Obj)
 
template<typename T_NEW, typename T_OLD>
void ReplacePtr (boost::shared_ptr< T_NEW > *Obj, boost::shared_ptr< T_OLD > *OldPtr, const int MaxDepth)
 
template<typename T_NEW, typename T_OLD>
void ReplacePtr (boost::shared_ptr< T_NEW > *Obj, boost::shared_ptr< T_OLD > *OldPtr, const int MaxDepth)
 
template<typename T>
void PushRef (Container< T > &C)
 
template<typename T>
void PushRef (Container< T > &C)
 
template<typename T, typename OT>
void ReplaceRef (Container< T > &C, const Container< OT > &Old, const int MaxDepth)
 
template<typename T, typename OT>
void ReplaceRef (Container< T > &C, const Container< OT > &Old, const int MaxDepth)
 
FrameBufferInterface * rdbuf () const
 
FrameBufferInterface * rdbuf () const
 
IStreamread (char_type *S, std::streamsize N)
 
IStreamread (char_type *S, std::streamsize N)
 
virtual ptr_struct_base_type Next (object_type Obj)
 
virtual ptr_struct_base_type Next (object_type::element_type *Obj)
 
virtual ptr_struct_base_type Next (object_type Obj)
 
virtual ptr_struct_base_type Next (object_type::element_type *Obj)
 
ptr_struct_base_type ReadPtrStruct ()
 
ptr_struct_base_type ReadPtrStruct ()
 
void Resolve ()
 Method to resolve links.
 
void Resolve ()
 
cmn_streamsize_type Size ()
 Return the size of the stream.
 
cmn_streamsize_type Size ()
 Return the size of the stream.
 
template<typename T>
IStreamoperator>> (boost::shared_ptr< T > *Data)
 
template<typename T, const std::string &(T::*)() const F>
IStreamoperator>> (SearchContainer< T, F > &SC)
 
template<typename T>
IStreamoperator>> (Container< T > &C)
 
template<typename L>
IStreamoperator>> (STRING< L > &String)
 
template<typename L>
IStreamoperator>> (STRING_SHADOW< L > &String)
 
template<typename L>
IStreamoperator>> (std::vector< STRING< L > > &String)
 
template<typename DT>
IStreamoperator>> (std::vector< DT > &Data)
 
template<typename DT>
IStreamoperator>> (DT &Data)
 
template<typename T, typename S>
IStreamoperator>> (IStream::Resizer< T, S > Value)
 
template<typename T>
IStreamoperator>> (boost::shared_ptr< T > *Data)
 
template<typename T, const std::string &(T::*)() const F>
IStreamoperator>> (SearchContainer< T, F > &SC)
 
template<typename T>
IStreamoperator>> (Container< T > &C)
 
template<typename L>
IStreamoperator>> (STRING< L > &String)
 
template<typename L>
IStreamoperator>> (STRING_SHADOW< L > &String)
 
template<typename L>
IStreamoperator>> (std::vector< STRING< L > > &String)
 
template<typename DT>
IStreamoperator>> (std::vector< DT > &Data)
 
template<typename DT>
IStreamoperator>> (DT &Data)
 
template<typename T, typename S>
IStreamoperator>> (IStream::Resizer< T, S > Value)
 
template<>
IStreamoperator>> (LDASTools::AL::GPSTime &Data)
 
template<>
IStreamoperator>> (LDASTools::AL::GPSTime &Data)
 
bool ByteSwapping () const
 
bool ByteSwapping () const
 

Protected Types

typedef boost::shared_ptr< resolverresolver_type
 
typedef boost::shared_ptr< resolverresolver_type
 
typedef std::list< resolver_typeresolver_container_type
 
typedef std::list< resolver_typeresolver_container_type
 

Protected Member Functions

void nextReplace (object_type OldObj, object_type NewObj)
 
void nextReplace (object_type OldObj, object_type NewObj)
 
void byteSwapping (bool Value)
 
void byteSwapping (bool Value)
 
virtual void pushResolver (resolver_type Resolver)
 
virtual void pushResolver (resolver_type Resolver)
 
object_type objectLookup (object_type::element_type *Pointer)
 
object_type objectLookup (object_type::element_type *Pointer)
 
const resolver_container_typeresolverContainer () const
 
resolver_container_typeresolverContainer ()
 
const resolver_container_typeresolverContainer () const
 
resolver_container_typeresolverContainer ()
 
void setAutoDeleteBuffer (const bool Value)
 
void setAutoDeleteBuffer (const bool Value)
 

Protected Attributes

bool m_logNextPtr
 

Private Types

typedef LDASTools::AL::unordered_map< object_type, Dictionary::ptr_struct_key_type, smart_pointer_hash< object_type > > next_container_type
 Maintains information to reconstruct linked lists.
 
typedef LDASTools::AL::unordered_map< object_type, Dictionary::ptr_struct_key_type, smart_pointer_hash< object_type > > next_container_type
 Maintains information to reconstruct linked lists.
 
typedef LDASTools::AL::unordered_map< object_type::element_type *, object_type, LDASTools::AL::hash_pointer< object_type::element_type > > object_container_type
 
typedef LDASTools::AL::unordered_map< object_type::element_type *, object_type, LDASTools::AL::hash_pointer< object_type::element_type > > object_container_type
 
typedef std::unique_ptr< CheckSumFilterchecksum_filter_type
 
typedef std::unique_ptr< CheckSumFilterchecksum_filter_type
 
typedef std::unique_ptr< buffer_typebuffer_ptr_type
 
typedef std::unique_ptr< buffer_typebuffer_ptr_type
 

Private Attributes

bool stream_length_valid
 
cmn_streamsize_type stream_length
 
buffer_ptr_type m_buffer
 
bool m_buffer_auto_delete
 
bool m_filter_internally
 
next_container_type m_next_container
 
bool m_byte_swapping
 
resolver_container_type m_resolver_container
 
checksum_filter_type m_file_checksum
 
checksum_filter_type m_frame_checksum
 
checksum_filter_type m_obj_checksum
 
object_container_type m_objects
 

Member Typedef Documentation

◆ buffer_ptr_type [1/2]

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

◆ buffer_ptr_type [2/2]

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

◆ buffer_type [1/2]

typedef FrameBufferInterface FrameCPP::Common::IStream::buffer_type

◆ buffer_type [2/2]

typedef FrameBufferInterface FrameCPP::Common::IStream::buffer_type

◆ char_type [1/2]

typedef std::istream::char_type FrameCPP::Common::IStream::char_type

◆ char_type [2/2]

typedef std::istream::char_type FrameCPP::Common::IStream::char_type

◆ checksum_filter_type [1/2]

◆ checksum_filter_type [2/2]

◆ istream_type [1/2]

◆ istream_type [2/2]

◆ next_container_type [1/2]

Maintains information to reconstruct linked lists.

◆ next_container_type [2/2]

Maintains information to reconstruct linked lists.

◆ object_container_type [1/2]

typedef LDASTools::AL::unordered_map< object_type::element_type*, object_type, LDASTools::AL::hash_pointer< object_type::element_type > > FrameCPP::Common::IStream::object_container_type
private

◆ object_container_type [2/2]

typedef LDASTools::AL::unordered_map< object_type::element_type*, object_type, LDASTools::AL::hash_pointer< object_type::element_type > > FrameCPP::Common::IStream::object_container_type
private

◆ resolver_container_type [1/2]

◆ resolver_container_type [2/2]

◆ resolver_type [1/2]

typedef boost::shared_ptr< resolver > FrameCPP::Common::IStream::resolver_type
protected

◆ resolver_type [2/2]

typedef boost::shared_ptr< resolver > FrameCPP::Common::IStream::resolver_type
protected

Constructor & Destructor Documentation

◆ IStream() [1/2]

IStream::IStream ( buffer_type * Buffer,
bool AutoDelete = true )
inline

◆ IStream() [2/2]

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

◆ ~IStream() [1/2]

IStream::~IStream ( )
inlinevirtual

◆ ~IStream() [2/2]

virtual FrameCPP::Common::IStream::~IStream ( )
virtual

Member Function Documentation

◆ ByteSwapping() [1/2]

bool IStream::ByteSwapping ( ) const
inline

◆ ByteSwapping() [2/2]

bool FrameCPP::Common::IStream::ByteSwapping ( ) const

◆ byteSwapping() [1/2]

void IStream::byteSwapping ( bool Value)
inlineprotected

◆ byteSwapping() [2/2]

void FrameCPP::Common::IStream::byteSwapping ( bool Value)
protected

◆ Cleanup() [1/2]

void IStream::Cleanup ( )
virtual

Reimplemented from FrameCPP::Common::StreamBase.

◆ Cleanup() [2/2]

virtual void FrameCPP::Common::IStream::Cleanup ( )
virtual

Reimplemented from FrameCPP::Common::StreamBase.

◆ GetCheckSumFile() [1/2]

CheckSumFilter * IStream::GetCheckSumFile ( ) const
inline

◆ GetCheckSumFile() [2/2]

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

◆ GetCheckSumFrame() [1/2]

CheckSumFilter * IStream::GetCheckSumFrame ( ) const
inline

◆ GetCheckSumFrame() [2/2]

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

◆ GetCheckSumObject() [1/2]

CheckSumFilter * IStream::GetCheckSumObject ( ) const
inline

◆ GetCheckSumObject() [2/2]

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

◆ GetFrHeader() [1/2]

const FrHeader & IStream::GetFrHeader ( ) const
virtual

◆ GetFrHeader() [2/2]

virtual const FrHeader & FrameCPP::Common::IStream::GetFrHeader ( ) const
virtual

◆ Next() [1/4]

IStream::ptr_struct_base_type IStream::Next ( object_type Obj)
virtual

◆ Next() [2/4]

virtual ptr_struct_base_type FrameCPP::Common::IStream::Next ( object_type Obj)
virtual

◆ Next() [3/4]

IStream::ptr_struct_base_type IStream::Next ( object_type::element_type * Obj)
virtual

◆ Next() [4/4]

virtual ptr_struct_base_type FrameCPP::Common::IStream::Next ( object_type::element_type * Obj)
virtual

◆ NextLookup() [1/2]

Dictionary::ptr_struct_key_type IStream::NextLookup ( object_type Obj) const
inline

◆ NextLookup() [2/2]

Dictionary::ptr_struct_key_type FrameCPP::Common::IStream::NextLookup ( object_type Obj) const

◆ nextReplace() [1/2]

void IStream::nextReplace ( object_type OldObj,
object_type NewObj )
inlineprotected

◆ nextReplace() [2/2]

void FrameCPP::Common::IStream::nextReplace ( object_type OldObj,
object_type NewObj )
protected

◆ objectLookup() [1/2]

IStream::object_type IStream::objectLookup ( object_type::element_type * Pointer)
inlineprotected

◆ objectLookup() [2/2]

object_type FrameCPP::Common::IStream::objectLookup ( object_type::element_type * Pointer)
protected

◆ operator>>() [1/20]

template<typename T>
IStream & IStream::operator>> ( boost::shared_ptr< T > * Data)
inline

◆ operator>>() [2/20]

template<typename T>
IStream & FrameCPP::Common::IStream::operator>> ( boost::shared_ptr< T > * Data)

◆ operator>>() [3/20]

template<typename T>
IStream & IStream::operator>> ( Container< T > & C)
inline

◆ operator>>() [4/20]

template<typename T>
IStream & FrameCPP::Common::IStream::operator>> ( Container< T > & C)

◆ operator>>() [5/20]

template<typename DT>
IStream & IStream::operator>> ( DT & Data)
inline

◆ operator>>() [6/20]

template<typename DT>
IStream & FrameCPP::Common::IStream::operator>> ( DT & Data)

◆ operator>>() [7/20]

template<typename T, typename S>
IStream & IStream::operator>> ( IStream::Resizer< T, S > Value)
inline

◆ operator>>() [8/20]

template<typename T, typename S>
IStream & FrameCPP::Common::IStream::operator>> ( IStream::Resizer< T, S > Value)

◆ operator>>() [9/20]

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

◆ operator>>() [10/20]

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

◆ operator>>() [11/20]

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

◆ operator>>() [12/20]

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

◆ operator>>() [13/20]

template<typename DT>
IStream & IStream::operator>> ( std::vector< DT > & Data)
inline

◆ operator>>() [14/20]

template<typename DT>
IStream & FrameCPP::Common::IStream::operator>> ( std::vector< DT > & Data)

◆ operator>>() [15/20]

template<typename L>
IStream & IStream::operator>> ( std::vector< STRING< L > > & String)
inline

◆ operator>>() [16/20]

template<typename L>
IStream & FrameCPP::Common::IStream::operator>> ( std::vector< STRING< L > > & String)

◆ operator>>() [17/20]

template<typename L>
IStream & IStream::operator>> ( STRING< L > & String)
inline

◆ operator>>() [18/20]

template<typename L>
IStream & FrameCPP::Common::IStream::operator>> ( STRING< L > & String)

◆ operator>>() [19/20]

template<typename L>
IStream & IStream::operator>> ( STRING_SHADOW< L > & String)
inline

◆ operator>>() [20/20]

template<typename L>
IStream & FrameCPP::Common::IStream::operator>> ( STRING_SHADOW< L > & String)

◆ PushPtr() [1/2]

template<typename T>
void IStream::PushPtr ( boost::shared_ptr< T > * Obj)
inline

◆ PushPtr() [2/2]

template<typename T>
void FrameCPP::Common::IStream::PushPtr ( boost::shared_ptr< T > * Obj)

◆ PushRef() [1/2]

template<typename T>
void IStream::PushRef ( Container< T > & C)
inline

◆ PushRef() [2/2]

template<typename T>
void FrameCPP::Common::IStream::PushRef ( Container< T > & C)

◆ pushResolver() [1/2]

void IStream::pushResolver ( resolver_type Resolver)
protectedvirtual

◆ pushResolver() [2/2]

virtual void FrameCPP::Common::IStream::pushResolver ( resolver_type Resolver)
protectedvirtual

◆ rdbuf() [1/2]

IStream::buffer_type * IStream::rdbuf ( ) const
inline

◆ rdbuf() [2/2]

FrameBufferInterface * FrameCPP::Common::IStream::rdbuf ( ) const

◆ read() [1/2]

IStream & IStream::read ( char_type * S,
std::streamsize N )
inline

◆ read() [2/2]

IStream & FrameCPP::Common::IStream::read ( char_type * S,
std::streamsize N )

◆ ReadPtrStruct() [1/2]

IStream::ptr_struct_base_type IStream::ReadPtrStruct ( )

Reads the next group of bytes from the stream as a PTR_STRUCT as defined by the active frame specification associated with the stream.

◆ ReadPtrStruct() [2/2]

ptr_struct_base_type FrameCPP::Common::IStream::ReadPtrStruct ( )

◆ RemoveResolver() [1/2]

void IStream::RemoveResolver ( const void * Old,
int MaxDepth )
inline

◆ RemoveResolver() [2/2]

void FrameCPP::Common::IStream::RemoveResolver ( const void * Old,
int MaxDepth )

◆ ReplacePtr() [1/2]

template<typename T_NEW, typename T_OLD>
void IStream::ReplacePtr ( boost::shared_ptr< T_NEW > * Obj,
boost::shared_ptr< T_OLD > * OldPtr,
const int MaxDepth )
inline

◆ ReplacePtr() [2/2]

template<typename T_NEW, typename T_OLD>
void FrameCPP::Common::IStream::ReplacePtr ( boost::shared_ptr< T_NEW > * Obj,
boost::shared_ptr< T_OLD > * OldPtr,
const int MaxDepth )

◆ ReplaceRef() [1/2]

template<typename T, typename OT>
void IStream::ReplaceRef ( Container< T > & C,
const Container< OT > & Old,
const int MaxDepth )
inline

◆ ReplaceRef() [2/2]

template<typename T, typename OT>
void FrameCPP::Common::IStream::ReplaceRef ( Container< T > & C,
const Container< OT > & Old,
const int MaxDepth )

◆ Resolve() [1/2]

void IStream::Resolve ( )

Method to resolve links.

◆ Resolve() [2/2]

void FrameCPP::Common::IStream::Resolve ( )

◆ resolverContainer() [1/4]

IStream::resolver_container_type & IStream::resolverContainer ( )
inlineprotected

◆ resolverContainer() [2/4]

resolver_container_type & FrameCPP::Common::IStream::resolverContainer ( )
protected

◆ resolverContainer() [3/4]

const IStream::resolver_container_type & IStream::resolverContainer ( ) const
inlineprotected

◆ resolverContainer() [4/4]

const resolver_container_type & FrameCPP::Common::IStream::resolverContainer ( ) const
protected

◆ setAutoDeleteBuffer() [1/2]

void IStream::setAutoDeleteBuffer ( const bool Value)
inlineprotected

◆ setAutoDeleteBuffer() [2/2]

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

◆ SetCheckSumFile() [1/2]

void IStream::SetCheckSumFile ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumFile() [2/2]

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

◆ SetCheckSumFrame() [1/2]

void IStream::SetCheckSumFrame ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumFrame() [2/2]

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

◆ SetCheckSumObject() [1/2]

void IStream::SetCheckSumObject ( const CheckSum::kind_type Type)
inline

◆ SetCheckSumObject() [2/2]

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

◆ Size() [1/2]

cmn_streamsize_type IStream::Size ( )
inline

Return the size of the stream.

Returns
The number of bytes that compose the stream

◆ Size() [2/2]

cmn_streamsize_type FrameCPP::Common::IStream::Size ( )

Return the size of the stream.

Returns
The number of bytes that compose the stream

Member Data Documentation

◆ m_buffer

buffer_ptr_type IStream::m_buffer
private

◆ m_buffer_auto_delete

bool IStream::m_buffer_auto_delete
private

◆ m_byte_swapping

bool IStream::m_byte_swapping
private

◆ m_file_checksum

checksum_filter_type IStream::m_file_checksum
private

◆ m_filter_internally

bool IStream::m_filter_internally
private

◆ m_frame_checksum

checksum_filter_type IStream::m_frame_checksum
private

◆ m_logNextPtr

bool IStream::m_logNextPtr
protected

◆ m_next_container

next_container_type IStream::m_next_container
private

◆ m_obj_checksum

checksum_filter_type IStream::m_obj_checksum
private

◆ m_objects

object_container_type IStream::m_objects
private

◆ m_resolver_container

resolver_container_type IStream::m_resolver_container
private

◆ stream_length

cmn_streamsize_type IStream::stream_length
private

◆ stream_length_valid

bool IStream::stream_length_valid
private

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