- Main Page
- Classes
- Files

- File List

# C:/Documents and Settings/Administrator/Desktop/woopsi-src-0.40/Woopsi/libwoopsi/include/woopsistring.h

    00001 #ifndef _WOOPSI_STRING_H_
    00002 #define _WOOPSI_STRING_H_
    00003
    00004 #include <nds.h>
    00005
    00006 namespace WoopsiUI {
    00007
    00019         class WoopsiString {
    00020         public:
    00021
    00025                 WoopsiString();
    00026
    00031                 WoopsiString(const char* text);
    00032
    00037                 WoopsiString(const char letter);
    00038
    00043                 virtual inline const char* getCharArray() const { return _text; };
    00044
    00049                 virtual void setText(const char* text);
    00050
    00055                 virtual void setText(const char text);
    00056
    00061                 virtual void append(const char* text);
    00062
    00067                 virtual void append(const char text);
    00068
    00074                 virtual void insert(const char* text, const u32 index);
    00075
    00081                 virtual void insert(const char text, const u32 index);
    00082
    00087                 virtual void remove(const u32 startIndex);
    00088
    00095                 virtual void remove(const u32 startIndex, const u32 count);
    00096
    00101                 virtual inline const u32 getLength() const { return _length; };
    00102
    00107                 inline WoopsiString(const WoopsiString& string) {
    00108                         setText(string.getCharArray());
    00109                 };
    00110
    00114                 virtual inline ~WoopsiString() {
    00115                         delete[] _text;
    00116                         _text = NULL;
    00117                 };
    00118
    00124                 char& operator[](const u32 index) const {
    00125                         return _text[index];
    00126                 };
    00127
    00133                 virtual inline const char getCharAt(u32 index) { return _text[index]; };
    00134
    00135         protected:
    00136                 char* _text;
    00144                 virtual void allocateMemory(u32 chars, bool preserve);
    00145
    00150                 virtual inline bool hasData() const { return (_text != NULL); };
    00151
    00156                 virtual inline u32 getAllocatedSize() { return _allocatedSize; };
    00157
    00158         private:
    00159                 u32 _length;
    00160                 u32 _allocatedSize;
    00161                 u32 _growAmount;
    00163         };
    00164 }
    00165
    00166 #endif