| 
| struct   | mrpt::utils::metaprogramming::ObjectDelete | 
|   | An object for deleting pointers (intended for STL algorithms)  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectClear | 
|   | An object for clearing an object (invokes its method "->clear()") given a pointer or smart-pointer, intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectClear2 | 
|   | An object for clearing an object (invokes its method ".clear()") given a pointer or smart-pointer, intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectClearSecond | 
|   | An object for clearing an object->second (invokes its method "clear()") given a pointer or smart-pointer, intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectConvert< TARGET_TYPE > | 
|   | An object for transforming between types/classes, intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectMakeUnique | 
|   | An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectPairMakeUnique | 
|   | An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms.  More...
  | 
|   | 
| struct   | mrpt::utils::metaprogramming::ObjectClearUnique< T > | 
|   | An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U > | 
|   | This class bypasses pointer access in iterators to pointers, thus allowing the use of algorithms that expect an object of class T with containers of T*.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::BinaryMemberFunctionWrapper< T, U1, U2, V > | 
|   | This template encapsulates a binary member function and a single object into a function expecting the two parameters of the member function.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::UnaryMemberFunctionWrapper< T, U, V > | 
|   | This template encapsulates an unary member function and a single object into a function expecting the parameter of the member function.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::MemberFunctionWrapper< T, V > | 
|   | This template encapsulates a member function without arguments and a single object into a function.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::NonConstBind1st< Op > | 
|   | Equivalent of std::bind1st for functions with non-const arguments.  More...
  | 
|   | 
| class   | mrpt::utils::metaprogramming::NonConstBind2nd< Op > | 
|   | Equivalent of std::bind2nd for functions with non-const arguments.  More...
  | 
|   | 
 | 
| template<typename T >  | 
| void  | mrpt::utils::metaprogramming::DeleteContainer (T &container) | 
|   | A function which deletes a container of pointers.  More...
  | 
|   | 
| template<typename it_src , typename it_dst >  | 
| void  | mrpt::utils::metaprogramming::copy_typecasting (it_src first, it_src last, it_dst target) | 
|   | Behaves like std::copy but allows the source and target iterators to be of different types through static typecasting.  More...
  | 
|   | 
| template<typename src_container , typename dst_container >  | 
| void  | mrpt::utils::metaprogramming::copy_container_typecasting (const src_container &src, dst_container &trg) | 
|   | Copy all the elements in a container (vector, deque, list) into a different one performing the appropriate typecasting.  More...
  | 
|   | 
| template<typename U , typename T >  | 
| MemoryBypasserIterator< T, U >  | mrpt::utils::metaprogramming::bypassPointer (const T &baseIterator) | 
|   | Sintactic sugar for MemoryBypasserIterator.  More...
  | 
|   | 
| template<typename T , typename U1 , typename U2 , typename V >  | 
| BinaryMemberFunctionWrapper< T, U1, U2, V >  | mrpt::utils::metaprogramming::wrapMember (V &obj, T(V::*fun)(U1, U2)) | 
|   | This function creates a function from an object and a member function.  More...
  | 
|   | 
| template<typename T , typename U , typename V >  | 
| UnaryMemberFunctionWrapper< T, U, V >  | mrpt::utils::metaprogramming::wrapMember (V &obj, T(V::*fun)(U)) | 
|   | 
| template<typename T , typename V >  | 
| MemberFunctionWrapper< T, V >  | mrpt::utils::metaprogramming::wrapMember (V &obj, T(V::*fun)(void)) | 
|   | 
| template<typename Op >  | 
| NonConstBind1st< Op >  | mrpt::utils::metaprogramming::nonConstBind1st (Op &o, typename Op::first_argument_type &t) | 
|   | Use this function instead of directly calling NonConstBind1st.  More...
  | 
|   | 
| template<typename Op >  | 
| NonConstBind2nd< Op >  | mrpt::utils::metaprogramming::nonConstBind2nd (Op &o, typename Op::second_argument_type &t) | 
|   | Do not directly use the NonConstBind2nd class directly.  More...
  | 
|   |