11 #include <boost/unordered_map.hpp>
12 #include <boost/unordered_set.hpp>
15 #include <boost/bind/bind.hpp>
25 const typename P::first_type&
35 const typename P::second_type&
55 static_cast<void>(index);
57 Assert((index==0&&t.size()==1)
58 || (t.size()>1 && index<=t.size()-1));
63 typename C::iterator it = std::find(_container.begin(), _container.end(), pT);
64 if (it!=_container.end())
73 typename C::iterator it = std::find(_container.begin(), _container.end(), pT);
74 if (it!=_container.end())
80 template <
class K,
class T> T*
get_from_map(std::map<K, T*>& _map,
const K& key)
82 typename std::map<K, T*>::const_iterator it = _map.find(key);
90 typename std::map<K, T*>::iterator it = _map.find(key);
102 while(_vector.empty()==
false)
110 while(_list.empty()==
false)
118 while(_set.empty()==
false)
126 while(_map.empty()==
false)
128 typename std::map<K, T*>::iterator it = _map.begin();
138 template <
class T> T*
get_nth_item(boost::unordered_set<T*>& _set,
size_t index)
145 typename std::list<T*>::const_iterator it = _set.begin();
146 std::advance(it, index);
157 typename std::list<T*>::const_iterator it = _list.begin();
158 std::advance(it, index);
162 template <
class T>
const T*
get_nth_item(
const std::list<T*>& _list,
size_t index)
169 typename std::list<T*>::const_iterator it = _list.begin();
170 std::advance(it, index);
174 template <
class T> T*
get_nth_item(std::vector<T*>& _vector,
size_t index)
181 return _vector[index];
184 template <
class T> T*
get_nth_item(
const std::vector<T*>& _vector,
size_t index)
191 return _vector[index];
194 template <
class K,
class T> T*
get_nth_item(std::map<K, T*>& _map,
size_t index)
201 typename std::map<K, T*>::const_iterator it = _map.begin();
202 std::advance(it, index);
206 template <
class K,
class T> T*
get_nth_item(
const std::map<K, T*>& _map,
size_t index)
213 typename std::map<K, T*>::const_iterator it = _map.begin();
214 std::advance(it, index);
T * get_nth_item(boost::unordered_set< T * > &_set, size_t index)
Definition: DtSTLUtilities.h:138
void verify_index_for_container(size_t index, const T &t)
Definition: DtSTLUtilities.h:51
void destroy_all_from_vector(std::vector< T * > &_vector)
Definition: DtSTLUtilities.h:100
void destroy_from_map(std::map< K, T * > &_map, const K &key)
Definition: DtSTLUtilities.h:88
void remove_from_container(C &_container, T *pT)
Definition: DtSTLUtilities.h:71
void destroy_from_container(C &_container, T *pT)
Definition: DtSTLUtilities.h:61
T * get_from_map(std::map< K, T * > &_map, const K &key)
Definition: DtSTLUtilities.h:80
void destroy_all_from_unordered_set(boost::unordered_set< T * > &_set)
Definition: DtSTLUtilities.h:116
Definition: DtSTLUtilities.h:42
void destroy_all_from_map(std::map< K, T * > &_map)
Definition: DtSTLUtilities.h:124
void operator()(T *obj)
Definition: DtSTLUtilities.h:44
void destroy_all_from_list(std::list< T * > &_list)
Definition: DtSTLUtilities.h:108
#define Assert(exp)
Definition: DtAssert.h:25