ParTxt.h
00001 #ifndef PARTXT_H
00002 #define PARTXT_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "ParFileException.h"
00029
00031 class ParTxt {
00032
00034 friend ostream& operator << ( ostream& os, ParTxt& par ) {
00035 par.print( os );
00036 return os;
00037 }
00038
00040 friend ostream& operator << ( ostream& os, ParTxt* par ) {
00041 par->print( os );
00042 return os;
00043 }
00044
00045 public:
00046
00047 ~ParTxt( );
00048
00049 ParTxt( char* str=NULL ) throw( ParFileException );
00050
00051 void init_ParTxt( char* str=NULL ) throw( ParFileException );
00052
00053 static int restore;
00054
00055 operator char* ( ) const { return buffer; }
00056
00057 operator char** ( ) const { return buffer_argv; }
00058
00059 char* get_token( size_t n ) throw( ParFileException );
00060
00061 void print( ostream& os );
00062
00063 static void verify_mode( const string& str ) throw( ParFileException );
00064
00065 protected:
00066
00067 char* buffer;
00068
00069 char** buffer_argv;
00070
00071 size_t num_tokens;
00072
00073 private:
00074
00075 ParTxt( const ParTxt& partxt );
00076
00077 ParTxt& operator = ( const ParTxt& rhs );
00078
00079 };
00080
00081 #endif