ldas-tools-framecpp  2.5.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
FrameCPP::Version_4::FrTable Class Reference

Implementation of FrTable according to the frame specification. More...

#include <FrTable.hh>

Inheritance diagram for FrameCPP::Version_4::FrTable:
FrameCPP::Common::FrameSpec::Object FrameCPP::Version_4::FrTableNPS FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn > FrameCPP::Common::FrameSpec::ObjectInterface

Public Types

typedef FrameSpec::version_type frame_spec_version_type
 
typedef
LDASTools::AL::SharedPtr
< Object
object_type
 
typedef std::unique_ptr< Objectunique_object_type
 
typedef object_type demote_arg_type
 
typedef object_type demote_ret_type
 
typedef object_type promote_arg_type
 
typedef object_type promote_ret_type
 
typedef TPTR_STRUCT ptr_struct_type
 
typedef TColumn column_type
 
typedef column_type::iterator iterator
 
typedef column_type::const_iterator const_iterator
 
typedef std::vector< STRINGcolumn_name_container_type
 Collection of column names. More...
 
typedef INT_4U nRow_type
 Storage class for the number of rows. More...
 
typedef INT_2U nColumn_type
 Storage class for the number of columns. More...
 

Public Member Functions

 FrTable ()
 
 FrTable (const FrTable &table)
 
 FrTable (const std::string &name, INT_4U nrows)
 
 FrTable (const std::string &Name, const std::string &Comment, nRow_type NRows, column_name_container_type ColumnNames)
 
 FrTable (const FrTableNPS &Source)
 
virtual ~FrTable ()
 
virtual cmn_streamsize_type Bytes (const Common::StreamBase &Stream) const
 Stream size of object. More...
 
virtual FrTableCreate (istream_type &Stream) const
 constructor - virtual More...
 
virtual const char * ObjectStructName () const
 Retrieve the class name of the object. More...
 
virtual void Write (ostream_type &Stream) const
 Write object to the stream. More...
 
const std::string & GetNameSlow () const
 
FrTableMerge (const FrTable &RHS)
 
FrTableoperator+= (const FrTable &RHS)
 
bool operator== (const FrTable &RHS) const
 comparison operator More...
 
virtual bool operator== (const Common::FrameSpec::Object &Obj) const
 comparison operator More...
 
class_type GetClass () const
 Retrieve the class identifier. More...
 
const Description * GetDescription () const
 Retrieve FrSH/FrSE description of the parent object. More...
 
ostream_typeWriteNext (ostream_type &Stream) const
 Write a next pointer to the parent to the stream. More...
 
virtual ObjectCreate () const
 constructor - virtual More...
 
virtual ObjectCreate (std::istream &Buffer) const
 constructor - virtual More...
 
virtual ObjectClone () const
 constructor - virtual copy constructor More...
 
template<typename PreviousType , typename CurrentType >
FrameSpec::ObjectInterface::promote_ret_type PromoteObject (FrameSpec::ObjectInterface::frame_spec_version_type Target, FrameSpec::ObjectInterface::frame_spec_version_type Source, FrameSpec::ObjectInterface::promote_arg_type Obj, IStream *Stream)
 
virtual void VerifyObject (Verify &Verifier, IFrameStream &Stream) const
 Verify an object. More...
 
void AppendComment (const std::string &comment)
 Add additional information to the comment. More...
 
const std::string & GetComment () const
 Retrieve the comment. More...
 
const std::string & GetName () const
 Retrieve the name. More...
 
column_name_container_type GetColumnName () const
 Retrieve the list of column names. More...
 
nColumn_type GetNColumn () const
 Retrieve the number of columns. More...
 
nRow_type GetNRow () const
 Retrieve the number of rows. More...
 
const column_typeRefColumn () const
 Retrieve reference to columns. More...
 
column_typeRefColumn ()
 Retrieve reference to columns. More...
 
bool operator== (const FrTablePST &RHS)
 

Static Public Member Functions

static promote_ret_type Promote (INT_2U Source, promote_arg_type Obj, istream_type *Stream)
 
