Classes | |
struct | ObjectDelete |
An object for deleting pointers (intended for STL algorithms). 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 | ObjectConvert |
An object for transforming between types/classes, intended for being used in 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 | ObjectClearUnique |
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 | ObjectWriteToStream |
An object for writing objects to a stream, intended for being used in STL algorithms. More... | |
Functions | |
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. | |
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. |
void mrpt::utils::metaprogramming::copy_container_typecasting | ( | const src_container & | src, | |
dst_container & | trg | |||
) | [inline] |
Copy all the elements in a container (vector, deque, list) into a different one performing the appropriate typecasting.
The target container is automatically resized to the appropriate size, and previous contents are lost. This can be used to assign std::vector's of different types:
std::vector<int> vi(10); std::vector<float> vf; vf = vi; // Compiler error mrpt::utils::metaprogramming::copy_container_typecasting(v1,vf); // Ok
Definition at line 167 of file metaprogramming.h.
References copy_typecasting().
Referenced by mrpt::opengl::CAngularObservationMesh::FTrace2D< T >::operator()().
void mrpt::utils::metaprogramming::copy_typecasting | ( | it_src | first, | |
it_src | last, | |||
it_dst | target | |||
) | [inline] |
Behaves like std::copy but allows the source and target iterators to be of different types through static typecasting.
Definition at line 150 of file metaprogramming.h.
Referenced by copy_container_typecasting().
Page generated by Doxygen 1.5.7.1 for MRPT 0.7.1 SVN: at Mon Aug 17 23:10:56 EDT 2009 |