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

TOutputObjectStream.hh

解説を見る。
00001 // =====================================================================
00021 // =====================================================================
00022 #ifndef __TOUTPUTOBJECTSTREAM_HH
00023 #define __TOUTPUTOBJECTSTREAM_HH
00024 
00025 #include "Tglobals.h"
00026 #include "TObjectStream.hh"
00027 
00028 class TStreamableObject;
00029 class TObjectFilter;
00030 
00031 
00051 class TOutputObjectStream
00052   : public TObjectStream
00053 {
00054 
00055   public:
00056     TOutputObjectStream( Tstream_t streamtype = tUnknownStream );
00057     TOutputObjectStream( TObjectFilter* filter, Tstream_t streamtype = tUnknownStream );
00058 
00059   protected:
00060     virtual ~TOutputObjectStream();
00061 
00062   public:
00063     virtual Tint Write( TStreamableObject& object ) = 0;
00064     friend Tint operator<<( TOutputObjectStream& left, TStreamableObject& object );
00065     friend Tint operator<<( TOutputObjectStream& left, const TStreamableObject& object );
00066 
00067 };
00068 
00069 inline Tint operator<<( TOutputObjectStream& left, TStreamableObject& object )
00070 {
00071   return left.Write( object );
00072 }
00073 
00074 inline Tint operator<<( TOutputObjectStream& left, const TStreamableObject& object )
00075 {
00076   return left.Write( *(TStreamableObject*)(&object) );
00077 }
00078 
00079 #endif

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