static const Common::DescriptionStructDescription ()
 Full description for the FrTable structure. More...
 
static const char * StructName ()
 Name of the frame specification structure. More...
 
static object_type DemoteObject (frame_spec_version_type Target, object_type Obj, istream_type *Stream)
 Down grade an object. More...
 
static object_type PromoteObject (frame_spec_version_type Target, frame_spec_version_type Source, object_type Obj, istream_type *Stream)
 Upgrade an object. More...
 
template<typename PreviousType , typename CurrentType >
static object_type PromoteObject (frame_spec_version_type Target, frame_spec_version_type Source, object_type Obj, istream_type *Stream)
 Upgrade an object. More...
 

Static Public Attributes

static const
Common::FrameSpec::Info::frame_object_types 
CLASS_ID = Common::FrameSpec::Info::FSI_FR_TABLE
 
static const INT_2U MAX_REF = 1
 

Protected Member Functions

virtual demote_ret_type demote (INT_2U Target, demote_arg_type Obj, istream_type *Stream) const
 Down grade an object. More...
 
virtual promote_ret_type promote (INT_2U Source, promote_arg_type Obj, istream_type *Stream) const
 Up grade an object. More...
 
virtual class_type getClass () const
 Retrieve the class identifier. More...
 
std::string & getComment ()
 Retrieve the comment. More...
 
void setName (const std::string &Name)
 Establish name. More...
 

Protected Attributes

data_type m_data
 
refs_type m_refs
 

Detailed Description

Implementation of FrTable according to the frame specification.

Member Typedef Documentation

template<typename TPTR_STRUCT , typename TColumn >
typedef std::vector<STRING> FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::column_name_container_type
inherited

Collection of column names.

This storage class is used to abstract the container type used to maintain the collection of column names used in the table. The container maintains the column order of the column names.

template<typename TPTR_STRUCT , typename TColumn >
typedef TColumn FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::column_type
inherited
template<typename TPTR_STRUCT , typename TColumn >
typedef column_type::const_iterator FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::const_iterator
inherited
template<typename TPTR_STRUCT , typename TColumn >
typedef column_type::iterator FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::iterator
inherited
template<typename TPTR_STRUCT , typename TColumn >
typedef INT_2U FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::nColumn_type
inherited

Storage class for the number of columns.

This storage class is used to abstract the data type used to store the number of columns in the table.

template<typename TPTR_STRUCT , typename TColumn >
typedef INT_4U FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::nRow_type
inherited

Storage class for the number of rows.

This storage class is used to abstract the data type used to store the number of rows in the table.

typedef LDASTools::AL::SharedPtr< Object > FrameCPP::Common::FrameSpec::ObjectInterface::object_type
inherited
template<typename TPTR_STRUCT , typename TColumn >
typedef TPTR_STRUCT FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::ptr_struct_type
inherited

Constructor & Destructor Documentation

FrameCPP::Version_4::FrTable::FrTable ( )
FrameCPP::Version_4::FrTable::FrTable ( const FrTable table)
FrameCPP::Version_4::FrTable::FrTable ( const std::string &  name,
INT_4U  nrows 
)
FrameCPP::Version_4::FrTable::FrTable ( const std::string &  Name,
const std::string &  Comment,
nRow_type  NRows,
column_name_container_type  ColumnNames 
)
FrameCPP::Version_4::FrTable::FrTable ( const FrTableNPS Source)
FrameCPP::Version_4::FrTable::~FrTable ( )
virtual

Member Function Documentation

void FrTableNPS::AppendComment ( const std::string &  comment)
inlineinherited

Add additional information to the comment.

Parameters
[in]commentThe text to append to the comment.
FrameCPP::cmn_streamsize_type FrameCPP::Version_4::FrTable::Bytes ( const Common::StreamBase Stream) const
virtual

Stream size of object.

