00001 // MRAsbfstream.h 00002 ////////////////////////////////////////////////////////////////////// 00003 // (c) Copyright 2002 Brown Deer Technology, LLC. 00004 // All rights reserved. 00005 ////////////////////////////////////////////////////////////////////// 00006 00007 #ifndef MRASBFSTREAM_H 00008 #define MRASBFSTREAM_H 00009 00010 #ifdef USE_STD 00011 #include <iostream> 00012 using namespace std; 00013 #else 00014 #include <iostream.h> 00015 #endif 00016 00017 #include "Bufferfstream.h" 00018 #include "MRAsbBase.h" 00019 00020 class MRAsbfstream : public MRAsbBase 00021 { 00022 public: 00023 00024 string isa() { return "MRAsbfstream"; } 00025 00026 MRAsbfstream(); 00027 MRAsbfstream( const MRAsbfstream& ); 00028 MRAsbfstream( const MRAsbBase& ); 00029 MRAsbfstream( const MRAmpEncode& ); 00030 00031 ~MRAsbfstream(); 00032 00033 // MRAsbfstream& operator = ( MRAsbfstream& rhs ); 00034 00035 }; 00036 00037 inline 00038 MRAsbfstream::MRAsbfstream() : MRAsbBase( new Buffer ) {} 00039 00040 inline 00041 MRAsbfstream::MRAsbfstream( const MRAsbfstream& sb ) 00042 : MRAsbBase( 00043 sb, new Bufferfstream(*dynamic_cast<Bufferfstream*>(sb._ptbuffer)) 00044 ) 00045 {} 00046 00047 inline 00048 MRAsbfstream::MRAsbfstream( const MRAsbBase& sb ) 00049 : MRAsbBase( sb, new Bufferfstream ) 00050 {} 00051 00052 inline 00053 MRAsbfstream::MRAsbfstream( const MRAmpEncode& mpenc ) 00054 : MRAsbBase( mpenc, new Bufferfstream ) 00055 {} 00056 00057 inline 00058 MRAsbfstream::~MRAsbfstream() 00059 { 00060 // if ( _ptbuffer != 0 ) { delete _ptbuffer; _ptbuffer = 0; } 00061 } 00062 00063 //inline 00064 //MRAsbfstream& MRAsbfstream::operator = ( 00065 // MRAsbfstream& sb 00066 //) 00067 //{ 00068 // if ( this != &rhs ) { 00069 // dynamic_cast< MRAsbBase& >(this) 00070 // = dynamic_cast< MRAsbBase& >(rhs); 00071 // if ( _ptbuffer != 0 ) { delete _ptbuffer; _ptbuffer = 0; } 00072 // _ptbuffer 00073 // = new Bufferfstream( *dynamic_cast<Bufferfstream*>(rhs._ptbuffer) ); 00074 // } 00075 //} 00076 00077 #endif 00078
1.3.6