Rev 179 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once#include "String.h"#include "../lists.h"#include "List.h"namespace Utils {typedef struct {SString str;SString data;} SStringList;typedef CListNode<SStringList> CStringListNode;typedef CList<SStringList>::iterator CStringListIterator;class SPKEXPORT CStringList{private:CList<SStringList> *_lList;public:CStringList();~CStringList();void pushBack(const SString &str, const SString &data);void pushBack(const SString &str);void pushFront(const SString &str, const SString &data);void pushFront(const SString &str);void popBack();void popFront();void insertAt(int at, const SString& str, const SString& data);void insertAt(int at, const SString& str);void clear();void tokenise(const SString &str, const SString &token);Utils::SString firstString();Utils::SString nextString();Utils::SStringList *first();Utils::SStringList *next();CStringListIterator begin() const;CStringListIterator end() const;Utils::SString front() const;Utils::SString back() const;Utils::SStringList *get(int i) const;bool changeData(const Utils::SString &str, const Utils::SString &data, bool bIgnoreCase = false);bool contains(const Utils::SString &data, bool bIgnoreCase = false) const;bool containsData(const Utils::SString& str, bool bIgnoreCase = false) const;bool containsStringAndData(const Utils::SString& str, const Utils::SString &data, bool bIgnoreCase = false) const;Utils::SString findData(const Utils::SString &data, bool bIgnoreCase = false) const;Utils::SString findString(const Utils::SString &str, bool bIgnoreCase = false) const;int findStringAndData(const Utils::SString& str, const Utils::SString& data, bool bIgnoreCase = false) const;int findPos(const Utils::SString& str, bool bIgnoreCase = false) const;CStringListIterator remove(CStringListIterator itr);bool remove(const Utils::SString &str, bool single = true);void removeAt(int at);size_t size() const;bool empty() const;const Utils::SStringList* operator[](int num) const;};} //NAMESPACE