Files Classes Functions Hierarchy
00001 #ifndef COMPILATIONFILE_H 00002 #define COMPILATIONFILE_H 00003 00004 #include <string> 00005 #include <vector> 00006 using namespace std; 00007 00008 #include <typedefs.h> 00009 00010 class compilationfile; 00011 00015 class compilationfile 00016 { 00017 public: 00018 00020 static uint filenamelengthmax; 00021 00023 string filename; 00025 string path; 00026 00028 stringc filenamefull() const 00029 { return path + filename; } 00030 00031 enum filetype { unknown=0, header, source, obj }; 00032 filetype ft; 00033 00035 boolc isheader() const; 00037 boolc issource() const; 00039 boolc isobj() const; 00040 00042 compilationfile( stringc & fullfilename ); 00043 00045 compilationfile 00046 ( 00047 stringc & path_, 00048 stringc & filename_ 00049 ); 00050 00053 compilationfile 00054 ( 00055 stringc & path_, 00056 stringc & filename_, 00057 filetype ft_ 00058 ); 00059 00061 compilationfile* linkheader; 00063 compilationfile* linksource; 00065 compilationfile* linkobj; 00066 00069 vector<compilationfile*> includes; 00070 00071 00073 stringc extension() const; 00075 stringc component() const; 00076 00078 void determinefiletype(); 00079 00081 void print() const; 00082 00084 void clear(); 00085 00087 boolc includesvalid() const; 00089 boolc includesadd(compilationfile* cf); 00090 00091 }; 00092 00093 00094 #endif 00095
1.5.8