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

MCFsb Class Reference

#include <MCFsb.h>

Collaboration diagram for MCFsb:

Collaboration graph
[legend]

Public Member Functions

MCFsbcopy (const MCFsb &rhs)
MCFheaderheader ()
 MCFsb (const MCFsb &rhs)
 MCFsb ()
int mcfsizeb ()
MCFsboperator() (const MCFsb &)
MCFsboperator() (MCFheader &, MRAsbBase &, char *="")
MCFsboperator() (MCFheader &, MRAsbBase &, string &)
MCFsboperator<< (istream &)
MCFsboperator<< (BufferBase &)
MCFsboperator= (const MCFsb &rhs)
MCFsboperator>> (ostream &)
MCFsboperator>> (BufferBase &)
string & postscript ()
void read (ostream &)
void read (BufferBase &)
MRAsbBasesb ()
void set_header (MCFheader &)
void set_postscript (char *)
void set_postscript (string &)
void set_sb (MRAsbBase &)
void write (istream &)
void write (BufferBase &)
 ~MCFsb ()

Protected Attributes

MCFheader_header
string _postscript
MRAsbBase_sb

Friends

ostream & operator<< (ostream &, MCFsb &)
BufferBaseoperator<< (BufferBase &, MCFsb &)
istream & operator>> (istream &, MCFsb &)
BufferBaseoperator>> (BufferBase &, MCFsb &)

Constructor & Destructor Documentation

MCFsb::MCFsb  ) 
 

Definition at line 80 of file MCFsb.h.

00080 : _header( new MCFheader ), _sb( new MRAsb ), _postscript("") {}

MCFsb::MCFsb const MCFsb rhs  ) 
 

Definition at line 83 of file MCFsb.h.

References _header, and _sb.

00084  : _header( new MCFheader ), _sb( new MRAsb ), _postscript(rhs._postscript)
00085 {
00086    _header = rhs._header;
00087    _sb = rhs._sb;
00088 }

MCFsb::~MCFsb  ) 
 

Definition at line 91 of file MCFsb.h.

References _header, and _sb.

00092 {
00093    if ( _header != 0 ) { delete _header ; _header = 0; }
00094    if ( _sb != 0 ) { delete _sb ; _sb = 0; }
00095 }


Member Function Documentation

MCFsb & MCFsb::copy const MCFsb rhs  ) 
 

Definition at line 123 of file MCFsb.h.

References _header, _postscript, and _sb.

Referenced by operator=().

00124 {
00125    if ( this != &rhs ) {
00126       *_header = *(rhs._header);
00127       *_sb = *(rhs._sb);
00128       _postscript = rhs._postscript;
00129    }
00130    return *this;
00131 }

MCFheader * MCFsb::header  ) 
 

Definition at line 177 of file MCFsb.h.

References _header.

00177 { return _header; }

int MCFsb::mcfsizeb  ) 
 

Definition at line 186 of file MCFsb.h.

References _header, _sb, MRAsbBase.sbsizeb(), and MCFheader.sizeb().

Referenced by read().

00186 { return _header->sizeb() + _sb->sbsizeb() + 4; }

MCFsb & MCFsb::operator() const MCFsb  ) 
 

Definition at line 120 of file MCFsb.h.

00120 { return *this = mcfsb; }

MCFsb & MCFsb::operator() MCFheader ,
MRAsbBase ,
char *  = ""
 

Definition at line 109 of file MCFsb.h.

References set_header(), set_postscript(), and set_sb().

00112 {
00113    set_header(header);
00114    set_sb(sb);
00115    set_postscript(postscript);
00116    return *this;
00117 }

MCFsb & MCFsb::operator() MCFheader ,
MRAsbBase ,
string & 
 

Definition at line 98 of file MCFsb.h.

References set_header(), set_postscript(), and set_sb().

00101 {
00102    set_header(header);
00103    set_sb(sb);
00104    set_postscript(postscript);
00105    return *this;
00106 }

MCFsb & MCFsb::operator<< istream &   ) 
 

Definition at line 151 of file MCFsb.h.

References write().

00152 {
00153    write(is);
00154    return *this;
00155 }

MCFsb & MCFsb::operator<< BufferBase  ) 
 

Definition at line 137 of file MCFsb.h.

References write().

00138 {
00139    write(buffer);
00140    return *this;
00141 }

MCFsb & MCFsb::operator= const MCFsb rhs  ) 
 

Definition at line 134 of file MCFsb.h.

References copy().

00134 { return copy(rhs); }

MCFsb & MCFsb::operator>> ostream &   ) 
 

Definition at line 158 of file MCFsb.h.

References read().

00159 {
00160    read(os);
00161    return *this;
00162 }

MCFsb & MCFsb::operator>> BufferBase  ) 
 

Definition at line 144 of file MCFsb.h.

References read().

00145 {
00146    read(buffer);
00147    return *this;
00148 }

