00001
00002 #ifndef cstpp_h
00003 #define cstpp_h
00004
00005 #include <stdlib.h>
00006 #include <string>
00007 #include <iostream>
00008 #include <vector>
00009 #include <algorithm>
00010 #include <stdexcept>
00011 #include <string.h>
00012 #include "error_message.h"
00013
00014 namespace class_def {
00015 using namespace std;
00016
00017 const char *get_tag( int argc, const char* argv[], int argmask[], const char* tag, const char* dvalue);
00018
00019 const char *find_tag(
00020 int argc,
00021 const char *argv[],
00022 int *argmask,
00023 const char *tag);
00024
00025 inline string string_to_lower( const string& rhs) {
00026 string lhs( rhs);
00027 transform( rhs.begin(), rhs.end(), lhs.begin(), ::tolower);
00028 return lhs;
00029 }
00030
00031 const int const_reference = 1;
00032
00033 extern std::string substr;
00034 extern long lineno;
00035
00036 std::string print_stringify();
00037
00038 std::string rep_spc( int n);
00039
00040 void error(void);
00041 }
00042
00043 #include "attribute.h"
00044 #include "key_attribute.h"
00045 #include "functional_attribute.h"
00046 #include "derived_attribute.h"
00047 #include "enum_constant.h"
00048 #include "static_constant.h"
00049 #include "class_definition.h"
00050
00051 namespace class_def {
00052
00055 class end_of_input {};
00056
00059 class comment {
00060 public:
00061 std::string _data;
00062
00063 comment( const std::string &Data) {
00064 _data = Data;
00065 }
00066 };
00067
00068 }
00069
00070 #endif