Main MRPT website > C++ reference for MRPT 1.5.6
Classes | Namespaces | Functions
metaprogramming.h File Reference
#include <mrpt/utils/CObject.h>
#include <mrpt/utils/metaprogramming_serialization.h>
Include dependency graph for metaprogramming.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::utils
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
 
 mrpt::utils::metaprogramming
 A set of utility objects for metaprogramming with STL algorithms.
 

Functions

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...
 



Page generated by Doxygen 1.8.6 for MRPT 1.5.6 Git: 4c65e84 Tue Apr 24 08:18:17 2018 +0200 at mar abr 24 08:26:17 CEST 2018