This is ParseString.h in view mode; [Download] [Up]
// -----------------------------------------------------------------------------------------
// general string/table functions
// -----------------------------------------------------------------------------------------
class ParseString {
int instanceId; // unique debug id
char *parseList; // char buffer
char **parseTable; // parsed table
public:
/* constructors */
ParseString(); // "empty" constructor
ParseString(const ParseString &other); // "copy" constructor
ParseString(const char *list); // init from list
ParseString(const char *list1, const char *list2); // init from 2 lists
/* destructor: should always be declared "virtual" */
virtual ~ParseString();
ParseString &operator<<=(const char *fileName); // copy fro file
ParseString &operator=(const ParseString &other); // copy from other
ParseString &operator=(const char *list); // copy from string
ParseString &operator+=(const ParseString &second); // append other to self
ParseString &operator+=(const char *list); // append list to self
ParseString operator+(const ParseString &second) const; // append to second
ParseString operator+(const char *list) const; // append to list
ParseString &operator|=(const ParseString &second); // merge second with self
ParseString &operator|=(const char *list); // merge list with self
ParseString operator|(const ParseString &second) const; // merge with second
ParseString operator|(const char *list) const; // merge with list
char * &operator[](int ndx) const; // reference item in table
int operator()(const char *item) const; // return index to item
void print() const; // print contents
char **table() const; // return pointer to table
int count() const; // return number of items
int unparsedLength() const; // return length of list
char *getUnparsedList(char *list, int listLen) const; // copy unparsed list into buffer
char *newUnparsedList() const; // return new unparsed list
char *entryAt(int ndx) const; // return item at index
int indexTo(const char *entry) const; // return index to item
virtual int _sortCompare(char *p, char *q) const; // sorting criteria
int sort(int order = 0); // sort table (0 == ascending)
private:
void _clean();
char *_concatLists(const char *list1, const char *list2);
char ** _parseList(char *list);
int _unparsedLength(const char **tbl) const;
char *_unparseList(char **tbl, char *list, int listLen) const;
char *_newUnparsedList(char **tbl) const;
};These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.