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

TInputObjectStream.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TInputObjectStream.hh,v 1.2 2003/07/30 16:19:30 goiwai Exp $
00003 //  $Name: CLDAQ-1-08-02 $
00004 //
00005 //  $Log: TInputObjectStream.hh,v $
00006 //  Revision 1.2  2003/07/30 16:19:30  goiwai
00007 //  ファイルにコミットログをつけることにしました.
00008 //
00009 // =====================================================================
00010 #ifndef __TINPUTOBJECTSTREAM_HH
00011 #define __TINPUTOBJECTSTREAM_HH
00012 
00013 #include "Tglobals.h"
00014 #include "TObjectStream.hh"
00015 
00016 class TStreamableObject;
00017 class TObjectFilter;
00018 
00019 class TInputObjectStream
00020   : public TObjectStream
00021 {
00022 
00023   public:
00024     TInputObjectStream( Tstream_t streamtype = tUnknownStream );
00025     TInputObjectStream( TObjectFilter* filter, Tstream_t streamtype = tUnknownStream );
00026 
00027   protected:
00028     virtual ~TInputObjectStream();
00029 
00030   public:
00031     virtual Tint Read( TStreamableObject& object ) = 0;
00032     friend Tint operator>>( TInputObjectStream& left, TStreamableObject& object );
00033     friend Tint operator>>( TInputObjectStream& left, const TStreamableObject& object );
00034 
00035 };
00036 
00037 inline Tint operator>>( TInputObjectStream& left, TStreamableObject& object )
00038 {
00039   return( left.Read( object ) );
00040 }
00041 
00042 inline Tint operator>>( TInputObjectStream& left, const TStreamableObject& object )
00043 {
00044   return( left.Read( *(TStreamableObject*)(&object) ) );
00045 }
00046 
00047 #endif

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