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

DCFmpacketBase.cpp File Reference

#include <iostream.h>
#include "DCFmpacketBase.h"

Include dependency graph for DCFmpacketBase.cpp:

Include dependency graph

Go to the source code of this file.

Functions

ostream & operator<< (ostream &os, DCFmpacketBase &mp)
istream & operator>> (istream &is, DCFmpacketBase &mp)


Function Documentation

ostream& operator<< ostream &  os,
DCFmpacketBase mp
 

Definition at line 21 of file DCFmpacketBase.cpp.

References DCFmpacketBase._bplen_n, DCFmpacketBase._bplen_sizeb, DCFmpacketBase._mcode, DCFmpacketBase._n, DCFmpacketBase._ptmpacket, DCFmpacketBase._sizeb, and DCFmpacketBase.empty().

00022 {
00023    bytepack bp;
00024    if ( !mp.empty() && os.good() ) {
00025       os << bp( mp._sizeb, mp._bplen_sizeb );
00026       os << bp( mp._mcode, 1 );
00027       os << bp( mp._n, mp._bplen_n );
00028 
00029       if ( mp._sizeb ) { 
00030           for( int i = 0; i < mp._sizeb; i++ ) { 
00031              os.put( mp._ptmpacket[i] ); 
00032           }
00033       }
00034 
00035       os << bp(mp._sizeb,mp._bplen_sizeb);
00036    }
00037    return os;
00038 };

istream& operator>> istream &  is,
DCFmpacketBase mp
 

Definition at line 40 of file DCFmpacketBase.cpp.

References DCFmpacketBase._bplen_n, DCFmpacketBase._bplen_sizeb, DCFmpacketBase._mcode, DCFmpacketBase._n, DCFmpacketBase._ptmpacket, DCFmpacketBase._sizeb, DCFmpacketBase.clear(), and DCFmpacketBase.empty().

00041 {
00042    int itmp;
00043    bytepack bp;
00044    mp.clear();
00045    if ( is.good() ) {
00046       is >> bp( 0, mp._bplen_sizeb ); mp._sizeb = bp;
00047       if ( !mp.empty() ) {
00048          is >> bp(0,1); mp._mcode = char(bp);
00049          is >> bp(0,mp._bplen_n); mp._n = int(bp);
00050          if (mp._sizeb) for( int i = 0; i < mp._sizeb; i++ ) { 
00051             is.get( mp._ptmpacket[i] ); 
00052          }
00053          is >> bp( 0, mp._bplen_sizeb ); itmp = int(bp);
00054          if ( itmp != mp._sizeb ) {
00055            cout << mp._bplen_sizeb << " ERROR !=sizeb\n";
00056          }
00057       }
00058    }
00059    return is;
00060 };


Generated on Mon May 31 21:39:21 2004 for SR2k4 Assembler by doxygen 1.3.6