string & MCFsb::postscript  ) 
 

Definition at line 183 of file MCFsb.h.

References _postscript.

00183 { return _postscript; }

void MCFsb::read ostream &   ) 
 

Definition at line 58 of file MCFsb.cpp.

References _header, _postscript, mcfsizeb(), and MCFheader.set_mcfsizeb().

00059 {
00060    bytepack bp;
00061    _header->set_mcfsizeb( mcfsizeb() );
00062    os << (*_header);
00063    os << (*_sb);
00064    os << bp( mcfsizeb(), 4 );
00065    for(unsigned int i = 0; i < _postscript.size(); ++i) os.put(_postscript[i]);
00066 }

void MCFsb::read BufferBase  ) 
 

Definition at line 33 of file MCFsb.cpp.

References _header, _postscript, mcfsizeb(), BufferBase.put(), and MCFheader.set_mcfsizeb().

Referenced by operator<<(), and operator>>().

00034 {
00035    bytepack bp;
00036    _header->set_mcfsizeb( mcfsizeb() );
00037    buffer << (*_header);
00038    buffer << (*_sb);
00039    buffer << bp( mcfsizeb(), 4 );
00040    for(unsigned int i = 0; i < _postscript.size(); ++i) {
00041       buffer.put(_postscript[i]);
00042    }
00043 }

MRAsbBase * MCFsb::sb  ) 
 

Definition at line 180 of file MCFsb.h.

References _sb.

00180 { return _sb; }

void MCFsb::set_header MCFheader  ) 
 

Definition at line 165 of file MCFsb.h.

References _header.

Referenced by operator()().

00165 { *_header = header; }

void MCFsb::set_postscript char *   ) 
 

Definition at line 174 of file MCFsb.h.

References _postscript.

00174 { _postscript = postscript; }

void MCFsb::set_postscript string &   ) 
 

Definition at line 171 of file MCFsb.h.

References _postscript.

Referenced by operator()().

00171 { _postscript = postscript; }

void MCFsb::set_sb MRAsbBase  ) 
 

Definition at line 168 of file MCFsb.h.

References _sb.

Referenced by operator()().

00168 { *_sb = sb; }

void MCFsb::write istream &   ) 
 

Definition at line 45 of file MCFsb.cpp.

References _postscript.

00046 {
00047    char c;
00048    int tmp;
00049    bytepack bp;
00050    is >> (*_header);
00051    is >> (*_sb);
00052    is >> bp( tmp, 4 );
00053    if ( _header->mcfsizeb() == 0 ) _header->set_mcfsizeb(tmp);
00054    _postscript = "";
00055    while ( is.get(c) ) _postscript += c; 
00056 }

void MCFsb::write BufferBase  ) 
 

Definition at line 21 of file MCFsb.cpp.

References _postscript, BufferBase.eob(), and BufferBase.get().

Referenced by operator<<(), and operator>>().

00022 {
00023    int tmp;
00024    bytepack bp;
00025    buffer >> (*_header);
00026    buffer >> (*_sb);
00027    buffer >> bp( tmp, 4 );
00028    if ( _header->mcfsizeb() == 0 ) _header->set_mcfsizeb(tmp);
00029    _postscript = "";
00030    while ( !buffer.eob() ) _postscript += buffer.get();
00031 }


Friends And Related Function Documentation

ostream& operator<< ostream &  os,
MCFsb mcfsb
[friend]
 

Definition at line 82 of file MCFsb.cpp.

00083 {
00084    mcfsb.read(os);
00085    return os;
00086 }

BufferBase& operator<< BufferBase buffer,
MCFsb mcfsb
[friend]
 

Definition at line 70 of file MCFsb.cpp.

00071 {
00072    mcfsb.read(buffer);
00073    return buffer;
00074 }

istream& operator>> istream &  is,
MCFsb mcfsb
[friend]
 

Definition at line 88 of file MCFsb.cpp.

00089 {
00090    mcfsb.write(is);
00091    return is;
00092 }

BufferBase& operator>> BufferBase buffer,
MCFsb mcfsb
[friend]
 

Definition at line 76 of file MCFsb.cpp.

00077 {
00078    mcfsb.write(buffer);
00079    return buffer;
00080 }


Field Documentation

MCFheader* MCFsb._header [protected]
 

Definition at line 65 of file MCFsb.h.

Referenced by copy(), header(), MCFsb(), mcfsizeb(), read(), set_header(), and ~MCFsb().

string MCFsb._postscript [protected]
 

Definition at line 67 of file MCFsb.h.

Referenced by copy(), postscript(), read(), set_postscript(), and write().

MRAsbBase* MCFsb._sb [protected]
 

Definition at line 66 of file MCFsb.h.

Referenced by copy(), MCFsb(), mcfsizeb(), sb(), set_sb(), and ~MCFsb().


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