Parameters
[in]StreamThe input or output stream used in conjunction with this object.
Returns
The number of bytes needed to write or read this class of object to or from a stream.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrameSpec::Object * FrameCPP::Common::FrameSpec::ObjectInterface::Clone ( ) const
virtualinherited
FrameSpec::Object * FrameCPP::Common::FrameSpec::ObjectInterface::Create ( ) const
virtualinherited
FrameSpec::Object * FrameCPP::Common::FrameSpec::ObjectInterface::Create ( std::istream &  Buffer) const
virtualinherited

constructor - virtual

Reimplemented in FrameCPP::Version_8::FrHeader, and FrameCPP::Version_3::FrHeader.

FrTable * FrameCPP::Version_4::FrTable::Create ( istream_type Stream) const
virtual

constructor - virtual

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrTable::demote_ret_type FrameCPP::Version_4::FrTable::demote ( INT_2U  Target,
demote_arg_type  Obj,
istream_type Stream 
) const
protectedvirtual

Down grade an object.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrameSpec::ObjectInterface::object_type FrameCPP::Common::FrameSpec::ObjectInterface::DemoteObject ( frame_spec_version_type  Target,
object_type  Obj,
istream_type Stream 
)
staticinherited

Down grade an object.

Parameters
[in]TargetThis is the version of the frame specification of the demoted object.
[in]ObjThe base object.
[in]StreamStream from which Obj was created.
Returns
A pointer to the objected derived by demoting Obj.
FrameSpec::class_type FrameCPP::Common::FrameSpec::Object::GetClass ( ) const
inlineinherited

Retrieve the class identifier.

Returns
The class identifier.
FrameSpec::class_type FrameCPP::Common::FrameSpec::Object::getClass ( ) const
protectedvirtualinherited

Retrieve the class identifier.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

template<typename TPTR_STRUCT , typename TColumn >
column_name_container_type FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::GetColumnName ( ) const
inlineinherited

Retrieve the list of column names.

Returns
The set of column names in column order.
const std::string & FrTableNPS::GetComment ( ) const
inlineinherited

Retrieve the comment.

Returns
The text of the comment associated with the table.
std::string & FrTableNPS::getComment ( )
inlineprotectedinherited

Retrieve the comment.

Returns
The text of the comment associated with the table.
const Description * FrameCPP::Common::FrameSpec::Object::GetDescription ( ) const
inlinevirtualinherited

Retrieve FrSH/FrSE description of the parent object.

Returns
The description of the parent class.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

const std::string & FrTableNPS::GetName ( ) const
inlineinherited

Retrieve the name.

Returns
The name associated with the table
const std::string & FrameCPP::Version_4::FrTable::GetNameSlow ( ) const
template<typename TPTR_STRUCT , typename TColumn >
nColumn_type FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::GetNColumn ( ) const
inlineinherited

Retrieve the number of columns.

Returns
The number of columns in the table.
template<typename TPTR_STRUCT , typename TColumn >
nRow_type FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::GetNRow ( ) const
inlineinherited

Retrieve the number of rows.

Returns
The number of rows in the table.
FrTable & FrameCPP::Version_4::FrTable::Merge ( const FrTable RHS)
const char * FrameCPP::Version_4::FrTable::ObjectStructName ( ) const
virtual

Retrieve the class name of the object.

Returns
The name of the class associated with the object.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrTable & FrameCPP::Version_4::FrTable::operator+= ( const FrTable RHS)
template<typename TPTR_STRUCT , typename TColumn >
bool FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::operator== ( const FrTablePST< TPTR_STRUCT, TColumn > &  RHS)
inherited
bool FrameCPP::Version_4::FrTable::operator== ( const FrTable RHS) const
inline

comparison operator

Parameters
[in]RHSThe right hand side argument of the comparison operator
Returns
True if the two FrTable objects being compared are equivelant, false otherwise.
bool FrameCPP::Version_4::FrTable::operator== ( const Common::FrameSpec::Object Obj) const
virtual

comparison operator

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrTable::promote_ret_type FrameCPP::Version_4::FrTable::Promote ( INT_2U  Source,
promote_arg_type  Obj,
istream_type Stream 
)
static
FrTable::promote_ret_type FrameCPP::Version_4::FrTable::promote ( INT_2U  Source,
promote_arg_type  Obj,
istream_type Stream 
) const
protectedvirtual

