ftp.nice.ch/pub/next/graphics/viewer/ImagePortfolio.1.45.s.tar.gz#/ImagePortfolio_v1.45_src/apputils.subproj/ParseString.h

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.