TOutputObjectStream.hh Source File

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

# 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