A set of utility objects for metaprogramming with STL algorithms.
Classes | |
class | BinaryMemberFunctionWrapper |
This template encapsulates a binary member function and a single object into a function expecting the two parameters of the member function. More... | |
class | MemberFunctionWrapper |
This template encapsulates a member function without arguments and a single object into a function. More... | |
class | MemoryBypasserIterator |
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 | NonConstBind1st |
Equivalent of std::bind1st for functions with non-const arguments. More... | |
class | NonConstBind2nd |
Equivalent of std::bind2nd for functions with non-const arguments. More... | |
struct | 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 | 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 | 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 | ObjectClearUnique |
An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms. More... | |
struct | ObjectConvert |
An object for transforming between types/classes, intended for being used in STL algorithms. More... | |
struct | ObjectDelete |
An object for deleting pointers (intended for STL algorithms) More... | |
struct | ObjectMakeUnique |
An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms. More... | |
struct | ObjectPairMakeUnique |
An object for making smart pointers unique (ie, making copies if necessary), intended for being used in STL algorithms. More... | |
struct | ObjectReadFromStream |
An object for reading objects from a stream, intended for being used in STL algorithms. More... | |
struct | ObjectReadFromStreamToPtrs |
struct | ObjectWriteToStream |
An object for writing objects to a stream, intended for being used in STL algorithms. More... | |
class | UnaryMemberFunctionWrapper |
This template encapsulates an unary member function and a single object into a function expecting the parameter of the member function. More... | |
Functions | |
template<typename T > | |
void | DeleteContainer (T &container) |
A function which deletes a container of pointers. More... | |
template<typename it_src , typename it_dst > | |
void | 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 | 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 > | bypassPointer (const T &baseIterator) |
Sintactic sugar for MemoryBypasserIterator. More... | |
template<typename T , typename U1 , typename U2 , typename V > | |
BinaryMemberFunctionWrapper< T, U1, U2, V > | 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 > | wrapMember (V &obj, T(V::*fun)(U)) |
template<typename T , typename V > | |
MemberFunctionWrapper< T, V > | wrapMember (V &obj, T(V::*fun)(void)) |
template<typename Op > | |
NonConstBind1st< Op > | nonConstBind1st (Op &o, typename Op::first_argument_type &t) |
Use this function instead of directly calling NonConstBind1st. More... | |
template<typename Op > | |
NonConstBind2nd< Op > | nonConstBind2nd (Op &o, typename Op::second_argument_type &t) |
Do not directly use the NonConstBind2nd class directly. More... | |
Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at mié abr 15 19:30:12 CEST 2020 |