CSystemString.hpp

Go to the documentation of this file.
00001     #ifndef __CSystemString__
00002 #define __CSystemString__
00003 
00004 #include "CString.hpp"
00005 #include "CStringTokeniser.hpp"
00006 
00007 //  ===========================================================================
00008 
00009 using Exponent::Basics::CString;
00010 using Exponent::Basics::CStringTokeniser;
00011 
00012 //  ===========================================================================
00013 
00014 namespace Exponent
00015 {
00016     namespace Basics
00017     {
00040         class CSystemString : public CString
00041         {
00043             EXPONENT_CLASS_DECLARATION;
00046 //  ===========================================================================
00047 
00048         public:
00049 
00050 //  ===========================================================================
00051 
00052             const static char *CSYSTEM_STRING_SYSTEM_SEPERATOR;         
00053             const static long CSYSTEM_STRING_MAX_PATH = _MAX_PATH;      
00055 //  ===========================================================================
00056 
00061             CSystemString(const char *string = " ");
00062 
00067             CSystemString(const CString &string);
00068 
00073             CSystemString(const CSystemString &string);
00074 
00078             virtual ~CSystemString();
00079 
00080 //  ===========================================================================
00081 
00087             virtual CSystemString &operator = (const CSystemString &string);
00088 
00094             virtual CSystemString &operator = (const char *string);
00095 
00101             virtual CSystemString &operator += (const CString &string);
00102 
00108             virtual CSystemString &operator += (const char *string);
00109 
00115             virtual bool operator == (const char *equals);
00116 
00122             virtual bool operator == (CSystemString &string);
00123 
00129             virtual bool operator != (const char *string);
00130 
00136             virtual bool operator != (CSystemString &string);
00137 
00142             virtual bool operator ! ();
00143 
00149             virtual char operator [] (const long index);
00150 
00151 //  ===========================================================================
00152 
00157             virtual bool hasExtension() const;
00158 
00164             virtual bool hasExtension(const char *ext) const;
00165 
00171             virtual bool hasExtension(const CString &ext) const;
00172 
00178             virtual void appendNewExtension(const char *ext, const bool removeOld = true);
00179 
00185             virtual void appendNewExtension(const CString &ext, const bool removeOld = true);
00186 
00190             virtual void removeExtension();
00191 
00196             virtual bool isFolder() const;
00197 
00201             virtual void stripFilename();
00202 
00207             virtual CString getFolderPath();
00208 
00212             virtual void appendSystemSeperator();
00213 
00218             virtual void appendPath(const CString &path);
00219 
00225             virtual CString getDriveLetter(bool withDriveSeperators = true);
00226 
00231             virtual CString getTheExtension();
00232 
00237             virtual CString getTheFilename() const;
00238 
00243             virtual long getNumberOfPathComponents();
00244 
00250             virtual CString *getPathComponent(const long index);
00251 
00255             virtual void removeLastPathComponent();
00256 
00260             virtual void removeFirstPathComponent();
00261 
00265             virtual void replacePathSeperators();
00266 
00267 #ifndef WIN32
00268 
00272             FSSpec *getStringAsFSSpec() const;
00273 
00278             FSRef *getStringAsFSRef() const;
00279 #endif
00280 
00281 //  ===========================================================================
00282         };
00283     }
00284 }
00285 #endif  // End of CSystemString.hpp

Infinity API - CSystemString.hpp Source File generated on 7 Mar 2007