MRPT logo
Classes | Namespaces | Defines | Typedefs

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 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; \
                };

Definition at line 80 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 97 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 149 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 107 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 112 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 102 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 142 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 132 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 117 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 127 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 87 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 92 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 137 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 122 of file types.h.




Page generated by Doxygen 1.7.1 for MRPT 0.8.1 SVN:exported at Sun Sep 19 14:53:45 UTC 2010