Subversion Repositories spk

Rev

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

Rev 160 Rev 170
Line 22... Line 22...
22
	public:
22
	public:
23
		CList(bool bDontClear = false);
23
		CList(bool bDontClear = false);
24
		~CList();
24
		~CList();
25
 
25
 
26
		void clear();
26
		void clear();
-
 
27
		void deleteItems();
-
 
28
 
27
		T *push_back(T *pItem);
29
		T *push_back(T *pItem);
28
		T *push_front(T *pItem);
30
		T *push_front(T *pItem);
29
		void pop_back();
31
		void pop_back();
30
 
32
 
31
		iterator insert(iterator itr, T *pItem);
33
		iterator insert(iterator itr, T *pItem);
32
		iterator insertAt(int idx, T* pItem);
34
		iterator insertAt(int idx, T* pItem);
33
 
35
 
34
		iterator begin();
36
		iterator begin() const;
35
		iterator end();
37
		iterator end() const;
36
		T *first();
38
		T *first();
37
		T *next();
39
		T *next();
38
 
40
 
39
		T* front() const;
41
		T* front() const;
40
		T* back() const;
42
		T* back() const;
Line 44... Line 46...
44
 
46
 
45
		T *get(int i) const;
47
		T *get(int i) const;
46
 
48
 
47
		iterator remove(iterator itr);
49
		iterator remove(iterator itr);
48
		iterator removeAt(int idx);
50
		iterator removeAt(int idx);
-
 
51
 
-
 
52
		T* operator[](size_t idx);
49
	};
53
	};
50
 
54
 
51
 
55
 
52
	///////////////////////////////////////////////////////////////////////////
56
	///////////////////////////////////////////////////////////////////////////
53
 
57
 
Line 77... Line 81...
77
 
81
 
78
		_lItems->clear();
82
		_lItems->clear();
79
	}
83
	}
80
 
84
 
81
	template <class T>
85
	template <class T>
-
 
86
	void CList<T>::deleteItems()
-
 
87
	{
-
 
88
		for (std::vector<T*>::iterator itr = _lItems->begin(); itr != _lItems->end(); itr++) {
-
 
89
			T* data = (*itr);
-
 
90
			delete (*itr);
-
 
91
		}
-
 
92
		_lItems->clear();
-
 
93
	}
-
 
94
 
-
 
95
	template <class T>
82
	T* CList<T>::push_back(T* pItem)
96
	T* CList<T>::push_back(T* pItem)
83
	{
97
	{
84
		_lItems->push_back(pItem);
98
		_lItems->push_back(pItem);
85
		return pItem;
99
		return pItem;
86
	}
100
	}
Line 109... Line 123...
109
		_lItems->insert(_lItems->begin(), pItem);
123
		_lItems->insert(_lItems->begin(), pItem);
110
		return pItem;
124
		return pItem;
111
	}
125
	}
112
 
126
 
113
	template <class T>
127
	template <class T>
114
	typename CList<T>::iterator CList<T>::begin()
128
	typename CList<T>::iterator CList<T>::begin() const
115
	{
129
	{
116
		return _lItems->begin();
130
		return _lItems->begin();
117
	}
131
	}
118
 
132
 
119
	template <class T>
133
	template <class T>
120
	typename CList<T>::iterator CList<T>::end()
134
	typename CList<T>::iterator CList<T>::end() const
121
	{
135
	{
122
		return _lItems->end();
136
		return _lItems->end();
123
	}
137
	}
124
 
138
 
125
	template <class T>
139
	template <class T>
Line 181... Line 195...
181
	template <class T>
195
	template <class T>
182
	typename CList<T>::iterator CList<T>::removeAt(int idx)
196
	typename CList<T>::iterator CList<T>::removeAt(int idx)
183
	{
197
	{
184
		return _lItems->erase(_lItems->begin() + idx);
198
		return _lItems->erase(_lItems->begin() + idx);
185
	}
199
	}
-
 
200
 
-
 
201
	template <class T>
-
 
202
	T* CList<T>::operator[](size_t idx)
-
 
203
	{
-
 
204
		if(idx < _lItems->size())	
-
 
205
			return _lItems[idx];
-
 
206
		return nullptr;
-
 
207
	}
186
}
208
}
187
//}
209
//}
188
 
210
 
189
#endif //__LIST_H__
211
#endif //__LIST_H__
190
212