Subversion Repositories spk

Rev

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

Rev 113 Rev 116
Line 31... Line 31...
31
		T *first();
31
		T *first();
32
		T *next();
32
		T *next();
33
 
33
 
34
		bool empty() const;
34
		bool empty() const;
35
		size_t size() const;
35
		size_t size() const;
-
 
36
 
-
 
37
		T *get(int i) const;
36
	};
38
	};
37
 
39
 
38
 
40
 
39
	///////////////////////////////////////////////////////////////////////////
41
	///////////////////////////////////////////////////////////////////////////
40
 
42
 
Line 48... Line 50...
48
	template <class T>
50
	template <class T>
49
	CList<T>::~CList()
51
	CList<T>::~CList()
50
	{
52
	{
51
		clear();
53
		clear();
52
		delete _lItems;
54
		delete _lItems;
53
	}
55
	}
54
 
56
 
55
	template <class T>
57
	template <class T>
56
	void CList<T>::clear()
58
	void CList<T>::clear()
57
	{
59
	{
58
		if ( !_bDontClear ) {
60
		if ( !_bDontClear ) {
59
			for(std::vector<T *>::iterator itr = _lItems->begin(); itr != _lItems->end(); itr++) {
61
			for(std::vector<T *>::iterator itr = _lItems->begin(); itr != _lItems->end(); itr++) {
60
				T *data = (*itr);
62
				T *data = (*itr);
Line 68... Line 70...
68
	template <class T>
70
	template <class T>
69
	T *CList<T>::push_back(T *pItem)
71
	T *CList<T>::push_back(T *pItem)
70
	{
72
	{
71
		_lItems->push_back(pItem);
73
		_lItems->push_back(pItem);
72
		return pItem;
74
		return pItem;
73
	}
75
	}
74
 
76
 
75
 
77
 
76
	template <class T>
78
	template <class T>
77
	typename CList<T>::iterator CList<T>::begin()
79
	typename CList<T>::iterator CList<T>::begin()
78
	{
80
	{
79
		return _lItems->begin();
81
		return _lItems->begin();
80
	}
82
	}
Line 88... Line 90...
88
	template <class T>
90
	template <class T>
89
	T *CList<T>::first()
91
	T *CList<T>::first()
90
	{
92
	{
91
		if ( _lItems->empty() ) return NULL;
93
		if ( _lItems->empty() ) return NULL;
92
		_pItr = _lItems->begin();
94
		_pItr = _lItems->begin();
93
		return *_pItr;
95
		return *_pItr;
94
	}
96
	}
95
 
97
 
96
	template <class T>
98
	template <class T>
97
	T *CList<T>::next()
99
	T *CList<T>::next()
98
	{
100
	{
99
		if ( _lItems->empty() ) return NULL;
101
		if ( _lItems->empty() ) return NULL;
100
		if ( _pItr == _lItems->end() ) return NULL;
102
		if ( _pItr == _lItems->end() ) return NULL;
101
		++_pItr;
103
		++_pItr;
102
		if ( _pItr == _lItems->end() ) return NULL;
104
		if ( _pItr == _lItems->end() ) return NULL;
103
		return *_pItr;
105
		return *_pItr;
104
	}
106
	}
105
 
107
 
106
	template <class T>
108
	template <class T>
107
	bool CList<T>::empty() const
109
	bool CList<T>::empty() const
108
	{
110
	{
109
		return _lItems->empty();
111
		return _lItems->empty();
110
	}
112
	}
111
 
113
 
112
	template <class T>
114
	template <class T>
113
	size_t CList<T>::size() const
115
	size_t CList<T>::size() const
-
 
116
	{
-
 
117
		return _lItems->size();
-
 
118
	}
-
 
119
 
-
 
120
	template <class T>
-
 
121
	T *CList<T>::get(int i) const
114
	{
122
	{
115
		return _lItems->size();
123
		return (*_lItems)[i];
116
	}
124
	}
117
}
125
}
118
//}
126
//}
119
 
127
 
120
#endif //__LIST_H__
128
#endif //__LIST_H__