Subversion Repositories spk

Rev

Rev 116 | Rev 124 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 116 Rev 121
Line 21... Line 21...
21
		_lList->push_back(strNode);
21
		_lList->push_back(strNode);
22
	}
22
	}
23
	void CStringList::pushBack(const String &str)
23
	void CStringList::pushBack(const String &str)
24
	{
24
	{
25
		pushBack(str, "");
25
		pushBack(str, "");
-
 
26
	}
-
 
27
 
-
 
28
	void CStringList::pushFront(const String &str, const String &data)
-
 
29
	{
-
 
30
		SStringList *strNode = new SStringList;
-
 
31
		strNode->str = str;
-
 
32
		strNode->data = data;
-
 
33
		_lList->push_front(strNode);
-
 
34
	}
-
 
35
	void CStringList::pushFront(const String &str)
-
 
36
	{
-
 
37
		pushFront(str, "");
26
	}
38
	}
27
 
39
 
28
	void CStringList::clear()
40
	void CStringList::clear()
29
	{
41
	{
30
		_lList->clear();
42
		_lList->clear();
Line 40... Line 52...
40
 
52
 
41
		CLEANSPLIT(strs, max);
53
		CLEANSPLIT(strs, max);
42
	}
54
	}
43
 
55
 
44
	Utils::String CStringList::firstString()
56
	Utils::String CStringList::firstString()
45
	{
57
	{
46
		SStringList *node = _lList->first();
58
		SStringList *node = _lList->first();
47
		if ( node ) return node->str;
59
		if ( node ) return node->str;
48
		return Utils::String::Null();
60
		return Utils::String::Null();
49
	}
61
	}
50
 
62
 
Line 56... Line 68...
56
	}
68
	}
57
 
69
 
58
	Utils::SStringList *CStringList::first()
70
	Utils::SStringList *CStringList::first()
59
	{
71
	{
60
		return _lList->first();
72
		return _lList->first();
61
	}
73
	}
62
 
74
 
63
	Utils::SStringList *CStringList::next()
75
	Utils::SStringList *CStringList::next()
64
	{
76
	{
65
		return _lList->next();
77
		return _lList->next();
66
	}
78
	}
67
 
79
 
68
	CStringListIterator CStringList::begin()
80
	CStringListIterator CStringList::begin()
69
	{
81
	{
70
		return _lList->begin();
82
		return _lList->begin();
71
	}
83
	}
72
 
84
 
73
	CStringListIterator CStringList::end()
85
	CStringListIterator CStringList::end()
74
	{
86
	{
75
		return _lList->end();
87
		return _lList->end();
76
	}
88
	}
Line 80... Line 92...
80
		return _lList->get(i);
92
		return _lList->get(i);
81
	}
93
	}
82
 
94
 
83
	Utils::String CStringList::findData(const Utils::String &data, bool bIgnoreCase) const
95
	Utils::String CStringList::findData(const Utils::String &data, bool bIgnoreCase) const
84
	{
96
	{
85
		for(CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
97
		for (CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
86
			if ( (*itr)->data.Compare(data, !bIgnoreCase) )
98
			if ((*itr)->data.Compare(data, !bIgnoreCase))
87
				return (*itr)->str;
99
				return (*itr)->str;
88
		}
100
		}
89
 
101
 
90
		return String::Null();
102
		return String::Null();
91
	}
103
	}
92
 
104
 
93
	Utils::String CStringList::findString(const Utils::String &str, bool bIgnoreCase) const
105
	Utils::String CStringList::findString(const Utils::String &str, bool bIgnoreCase) const
94
	{
106
	{
95
		for(CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
107
		for (CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
96
			if ( (*itr)->str.Compare(str, !bIgnoreCase) )
108
			if ((*itr)->str.Compare(str, !bIgnoreCase))
97
				return (*itr)->data;
109
				return (*itr)->data;
98
		}
110
		}
99
 
111
 
100
		return String::Null();
112
		return String::Null();
101
	}
113
	}
-
 
114
 
-
 
115
	bool CStringList::containsData(const Utils::String &data, bool bIgnoreCase) const
-
 
116
	{
-
 
117
		for (CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
-
 
118
			if ((*itr)->data.Compare(data, !bIgnoreCase))
-
 
119
				return true;
-
 
120
		}
-
 
121
 
-
 
122
		return false;
-
 
123
	}
-
 
124
 
-
 
125
	bool CStringList::contains(const Utils::String &str, bool bIgnoreCase) const
-
 
126
	{
-
 
127
		for (CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
-
 
128
			if ((*itr)->str.Compare(str, !bIgnoreCase))
-
 
129
				return true;
-
 
130
		}
-
 
131
 
-
 
132
		return false;
-
 
133
	}
-
 
134
 
-
 
135
	void CStringList::removeAt(int at)
-
 
136
	{
-
 
137
		_lList->removeAt(at);
-
 
138
	}
-
 
139
	bool CStringList::remove(const Utils::String &str, bool single)
-
 
140
	{
-
 
141
		bool removed = false;
-
 
142
 
-
 
143
		CList<Utils::SStringList>::iterator itr = _lList->begin();
-
 
144
		while (itr != _lList->end())
-
 
145
		{
-
 
146
			Utils::SStringList *node = *itr;
-
 
147
			if (node->str == str)
-
 
148
			{
-
 
149
				itr = _lList->remove(itr);
-
 
150
				if (single)
-
 
151
					break;
-
 
152
			}
-
 
153
			else
-
 
154
				++itr;
-
 
155
		}
-
 
156
 
-
 
157
 
-
 
158
		return removed;
-
 
159
	}
-
 
160
 
-
 
161
 
-
 
162
 
102
 
163
 
103
	size_t CStringList::size() const
164
	size_t CStringList::size() const
104
	{
165
	{
105
		return _lList->size();
166
		return _lList->size();
106
	}
167
	}