proj home

Files   Classes   Functions   Hierarchy  

compilationfile.h

Go to the documentation of this file.
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 

Generated on Fri Mar 4 00:49:28 2011 for Chelton Evans Source by  doxygen 1.5.8