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

TOutputObjectStream.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TOutputObjectStream.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $
00003 //  $Name: CLDAQ-1-06-00 $
00004 // =====================================================================
00005 #ifndef __TOUTPUTOBJECTSTREAM_HH
00006 #define __TOUTPUTOBJECTSTREAM_HH
00007 
00008 #include "Tglobals.h"
00009 #include "TObjectStream.hh"
00010 
00011 class TStreamableObject;
00012 class TObjectFilter;
00013 
00014 class TOutputObjectStream
00015   : public TObjectStream
00016 {
00017 
00018   public:
00019     TOutputObjectStream( Tstream_t streamtype = tUnknownStream );
00020     TOutputObjectStream( TObjectFilter* filter, Tstream_t streamtype = tUnknownStream );
00021 
00022   protected:
00023     virtual ~TOutputObjectStream();
00024 
00025   public:
00026     virtual Tint Write( TStreamableObject& object ) = 0;
00027     friend Tint operator<<( TOutputObjectStream& left, TStreamableObject& object );
00028     friend Tint operator<<( TOutputObjectStream& left, const TStreamableObject& object );
00029 
00030 };
00031 
00032 inline Tint operator<<( TOutputObjectStream& left, TStreamableObject& object )
00033 {
00034   return( left.Write( object ) );
00035 }
00036 
00037 inline Tint operator<<( TOutputObjectStream& left, const TStreamableObject& object )
00038 {
00039   return( left.Write( *(TStreamableObject*)(&object) ) );
00040 }
00041 
00042 #endif

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