24 #ifndef __CORE_UTILS_LOCK_LIST_H_
25 #define __CORE_UTILS_LOCK_LIST_H_
27 #include <core/threading/mutex.h>
28 #include <core/utils/refptr.h>
43 template <
typename Type>
60 virtual void lock()
const;
68 virtual void unlock()
const;
114 template <
typename Type>
116 : __mutex(new
Mutex())
120 template <
typename Type>
122 : std::list<Type>::list(ll), __mutex(new
Mutex())
126 template <
typename Type>
134 template <
typename Type>
138 return __mutex->try_lock();
142 template <
typename Type>
146 return __mutex->unlock();
150 template <
typename Type>
155 std::list<Type>::push_back(x);
160 template <
typename Type>
165 std::list<Type>::push_front(x);
170 template <
typename Type>
175 std::list<Type>::remove(x);
180 template <
typename Type>
188 template <
typename Type>
196 for (i = ll.begin(); i != ll.end(); ++i) {
206 template <
typename Type>
212 typename std::list<Type>::const_iterator i;
213 for (i = l.begin(); i != l.end(); ++i) {