TOutputObjectFile.hh

TOutputObjectFileクラスの解説 TOutputObjectFile.cc
// ============================================================================
//  $Id$
//  $Name$
// ============================================================================
#ifndef __TOUTPUTOBJECTFILE_HH
#define __TOUTPUTOBJECTFILE_HH

#include "TGlobals.hh"
#include "TObjectFile.hh"
#include "TStreamableObject.hh"
#include "TOutputObjectStream.hh"
#include "TDataFilter.hh"

class TStreamableObject;
class TDataFilter;

class TOutputObjectFile
  : public TObjectFile, public TOutputObjectStream
{

  public:
    TOutputObjectFile( const Tstring& filename, const Tstring& mode = "w" );
    TOutputObjectFile( TDataFilter* filter, const Tstring& filename, const Tstring& mode = "w" );
    ~TOutputObjectFile();

  public:
    inline Tint WriteData( TStreamableObject* object );

};

inline Tint TOutputObjectFile::WriteData( TStreamableObject* object )
{
  if ( HasFilter() )
    return( theNumberOfOutputs += theDataFilter -> Filter( object, this ) );
  else
    return( theNumberOfOutputs += object -> WriteData( this ) );
}

#endif
$Id$
$Name$