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

TOutputObjectStream.hh

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

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