00001 // MCFsbistreamBase.h 00002 ////////////////////////////////////////////////////////////////////// 00003 // (c) Copyright 2001-2002 Brown Deer Technology, LLC. 00004 // All rights reserved. 00005 ////////////////////////////////////////////////////////////////////// 00006 00007 #ifndef MCFSBISTREAMBASE_H 00008 #define MCFSBISTREAMBASE_H 00009 00010 #ifdef USE_STD 00011 #include <iostream> 00012 #include <string> 00013 using namespace std; 00014 #else 00015 #include <iostream.h> 00016 #include <string.h> 00017 #endif 00018 00019 #include "MCFutility.h" 00020 #include "MCFmpBase.h" 00021 00022 class MCFsbistreamBase 00023 { 00024 public: 00025 00026 MCFsbistreamBase( istream& is = cin ); 00027 virtual ~MCFsbistreamBase() {} 00028 00029 void finalstep( const int ); 00030 // virtual void in(); 00031 virtual void open(); 00032 virtual bool isopen(); 00033 00034 virtual void report( ostream& os = cout ); 00035 virtual void inheader(); 00036 00037 virtual void close() {} 00038 virtual void initmfilepos() {} 00039 virtual void findmpacket( MCFmpBase&, const char mcode, const int n ) {} 00040 00041 int version() { return _version; } 00042 int revision() { return _revision; } 00043 int release() { return _release; } 00044 int author() { return _author; } 00045 string& descript() { return _descript; } 00046 int arraydim() { return _arraydim; } 00047 int sbn() { return _sbn; } 00048 int mmin_this() { return _mmin_this; } 00049 int mmax_this() { return _mmax_this; } 00050 int mmin_exist() { return _mmin_exist; } 00051 int mmax_exist() { return _mmax_exist; } 00052 int mmin_theory() { return _mmin_theory; } 00053 int mmax_theory() { return _mmax_theory; } 00054 int cmin_this() { return _cmin_this; } 00055 int cmax_this() { return _cmax_this; } 00056 int cmin_exist() { return _cmin_exist; } 00057 int cmax_exist() { return _cmax_exist; } 00058 int cmin_theory() { return _cmin_theory; } 00059 int cmax_theory() { return _cmax_theory; } 00060 int bplen_mpsizeb() { return _bplen_mpsizeb; } 00061 int bplen_coef() { return _bplen_coef; } 00062 int bplen_n() { return _bplen_n; } 00063 int bplen_a() { return _bplen_a; } 00064 00065 int finalstep() { return _finalstep; } 00066 00067 bool openfail() { return _openfail; } // NEW HACK 00068 void clear_openfail() { _openfail = false; } // NEW HACK 00069 00070 protected: 00071 bool _openfail; // NEW HACK 00072 00073 int _version; 00074 int _revision; 00075 int _release; 00076 int _author; 00077 string _descript; 00078 00079 int _arraydim; 00080 int _sbn; 00081 00082 int _mmin_this, _mmax_this; 00083 int _mmin_exist, _mmax_exist; 00084 int _mmin_theory, _mmax_theory; 00085 00086 int _cmin_this, _cmax_this; 00087 int _cmin_exist, _cmax_exist; 00088 int _cmin_theory, _cmax_theory; 00089 00090 int _bplen_mpsizeb; 00091 int _bplen_coef; 00092 int _datatype_code; 00093 int _bplen_n; 00094 int _bplen_a; 00095 00096 istream* _is; 00097 00098 int _finalstep; 00099 }; 00100 00101 inline 00102 void MCFsbistreamBase::finalstep( const int finalstep ) 00103 { 00104 _finalstep = finalstep; 00105 } 00106 00107 //inline 00108 //void MCFsbistreamBase::in() { open(); } 00109 00110 inline 00111 void MCFsbistreamBase::open() { inheader(); } 00112 00113 inline 00114 bool MCFsbistreamBase::isopen() { return (*_is).good(); } 00115 00116 #endif 00117
1.3.6