Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

MCFsbofstream< Rtmra_t > Class Template Reference

#include <MCFsbofstream.h>

Inheritance diagram for MCFsbofstream< Rtmra_t >:

Inheritance graph
[legend]
Collaboration diagram for MCFsbofstream< Rtmra_t >:

Collaboration graph
[legend]

Public Member Functions

void close ()
void filenamebase (const string &)
void final (Rtmra_t &x)
bool isopen ()
void logmessage (string _message)
 MCFsbofstream (const string &="_")
void open ()
void outheader ()
 ~MCFsbofstream ()

Private Attributes

string _filenamebase
string _filenamelog
string _filenamesb
ofstream * _logofs

template<class Rtmra_t>
class MCFsbofstream< Rtmra_t >


Constructor & Destructor Documentation

template<class Rtmra_t>
MCFsbofstream< Rtmra_t >::MCFsbofstream const string &  = "_"  ) 
 

Definition at line 51 of file MCFsbofstream.h.

References mcflogfilename().

00052   : MCFsbostream<Rtmra_t>( descript, *(new ofstream) ) 
00053 {
00054     _filenamebase = descript;
00055     if ( descript != "_" ) {
00056        mcflogfilename( _filenamebase, _filenamelog );
00057        _logofs = new ofstream( _filenamelog.c_str() );
00058        (*_logofs) << "MCFLOG" << endl;
00059        (*_logofs) << "MCF CONSTRUCT " << endl;
00060        (*_logofs) << "MCF FILENAMEBASE " << _filenamebase << endl;
00061     } 
00062     else { _logofs = 0; }
00063 };

template<class Rtmra_t>
MCFsbofstream< Rtmra_t >::~MCFsbofstream  ) 
 

Definition at line 66 of file MCFsbofstream.h.

00067 {
00068    (*_logofs) << "MCF DESTRUCT " << _filenamebase << endl;
00069    (*_logofs) << endl; (*_logofs).close();
00070    if ( _logofs != 0 ) { delete _logofs; _logofs = 0; }
00071 };


Member Function Documentation

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::close  )  [virtual]
 

Reimplemented from MCFsbostreamBase.

Definition at line 109 of file MCFsbofstream.h.

References MCFsbostreamBase.close(), and MCFsbofstream< Rtmra_t >.isopen().

Referenced by MCFsbofstream< Rtmra_t >.open().

00110 { 
00111    if ( isopen() ) {
00112       MCFsbostreamBase::close();
00113       (*static_cast<ofstream*>(_os)).close();
00114       (*_logofs) << "MCF CLOSE " << _filenamesb << endl;
00115    }
00116 };

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::filenamebase const string &   ) 
 

Definition at line 74 of file MCFsbofstream.h.

References mcflogfilename().

00075 {
00076     setdescript( filenamebase );
00077 
00078     _filenamebase = filenamebase;
00079 
00080     if ( _logofs != 0 ) { delete _logofs; _logofs = 0; }
00081 
00082     mcflogfilename( _filenamebase, _filenamelog );
00083     _logofs = new ofstream( _filenamelog.c_str() );
00084     (*_logofs) << "MCFLOG" << endl;
00085     (*_logofs) << "MCF FILENAMEBASE " << _filenamebase << endl;
00086 };

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::final Rtmra_t x  )  [virtual]
 

Reimplemented from MCFsbostream< Rtmra_t >.

Definition at line 126 of file MCFsbofstream.h.

References MCFsbostream< Rtmra_t >.final().

00127 {
00128    (*_logofs) << "MCF FINAL mrastep= " << x.mrastep() << endl;
00129    MCFsbostream<Rtmra_t>::final(x);
00130    (*_os) << endl; 
00131    (*static_cast<ofstream*>(_os)).close();
00132 };

template<class Rtmra_t>
bool MCFsbofstream< Rtmra_t >::isopen  )  [virtual]
 

Reimplemented from MCFsbostreamBase.

Definition at line 89 of file MCFsbofstream.h.

Referenced by MCFsbofstream< Rtmra_t >.close(), and MCFsbofstream< Rtmra_t >.open().

00090 { 
00091    return (*static_cast<ofstream*>(_os)).is_open(); 
00092 }

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::logmessage string  _message  ) 
 

Definition at line 136 of file MCFsbofstream.h.

00137 {
00138    (*_logofs) << "USR " << _message << endl;
00139 };

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::open  )  [virtual]
 

Reimplemented from MCFsbostreamBase.

Definition at line 95 of file MCFsbofstream.h.

References MCFsbofstream< Rtmra_t >.close(), MCFsbofstream< Rtmra_t >.isopen(), and mcfsbfilename().

00096 { 
00097    bytepack bp;
00098    if (isopen()) close();
00099    mcfsbfilename( _sbn, _filenamebase, _filenamesb );
00100    (*static_cast<ofstream*>(_os)).open( _filenamesb.c_str() ); 
00101    (*_logofs) << "MCF OPEN " << _filenamesb << endl;
00102 #ifdef STORM_DEBUG
00103    cout << "MCFsbofstream.open(): _sbn _filenamesb "
00104         << _sbn << ' ' << _filenamesb << '\n';
00105 #endif
00106 };

template<class Rtmra_t>
void MCFsbofstream< Rtmra_t >::outheader  )  [virtual]
 

Reimplemented from MCFsbostreamBase.

Definition at line 119 of file MCFsbofstream.h.

References MCFsbostreamBase.outheader(), and MCFsbostreamBase.report().

00120 {
00121    MCFsbostreamBase::outheader();
00122    report( (*_logofs) );
00123 };


Field Documentation

template<class Rtmra_t>
string MCFsbofstream< Rtmra_t >._filenamebase [private]
 

Definition at line 44 of file MCFsbofstream.h.

template<class Rtmra_t>
string MCFsbofstream< Rtmra_t >._filenamelog [private]
 

Definition at line 45 of file MCFsbofstream.h.

template<class Rtmra_t>
string MCFsbofstream< Rtmra_t >._filenamesb [private]
 

Definition at line 46 of file MCFsbofstream.h.

template<class Rtmra_t>
ofstream* MCFsbofstream< Rtmra_t >._logofs [private]
 

Definition at line 47 of file MCFsbofstream.h.


The documentation for this class was generated from the following file:
Generated on Mon May 31 21:41:16 2004 for SR2k4 Assembler by doxygen 1.3.6