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

TInputObjectStream.hh

解説を見る。
00001 // =====================================================================
00040 // =====================================================================
00041 #ifndef CLDAQ__TINPUTOBJECTSTREAM_HH
00042 #define CLDAQ__TINPUTOBJECTSTREAM_HH
00043 
00044 #include "Tglobals.h"
00045 #include "TObjectStream.hh"
00046 
00047 class TStreamableObject;
00048 class TInputObjectFilter;
00049 
00050 
00070 class TInputObjectStream
00071   : public TObjectStream
00072 {
00073 
00074   protected:
00075     TInputObjectFilter* theObjectFilter;
00076 
00077   public:
00078     TInputObjectStream( Tstream_t streamtype = tUnknownStream );
00079     TInputObjectStream( TInputObjectFilter* filter, Tstream_t streamtype = tUnknownStream );
00080     virtual ~TInputObjectStream();
00081 
00082   public:
00083     TInputObjectFilter* GetObjectFilter() const;
00084     Tvoid SetObjectFilter( TInputObjectFilter* filter );
00085     Tbool HasFilter() const;
00086 
00087   public:
00088     virtual Tint Read( TStreamableObject& object ) = 0;
00089     friend Tint operator>>( TInputObjectStream& left, TStreamableObject& object );
00090     friend Tint operator>>( TInputObjectStream& left, const TStreamableObject& object );
00091 
00092 #ifdef __CLDAQ_ROOT_DLL
00093     ClassDef(TInputObjectStream,0)
00094 #endif
00095 
00096 };
00097 
00098 inline Tint operator>>( TInputObjectStream& left, TStreamableObject& object )
00099 {
00100   return left.Read( object );
00101 }
00102 
00103 inline Tint operator>>( TInputObjectStream& left, const TStreamableObject& object )
00104 {
00105   return left.Read( *(TStreamableObject*)(&object) );
00106 }
00107 
00108 inline TInputObjectFilter* TInputObjectStream::GetObjectFilter() const
00109 {
00110   return theObjectFilter;
00111 }
00112 
00113 inline Tvoid TInputObjectStream::SetObjectFilter( TInputObjectFilter* filter )
00114 {
00115   theObjectFilter = filter;
00116   return;
00117 }
00118 
00119 inline Tbool TInputObjectStream::HasFilter() const
00120 {
00121   return ( theObjectFilter != 0 ) ? Ttrue : Tfalse;
00122 }
00123 
00124 #endif


CLDAQ - a Class Library for DataAcQuisition (Version 1.14.3)
Go IWAI -- goiwai at users.sourceforge.jp