28 #ifndef __TERRALIB_COMMON_INTERNAL_STLUTILS_H    29 #define __TERRALIB_COMMON_INTERNAL_STLUTILS_H    49     template<
class T> 
inline void FreeContents(
const std::vector<T*>& v)
    51       std::size_t size = v.size();
    53       for(std::size_t i = 0; i < size; ++i)
    66       for(
typename std::list<T*>::const_iterator it = l.begin(); it != l.end(); ++it)
    77     template<
class K, 
class V> 
inline void FreeContents(std::map<K, V*>& m)
    79       typename std::map<K, V*>::const_iterator it = m.begin();
    80       typename std::map<K, V*>::const_iterator itend = m.end();
    96     template<
class V, 
class C> 
inline void FreeContents(std::set<V*, C>& m)
    98       typename std::set<V*, C>::const_iterator it = m.begin();
    99       typename std::set<V*, C>::const_iterator itend = m.end();
   131     template<
class T> 
inline void Free(std::vector<T*>* v)
   136       std::size_t size = v->size();
   138       for(std::size_t i = 0; i < size; ++i)
   149     inline void Free(
char** carray)
   151       for(
char** aux = carray; *aux; ++aux)
   163     template<
class T> 
inline void Free(T** a, std::size_t s)
   165       for(std::size_t i = 0; i < s; ++i)
   179     template<
class K, 
class V> 
inline V* 
GetPValue(
const std::map<K, V*>& m, 
const K& k)
   181       typename std::map<K, V*>::const_iterator it = m.find(k);
   197     template<
class K, 
class C> 
inline K* 
GetPValue(
const std::set<K*, C>& m, K* k)
   199       typename std::set<K*, C>::const_iterator it = m.find(k);
   217     template<
class K, 
class V> 
inline V** 
GetPPValue(std::map<K, V*>& m, 
const K& k)
   219       typename std::map<K, V*>::iterator it = m.find(k);
   222         return &(it->second);
   237     template<
class T> 
inline void Clone(
const std::vector<T*>& src, std::vector<T*>& dst)
   239       std::size_t size = src.size();
   243       for(std::size_t i = 0; i < size; ++i)
   244         dst.push_back(static_cast<T*>(src[i]->clone()));
   255     template<
class T> 
inline void Copy(
const std::vector<T*>& src, std::vector<T*>& dst)
   257       std::size_t size = src.size();
   261       for(std::size_t i = 0; i < size; ++i)
   262         dst.push_back(
new T(*src[i]));
   265     template<
class T> 
inline bool Contains(
const std::vector<T>& src, 
const T& value)
   267       return std::find(src.begin(), src.end(), value) != src.end();
   273 #endif  // __TERRALIB_COMMON_INTERNAL_STLUTILS_H V * GetPValue(const std::map< K, V * > &m, const K &k)
It finds for a given key in the map and returns a pointer if something is found or NULL otherwise...
 
bool Contains(const std::vector< T > &src, const T &value)
 
void Copy(const std::vector< T * > &src, std::vector< T * > &dst)
This function can be applied to a vector of pointers. It will copy element by element through its cop...
 
V ** GetPPValue(std::map< K, V * > &m, const K &k)
It finds for a given key in the map and returns a pointer if something is found or NULL otherwise...
 
void Free(std::vector< T * > *v)
This function can be applied to a pointer to a vector of pointers. 
 
void Clone(const std::vector< T * > &src, std::vector< T * > &dst)
This function can be applied to a vector of pointers. 
 
void FreeContents(boost::unordered_map< K, V * > &m)
This function can be applied to a map of pointers. It will delete each pointer in the map...