メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ    

TDataRecord.hh

解説を見る。
00001 // =====================================================================
00031 // =====================================================================
00032 #ifndef __TDATARECORD_HH
00033 #define __TDATARECORD_HH
00034 
00035 #include "Tglobals.h"
00036 #include "TStreamableObject.hh"
00037 #include "TDataSectionList.hh"
00038 
00039 class TOutputObjectStream;
00040 
00041 
00061 class TDataRecord
00062   : public TStreamableObject, public TDataSectionList
00063 {
00064 
00065   public:
00066     TDataRecord( const Tstring& id = TunknownID );
00067     TDataRecord( const TDataRecord& right );
00068     ~TDataRecord();
00069 
00070   public:
00071     Tint GetRecordSize();
00072     Tint Record( TOutputObjectStream* output );
00073     Tvoid Clear();
00074     Tint Serialize( Tvoid* buffer );
00075 
00076   public:
00077     const TDataRecord& operator=( const TDataRecord& right );
00078     Tbool operator==( const TDataRecord& right ) const;
00079     Tbool operator!=( const TDataRecord& right ) const;
00080     //operator[]( const Tstring& secid )を加えたかったら
00081     //reference operator [](size_type n);
00082     //const_reference operator [](size_type n) const;
00083     //TDataSection& operator[]( Tsize_t n );も
00084     //実装しなくちゃだめみたい.めんどくさいな〜
00085     const TDataSection& operator[]( Tint n ) const;
00086     TDataSection& operator[]( Tint n );
00087     const TDataSection& operator[]( const Tstring& id ) const;
00088     TDataSection& operator[]( const Tstring& id );
00089     friend Tostream& operator<<( Tostream& tos, const TDataRecord& right );
00090 
00091   public:
00092     TDataRecord Test( Tint somevalue = 0 );
00093 
00094   public:
00095     Tbool FindDataSection( const Tstring& id, TDataSection& section ) const;
00096     Tint FindDataSection( const Tstring& id ) const;
00097     Tbool FindDataSegment( const Tstring& secid, const Tstring& segid, TDataSegment& segment ) const;
00098     Tint FindDataSegment( const Tstring& secid, const Tstring& segid ) const;
00099     Tbool FindDataSegment( Tstring idset[ 2 ], TDataSegment& segment ) const;
00100     Tint FindDataSegment( Tstring idset[ 2 ] ) const;
00101     Tbool FindDataSegment( const TstringList& idset, TDataSegment& segment ) const;
00102     Tint FindDataSegment( const TstringList& idset ) const;
00103     Tbool FindDataElement( const Tstring& secid, const Tstring& segid, const Tstring& eleid, TDataElement& element ) const;
00104     Tint FindDataElement( const Tstring& secid, const Tstring& segid, const Tstring& eleid ) const;
00105     Tbool FindDataElement( Tstring idset[ 3 ], TDataElement& element ) const;
00106     Tint FindDataElement( Tstring idset[ 3 ] ) const;
00107     Tbool FindDataElement( const TstringList& idset, TDataElement& element ) const;
00108     Tint FindDataElement( const TstringList& idset ) const;
00109 
00110   private:
00111     Tint record( TOutputObjectFile* ofile );
00112     Tint record( TOutputObjectSocket* osocket );
00113     Tint record( TOutputObjectSharedMemory* omemory );
00114 
00115 };
00116 
00117 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.10.0)
Go IWAI <goiwai@users.sourceforge.jp>