Up grade an object.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

FrameSpec::ObjectInterface::object_type FrameCPP::Common::FrameSpec::ObjectInterface::PromoteObject ( frame_spec_version_type  Target,
frame_spec_version_type  Source,
object_type  Obj,
istream_type Stream 
)
staticinherited

Upgrade an object.

Parameters
[in]TargetPromote Obj to this version of the frame specification.
[in]SourceObj conforms to this version of the frame specification.
[in]ObjObject to be converted
[in]StreamOriginating stream for Obj.
Returns
A pointer to the objected derived by promoting Obj.
template<typename PreviousType , typename CurrentType >
static object_type FrameCPP::Common::FrameSpec::ObjectInterface::PromoteObject ( frame_spec_version_type  Target,
frame_spec_version_type  Source,
object_type  Obj,
istream_type Stream 
)
staticinherited

Upgrade an object.

Parameters
[in]TargetPromote Obj to this version of the frame specification.
[in]SourceObj conforms to this version of the frame specification.
[in]ObjObject to be converted
[in]StreamOriginating stream for Obj.
Returns
A pointer to the objected derived by promoting Obj.
template<typename PreviousType , typename CurrentType >
FrameSpec::ObjectInterface::promote_ret_type FrameCPP::Common::FrameSpec::ObjectInterface::PromoteObject ( FrameSpec::ObjectInterface::frame_spec_version_type  Target,
FrameSpec::ObjectInterface::frame_spec_version_type  Source,
FrameSpec::ObjectInterface::promote_arg_type  Obj,
IStream Stream 
)
inherited
template<typename TPTR_STRUCT , typename TColumn >
const FrTablePST< TPTR_STRUCT, TColumn >::column_type & FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::RefColumn ( ) const
inlineinherited

Retrieve reference to columns.

Returns
A constant reference to the container of columns.
template<typename TPTR_STRUCT , typename TColumn >
FrTablePST< TPTR_STRUCT, TColumn >::column_type & FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::RefColumn ( )
inlineinherited

Retrieve reference to columns.

Returns
A reference to the container of columns.
void FrTableNPS::setName ( const std::string &  Name)
inlineprotectedinherited

Establish name.

Parameters
[in]NameThe name to associate with the table
const Description * FrameCPP::Version_4::FrTable::StructDescription ( )
static

Full description for the FrTable structure.

Returns
A pointer to a static Description object containing the full description of an FrTable structure for the current frame specification.
const char * FrameCPP::Version_4::FrTable::StructName ( )
inlinestatic

Name of the frame specification structure.

Returns
A pointer to a static address containing the name to be associated with this structure as specified by the frame specification.
void FrameCPP::Common::FrameSpec::ObjectInterface::VerifyObject ( Verify Verifier,
IFrameStream Stream 
) const
virtualinherited
void FrameCPP::Version_4::FrTable::Write ( ostream_type Stream) const
virtual

Write object to the stream.

Parameters
[in,out]StreamThe stream being written with the contents of object.

Implements FrameCPP::Common::FrameSpec::ObjectInterface.

ostream_type & FrameCPP::Common::FrameSpec::Object::WriteNext ( ostream_type Stream) const
inherited

Write a next pointer to the parent to the stream.

Parameters
[in,out]StreamThe output stream to receive the next pointer.
Returns
The output stream.

Member Data Documentation

const Common::FrameSpec::Info::frame_object_types FrameCPP::Version_4::FrTable::CLASS_ID = Common::FrameSpec::Info::FSI_FR_TABLE
static
data_type FrameCPP::Version_4::FrTableNPS::m_data
protectedinherited
template<typename TPTR_STRUCT , typename TColumn >
refs_type FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::m_refs
protectedinherited
template<typename TPTR_STRUCT , typename TColumn >
const INT_2U FrameCPP::Version_4::FrTablePST< TPTR_STRUCT, TColumn >::MAX_REF = 1
staticinherited

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