#include <MCFsbistream.h>
Inheritance diagram for MCFsbistream< Rtmra_t >:


Public Types | |
| typedef Rtmra_t::DataType | Data_t |
Public Member Functions | |
| MCFsbistream< Rtmra_t > & | jump_read (int, Rtmra_t &) |
| MCFsbistream (istream &is=cin) | |
| MCFsbistream< Rtmra_t > & | operator>> (Rtmra_t &) |
| ~MCFsbistream () | |
|
|||||
|
Definition at line 27 of file MCFsbistream.h. |
|
||||||||||
|
Definition at line 35 of file MCFsbistream.h. References DataType_Code< Data_t >.eval().
00036 : MCFsbistreamBase( is ) 00037 { 00038 _datatype_code = DataType_Code<Data_t>::eval(); 00039 } |
|
|||||||||
|
Definition at line 29 of file MCFsbistream.h.
00029 {}
|
|
||||||||||||||||
|
Definition at line 78 of file MCFsbistream.h. References MCFsbistreamBase.findmpacket(), MCFsbistreamBase.open(), MCFmp< Rtmra_t >.replace(), and MCFmpBase.set().
00081 {
00082 x.mrastep( mrastep-1 );
00083
00084 MCFmp<Rtmra_t> mp( _bplen_mpsizeb, _bplen_coef, _bplen_n, _bplen_a );
00085
00086 int m = x.imcycle();
00087 bool bob = ( m == x.mmax() );
00088
00089 #ifdef STORM_DEBUG
00090 cout << "MCFsbistream<Rtmra_t>::jump_read(): m bob "
00091 << m << ' ' << bob << '\n';
00092 #endif
00093
00094 _sbn = ( ( x.mrastep() + 1 ) >> x.mmax() );
00095 open();
00096
00097 if ( ! _openfail ) {
00098 mp.set( _bplen_mpsizeb, _bplen_coef, _bplen_n, _bplen_a );
00099 findmpacket( mp, char( x.mmax() ), 0 );
00100 mp.replace(x);
00101
00102 int n;
00103 for( int m = x.mmax(); m > 0; --m ) {
00104 n = ( ( x.mrastep() + 1 ) & ( ( 1 << x.mmax() ) - 1 ) ) >> m;
00105 findmpacket( mp, char( 0x80 | m ), n );
00106 mp.replace(x);
00107 }
00108 }
00109
00110 return *this;
00111 };
|
|
||||||||||
|
Definition at line 42 of file MCFsbistream.h. References MCFsbistreamBase.findmpacket(), MCFsbistreamBase.open(), MCFmp< Rtmra_t >.replace(), and MCFmpBase.set().
00043 {
00044
00045 MCFmp<Rtmra_t> mp( _bplen_mpsizeb, _bplen_coef, _bplen_n, _bplen_a );
00046
00047 int m = x.imcycle();
00048 bool bob = ( m == x.mmax() );
00049
00050 #ifdef STORM_DEBUG
00051 cout << "MCFsbistream<Rtmra_t>::operator>>(): m bob "
00052 << m << ' ' << bob << '\n';
00053 #endif
00054
00055 if (bob) {
00056 _sbn = ( ( x.mrastep() + 1 ) >> x.mmax() );
00057 open();
00058 if ( ! _openfail ) {
00059 mp.set( _bplen_mpsizeb, _bplen_coef, _bplen_n, _bplen_a );
00060 findmpacket( mp, char(m), 0 );
00061 mp.replace(x);
00062 }
00063 }
00064
00065 if ( ! _openfail ) {
00066 int n;
00067 while (m) {
00068 n = ( ( x.mrastep() + 1 ) & ( ( 1 << x.mmax() ) - 1 ) ) >> m;
00069 findmpacket( mp, char( 0x80 | m ), n );
00070 mp.replace(x);
00071 m--;
00072 }
00073 }
00074 return *this;
00075 };
|
1.3.6