TInputObjectStream.hh Source File

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

# TInputObjectStream.hh

解説を見る。

    00001 // =====================================================================
    00002 //  $Id: TInputObjectStream.hh,v 1.2 2003/07/30 16:19:30 goiwai Exp $
    00003 //  $Name: CLDAQ-1-08-00 $
    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