Subversion Repositories spk

Rev

Rev 112 | Rev 121 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8 cycrow 1
#pragma once
2
 
3
#include "String.h"
4
#include "../lists.h"
112 cycrow 5
#include "List.h"
8 cycrow 6
 
7
namespace Utils {
88 cycrow 8
 
8 cycrow 9
	typedef struct {
10
		String str;
11
		String data;
12
	} SStringList;
13
 
88 cycrow 14
	typedef CListNode<SStringList> CStringListNode;
112 cycrow 15
	typedef CList<SStringList>::iterator CStringListIterator;
88 cycrow 16
 
112 cycrow 17
	class SPKEXPORT CStringList
8 cycrow 18
	{
112 cycrow 19
	private:
20
		CList<SStringList> *_lList;
21
 
8 cycrow 22
	public:
112 cycrow 23
		CStringList();
24
		~CStringList();
25
 
8 cycrow 26
		void pushBack(const String &str, const String &data);
111 cycrow 27
		void pushBack(const String &str);
28
 
9 cycrow 29
		void clear();
98 cycrow 30
		void tokenise(const String &str, const String &token);
31
 
32
		Utils::String firstString();
33
		Utils::String nextString();
112 cycrow 34
		Utils::SStringList *first();
35
		Utils::SStringList *next();
36
		CStringListIterator begin();
37
		CStringListIterator end();
101 cycrow 38
 
116 cycrow 39
		Utils::SStringList *get(int i);
40
 
101 cycrow 41
		Utils::String findData(const Utils::String &data, bool bIgnoreCase = false) const;
42
		Utils::String findString(const Utils::String &str, bool bIgnoreCase = false) const;
112 cycrow 43
 
44
		size_t size() const;
45
		bool empty() const;
8 cycrow 46
	};
47
} //NAMESPACE
48