TDataSegment.hh Source File

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

# TDataSegment.hh

解説を見る。

    00001 // =====================================================================
    00002 //  $Id: TDataSegment.hh,v 1.3 2003/08/25 09:21:44 goiwai Exp $
    00003 //  $Name: CLDAQ-1-08-00 $
    00004 //
    00005 //  $Log: TDataSegment.hh,v $
    00006 //  Revision 1.3  2003/08/25 09:21:44  goiwai
    00007 //  operator[]( const Tstring& id ) を加えました.
    00008 //  segment[0] とか segment["tag"] とかすれば, TDataElement を得ることが出
    00009 //  来ます.
    00010 //  size()を越えた範囲にも,チェックしないでアクセスします.
    00011 //  マッチしなかった場合は落ちます.
    00012 //  同じ名前でタグされた DataElement がある場合,最初にマッチしたものが返っ
    00013 //  てきます.
    00014 //
    00015 //  Revision 1.2  2003/07/30 16:17:51  goiwai
    00016 //  ファイルにコミットログをつけることにしました.
    00017 //
    00018 // =====================================================================
    00019 #ifndef __TDATASEGMENT_HH
    00020 #define __TDATASEGMENT_HH
    00021
    00022 #include "Tglobals.h"
    00023 #include "TStreamableObject.hh"
    00024 #include "TDataElementList.hh"
    00025
    00026 class TOutputObjectStream;
    00027 class TOutputObjectFile;
    00028 class TOutputObjectSocket;
    00029 class TOutputObjectSharedMemory;
    00030
    00031 class TDataSegment
    00032   : public TStreamableObject, public TDataElementList
    00033 {
    00034
    00035   public:
    00036     TDataSegment( const Tstring& id = TunknownID );
    00037     TDataSegment( const TDataSegment& right );
    00038     ~TDataSegment();
    00039
    00040   public:
    00041     Tint GetRecordSize();
    00042     Tint Record( TOutputObjectStream* output );
    00043     Tvoid Clear();
    00044     Tint Serialize( Tvoid* buffer );
    00045
    00046   public:
    00047     const TDataSegment& operator=( const TDataSegment& right );
    00048     Tbool operator==( const TDataSegment& right ) const;
    00049     Tbool operator!=( const TDataSegment& right ) const;
    00050     const TDataElement& operator[]( Tint n ) const;
    00051     TDataElement& operator[]( Tint n );
    00052     const TDataElement& operator[]( const Tstring& id ) const;
    00053     TDataElement& operator[]( const Tstring& id );
    00054     friend Tostream& operator<<( Tostream& tos, const TDataSegment& right );
    00055
    00056   public:
    00057     Tbool FindDataElement( const Tstring& id, TDataElement& element ) const;
    00058     Tint FindDataElement( const Tstring& id ) const;
    00059
    00060   private:
    00061     Tint record( TOutputObjectFile* ofile );
    00062     Tint record( TOutputObjectSocket* osocket );
    00063     Tint record( TOutputObjectSharedMemory* omemory );
    00064
    00065
    00066 };
    00067
    00068 #endif