Main MRPT website > C++ reference
MRPT logo

types.h File Reference

#include <vector>
#include <list>
#include <set>
#include <map>
#include <string>
#include <stdexcept>
#include "pstdint.h"
#include <mrpt/math/math_frwds.h>
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mrpt::mrpt_base_vector< _TYPE >
 Numeric vectors compatible with mrpt/math/ops_containers.h:. More...
struct  mrpt::mrpt_base_vector< _TYPE >::mrpt_container< ANOTHERCONT >
struct  mrpt::utils::TColor
 A RGB color - 8bit. More...
struct  mrpt::utils::TColorf
 A RGB color - floats in the range [0,1]. More...
struct  mrpt::utils::TPixelCoordf
 A pair (x,y) of pixel coordinates (subpixel resolution). More...
struct  mrpt::utils::TPixelCoord
 A pair (x,y) of pixel coordinates (integer resolution). More...
struct  mrpt::utils::TParameters< T >
 For usage when passing a dynamic number of (numeric) arguments to a function, by name. More...

Namespaces

namespace  mrpt
 

This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.


namespace  mrpt::utils
 

Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.


Defines

#define __STDC_FORMAT_MACROS
#define DECLARE_MRPT_CONTAINER_TYPES
 < See ops_containers.h
#define COMMON_DECLARE_MRPT_CONTAINER_IS_MATRIX
#define DECLARE_MRPT_CONTAINER_IS_MATRIX
#define DECLARE_MRPT_CONTAINER_IS_MATRIX_FIXED(NROWS, NCOLS)
#define DECLARE_MRPT_CONTAINER_IS_VECTOR
#define DECLARE_MRPT_CONTAINER_IS_VECTOR_FIXED(LEN)
#define RET_VOID_ASSERT_MRPTCONTAINER(_CONTAINER)   typename _CONTAINER::template mrpt_container<void>::void_type
 A metaprogramming approach to assure that one type is a MRPT containers, to limit the scope of generic templates.
#define RET_VOID_ASSERT_MRPTCONTAINERS(_CONTAINER1, _CONTAINER2)   typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::void_type
 A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.
#define RET_CONT1_ASSERT_MRPTCONTAINERS(_CONTAINER1, _CONTAINER2)   typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::cont_type
 A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.
#define RET_ELEMENT_ASSERT_MRPTCONTAINERS(_CONTAINER1, _CONTAINER2)   typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::element_type
 A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.
#define RET_CONT_ASSERT_MRPTCONTAINER(_CONTAINER)   typename _CONTAINER::mrpt_autotype
 A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.
#define RET_ELEMENT_ASSERT_MRPTCONTAINER(_CONTAINER)   typename _CONTAINER::mrpt_autotype::value_type
 A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.
#define RET_TYPE_ASSERT_MRPTCONTAINER(_CONTAINER, _RETTYPE)   typename _CONTAINER::template mrpt_container<_RETTYPE>::dum_type
 A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.
#define RET_VOID_ASSERT_MRPTMATRIX(_MATRIX)   typename _MATRIX::template mrpt_matrix_tag_templ<void>::void_type
 A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.
#define RET_TYPE_ASSERT_MRPTMATRIX(_MATRIX, _RETTYPE)   typename _MATRIX::template mrpt_matrix_tag_templ<_RETTYPE>::dum_type
 A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.
#define RET_MAT_ASSERT_MRPTMATRIX(_MATRIX)   typename _MATRIX::template mrpt_matrix_tag_templ<void>::cont_type
 A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.
#define RET_VOID_ASSERT_MRPTMATRICES(_MATRIX1, _MATRIX2)   typename _MATRIX1::template mrpt_matrix_tag_templ<typename _MATRIX2::mrpt_matrix_tag>::void_type
 A metaprogramming approach to assure that two types are MRPT matrices, to limit the scope of generic templates.
#define RET_MAT1_ASSERT_MRPTMATRICES(_MATRIX1, _MATRIX2)   typename _MATRIX1::template mrpt_matrix_tag_templ<typename _MATRIX2::mrpt_matrix_tag>::cont_type
 A metaprogramming approach to assure that two types are MRPT matrices, to limit the scope of generic templates.
#define RET_CONT1_ASSERT_MRPTVECTORS(_VECTOR1, _VECTOR2)   typename _VECTOR1::template mrpt_vector_tag_templ<typename _VECTOR2::mrpt_vector_tag>::cont_type
 A metaprogramming approach to assure that two types are MRPT vectors, to limit the scope of generic templates.

Typedefs

typedef mrpt_base_vector< float > mrpt::vector_float
typedef mrpt_base_vector< double > mrpt::vector_double
typedef mrpt_base_vector< int8_t > mrpt::vector_signed_byte
typedef mrpt_base_vector< int16_t > mrpt::vector_signed_word
typedef mrpt_base_vector< int32_t > mrpt::vector_int
typedef mrpt_base_vector< int64_t > mrpt::vector_long
typedef mrpt_base_vector< size_t > mrpt::vector_size_t
typedef mrpt_base_vector< uint8_t > mrpt::vector_byte
typedef mrpt_base_vector
< uint16_t > 
mrpt::vector_word
typedef mrpt_base_vector
< uint32_t > 
mrpt::vector_uint
typedef std::vector< bool > mrpt::vector_bool
 A type for passing a vector of bools.
