- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- File List
- File Members

# 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