typedef std::vector< std::string > mrpt::vector_string
 A type for passing a vector of strings.
typedef void(* mrpt::utils::TFunctor_noRet_1inputs )(const void *)
 A generic functor type for functions accepting 1 input arguments and returning nothing.
typedef void(* mrpt::utils::TFunctor_noRet_2inputs )(const void *, const void *)
 A generic functor type for functions accepting 2 input arguments and returning nothing.
typedef void(* mrpt::utils::TFunctor_noRet_3inputs )(const void *, const void *, const void *)
 A generic functor type for functions accepting 3 input arguments and returning nothing.
typedef double(* mrpt::utils::TFunctor_retDouble_1inputs )(const void *)
 A generic functor type for functions accepting 1 input arguments and returning a double value.
typedef double(* mrpt::utils::TFunctor_retDouble_2inputs )(const void *, const void *)
 A generic functor type for functions accepting 2 input arguments and returning a double value.
typedef double(* mrpt::utils::TFunctor_retDouble_3inputs )(const void *, const void *, const void *)
 A generic functor type for functions accepting 3 input arguments and returning a double value.
typedef void(* mrpt::utils::TFunctor_retVecDbl_inpVecDbl )(const vector_double &in, vector_double &out)
 A generic functor type for functions accepting 1 vector and returning 1 vector.
typedef void(* mrpt::utils::TFunctor_retVecFlt_inpVecFlt )(const vector_float &in, vector_float &out)
 A generic functor type for functions accepting 1 vector and returning 1 vector.
typedef void(* mrpt::utils::TFunctor_retVecInt_inpVecInt )(const vector_int &in, vector_int &out)
 A generic functor type for functions accepting 1 vector and returning 1 vector.
typedef void(* mrpt::utils::TFunctor_retVecDbl_inp2VecDbl )(const vector_double &x, const vector_double &y, vector_double &out)
 A generic functor type for functions accepting 2 vectors and returning 1 vector.
typedef void(* mrpt::utils::TFunctor_retVecFlt_inp2VecFlt )(const vector_float &x, const vector_float &y, vector_float &out)
 A generic functor type for functions accepting 2 vectors and returning 1 vector.
typedef void(* mrpt::utils::TFunctor_retVecInt_inp2VecInt )(const vector_int &x, const vector_int &y, vector_int &out)
 A generic functor type for functions accepting 2 vectors and returning 1 vector.
typedef double(* mrpt::utils::TFunctor_retDbl_inp1VecDbl )(const vector_double &in1)
 A generic functor type for functions accepting 1 vector and returning 1 double.
typedef double(* mrpt::utils::TFunctor_retDbl_inp2VecDbl )(const vector_double &in1, const vector_double &in2)
 A generic functor type for functions accepting 2 vectors and returning 1 double.
typedef double(* mrpt::utils::TFunctor_retDbl_inp3VecDbl )(const vector_double &in1, const vector_double &in2, const vector_double &in3)
 A generic functor type for functions accepting 3 vectors and returning 1 double.
typedef unsigned long mrpt::utils::POINTER_TYPE
 For performing type casting from a pointer to its numeric value.
typedef TPixelCoord mrpt::utils::TImageSize
 A type for image sizes.

Define Documentation

#define __STDC_FORMAT_MACROS

Definition at line 42 of file types.h.

#define COMMON_DECLARE_MRPT_CONTAINER_IS_MATRIX
Value:
typedef void mrpt_matrix_tag; \
                template <class ANOTHERCONT> struct mrpt_matrix_tag_templ { typedef void void_type; typedef ANOTHERCONT dum_type; typedef mrpt_autotype cont_type; \
                };

Definition at line 64 of file types.h.

#define DECLARE_MRPT_CONTAINER_IS_MATRIX
Value:
COMMON_DECLARE_MRPT_CONTAINER_IS_MATRIX \
                enum dummy_enum {  mrpt_matrix_type_ncols = -1, \
                                mrpt_matrix_type_nrows = -1 }; \

Definition at line 69 of file types.h.

#define DECLARE_MRPT_CONTAINER_IS_MATRIX_FIXED ( NROWS,
NCOLS   ) 
Value:
COMMON_DECLARE_MRPT_CONTAINER_IS_MATRIX \
                enum dummy_enum {  mrpt_matrix_type_ncols = NCOLS, \
                                mrpt_matrix_type_nrows = NROWS };

Definition at line 74 of file types.h.

#define DECLARE_MRPT_CONTAINER_IS_VECTOR
Value:
typedef void mrpt_vector_tag; \
                template <class ANOTHERCONT> struct mrpt_vector_tag_templ { typedef void void_type; typedef ANOTHERCONT dum_type; typedef mrpt_autotype cont_type; }; \
                enum dummy_enum {  mrpt_vector_type_len = -1 }; \

Definition at line 80 of file types.h.

#define DECLARE_MRPT_CONTAINER_IS_VECTOR_FIXED ( LEN   ) 
Value:
typedef void mrpt_vector_tag; \
                template <class ANOTHERCONT> struct mrpt_vector_tag_templ { typedef void void_type; typedef ANOTHERCONT dum_type; typedef mrpt_autotype cont_type; }; \
                enum dummy_enum {  mrpt_vector_type_len = LEN }; \

Definition at line 85 of file types.h.

#define DECLARE_MRPT_CONTAINER_TYPES
Value:
template <class ANOTHERCONT> struct mrpt_container { \
                        typedef void void_type; \
                        typedef ANOTHERCONT dum_type; \
                        typedef mrpt_autotype cont_type; \
                        typedef typename mrpt_autotype::value_type element_type; \
                };

< See ops_containers.h

Definition at line 56 of file types.h.

#define RET_CONT1_ASSERT_MRPTCONTAINERS ( _CONTAINER1,
_CONTAINER2   )     typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::cont_type

A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into a "_CONTAINER1" type which can be used in function declarations.

Definition at line 102 of file types.h.

#define RET_CONT1_ASSERT_MRPTVECTORS ( _VECTOR1,
_VECTOR2   )     typename _VECTOR1::template mrpt_vector_tag_templ<typename _VECTOR2::mrpt_vector_tag>::cont_type

A metaprogramming approach to assure that two types are MRPT vectors, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into a "_CONTAINER1" type which can be used in function declarations.

Definition at line 154 of file types.h.

#define RET_CONT_ASSERT_MRPTCONTAINER ( _CONTAINER   )     typename _CONTAINER::mrpt_autotype

A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into a "_CONTAINER" type which can be used in function declarations.

Definition at line 112 of file types.h.

#define RET_ELEMENT_ASSERT_MRPTCONTAINER ( _CONTAINER   )     typename _CONTAINER::mrpt_autotype::value_type

A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into the type of each "_CONTAINER"'s elements, which can be used in function declarations.

Definition at line 117 of file types.h.

#define RET_ELEMENT_ASSERT_MRPTCONTAINERS ( _CONTAINER1,
_CONTAINER2   )     typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::element_type

A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into the type of "_CONTAINER1"'s elements, which can be used in function declarations.

Definition at line 107 of file types.h.

#define RET_MAT1_ASSERT_MRPTMATRICES ( _MATRIX1,
_MATRIX2   )     typename _MATRIX1::template mrpt_matrix_tag_templ<typename _MATRIX2::mrpt_matrix_tag>::cont_type

A metaprogramming approach to assure that two types are MRPT matrices, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into the type of _MATRIX1 which can be used in function declarations.

Definition at line 147 of file types.h.

#define RET_MAT_ASSERT_MRPTMATRIX ( _MATRIX   )     typename _MATRIX::template mrpt_matrix_tag_templ<void>::cont_type

A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into the type of _MATRIX which can be used in function declarations.

Definition at line 137 of file types.h.

#define RET_TYPE_ASSERT_MRPTCONTAINER ( _CONTAINER,
_RETTYPE   )     typename _CONTAINER::template mrpt_container<_RETTYPE>::dum_type

A metaprogramming approach to assure that one type is a MRPT container, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into the type "_RETTYPE", which can be used in function declarations.

Definition at line 122 of file types.h.

#define RET_TYPE_ASSERT_MRPTMATRIX ( _MATRIX,
_RETTYPE   )     typename _MATRIX::template mrpt_matrix_tag_templ<_RETTYPE>::dum_type

A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into the type "_RETTYPE", which can be used in function declarations.

Definition at line 132 of file types.h.

#define RET_VOID_ASSERT_MRPTCONTAINER ( _CONTAINER   )     typename _CONTAINER::template mrpt_container<void>::void_type

A metaprogramming approach to assure that one type is a MRPT containers, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into a simple "void" which can be used in function declarations.

Definition at line 92 of file types.h.

#define RET_VOID_ASSERT_MRPTCONTAINERS ( _CONTAINER1,
_CONTAINER2   )     typename _CONTAINER1::template mrpt_container<typename _CONTAINER2::mrpt_autotype>::void_type

A metaprogramming approach to assure that two types are MRPT containers, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into a simple "void" which can be used in function declarations.

Definition at line 97 of file types.h.

#define RET_VOID_ASSERT_MRPTMATRICES ( _MATRIX1,
_MATRIX2   )     typename _MATRIX1::template mrpt_matrix_tag_templ<typename _MATRIX2::mrpt_matrix_tag>::void_type

A metaprogramming approach to assure that two types are MRPT matrices, to limit the scope of generic templates.

If both types fulfill the condition, the macro expands into a simple "void" which can be used in function declarations.

Definition at line 142 of file types.h.

#define RET_VOID_ASSERT_MRPTMATRIX ( _MATRIX   )     typename _MATRIX::template mrpt_matrix_tag_templ<void>::void_type

A metaprogramming approach to assure that a type is a MRPT matrix, to limit the scope of generic templates.

If the type fulfills the condition, the macro expands into a simple "void" which can be used in function declarations.

Definition at line 127 of file types.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010