MRPT logo

mrpt::utils Namespace Reference

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

Namespaces

namespace  metaprogramming
 

A set of utility objects for metaprogramming with STL algorithms.


namespace  net
 

A set of useful routines for networking.


Classes

class  CCanvas
 This virtual class defines the interface of any object accepting drawing primitives on it. More...
class  CClientTCPSocket
 A TCP socket that can be connected to a TCP server, implementing MRPT's CStream interface for passing objects as well as generic read/write methods. More...
class  CConfigFile
 This class allows loading and storing values and vectors of different types from ".ini" files easily. More...
class  CConfigFileBase
 This class allows loading and storing values and vectors of different types from a configuration text, which can be implemented as a ".ini" file, a memory-stored string, etc. More...
class  CConfigFileMemory
 This class implements a config file-like interface over a memory-stored string list. More...
class  CConsoleRedirector
 By creating an object of this class, all the output to std::cout (and std::cerr) will be redirected to a text file, and optionally also shown on the console. More...
class  CDebugOutputCapable
 This base class provides a common printf-like method to send debug information to std::cout, with the purpose of allowing its redirection to other streams if desired. More...
class  CDynamicGrid
 A 2D grid of dynamic size which stores any kind of data at each cell. More...
class  CEnhancedMetaFile
 This class represents a Windows Enhanced Meta File (EMF) for generating and saving graphics. More...
class  CFileGZInputStream
 Transparently opens a compressed "gz" file and reads uncompressed data from it. More...
class  CFileInputStream
 This CStream derived class allow using a file as a read-only, binary stream. More...
class  CFileOutputStream
 This CStream derived class allow using a file as a write-only, binary stream. More...
class  CFileStream
 This CStream derived class allow using a file as a read/write binary stream, creating it if the file didn't exist. More...
class  CImage
 A class for storing images as grayscale or RGB bitmaps. More...
class  CImageFloat
 In this class a grayscale image can be stored with float-type pixels. More...
class  CLoadableOptions
 This is a virtual base class for sets of options than can be loaded from and/or saved to configuration plain-text files. More...
class  CLog
 A decorator of CStringList special for keeping logs. More...
class  CMappedImage
 This class encapsulates a MRPT Image and allows the sampling of individual pixels with sub-pixel accuracy and with a change of coordinates (eg, meters). More...
class  CMemoryChunk
 A memory buffer (implements CStream) which can be itself serialized. More...
class  CMemoryStream
 This CStream derived class allow using a memory buffer as a CStream. More...
class  CMessage
 A class that contain generic messages, that can be sent and received from a "CClientTCPSocket" object. More...
class  CMessageQueue
 A thread-safe class for message passing between threads. More...
struct  TPropertyValueIDTriplet
 Internal triplet for each property in utils::CMHPropertiesValuesList. More...
class  CMHPropertiesValuesList
 An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object (Multi-hypotheses version). More...
class  CProbabilityDensityFunction
 A generic template for probability density distributions (PDFs). More...
class  CPropertiesValuesList
 An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object. More...
class  CReferencedMemBlock
 Represents a memory block (via "void*") that can be shared between several objects through copy operator (=). More...
struct  TRuntimeClassId
 A structure that holds runtime class type information. More...
struct  CLASSINIT
 Auxiliary structure used for CSerializable runtime class ID support. More...
class  CSerializable
 The virtual base class which provides a unified interface for all persistent objects in MRPT. More...
struct  TTypeName
 A template to obtain the type of its argument as a string at compile time. More...
struct  TTypeName< std::pair< T1, T2 > >
class  CServerTCPSocket
 A TCP socket that can be wait for client connections to enter. More...
class  CSimpleDatabaseTable
 This class implements the tables of databases. More...
class  CSimpleDatabase
 This class impements a very simple database system. More...
class  CStdOutStream
 This CStdOutStream derived class allow printing to standard out, normally the console text output. More...
class  CStream
 This base class is used to provide a unified interface to files,memory buffers,..Please see the derived classes. More...
class  CStringList
 A class for storing a list of text lines. More...
class  CTicTac
 This class implements a high-performance stopwatch. More...
class  CTimeLogger
 A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats. More...
class  CTypeSelector
 This class represents a std::string derived class which is also CSerializable. More...
class  CUncopiable
 The base class of classes that cannot be copied: compile-time errors will be issued on any copy operation. More...
class  CMRPTException
 The base for MRPT-especific exceptions. More...
class  CExceptionExternalImageNotFound
 Used in mrpt::utils::CImage. More...
class  CExceptionEOF
 Used in mrpt::utils::CStream. More...
struct  safe_ptr_basic
 A wrapper class for pointers that can be safely copied with "=" operator without problems. More...
struct  safe_ptr
 A wrapper class for pointers that can be safely copied with "=" operator without problems. More...
struct  non_copiable_ptr_basic
 A wrapper class for pointers that can NOT be copied with "=" operator, raising an exception at runtime if a copy is attempted. More...
struct  non_copiable_ptr
 A wrapper class for pointers that can NOT be copied with "=" operator, raising an exception at runtime if a copy is attempted. More...
struct  copiable_NULL_ptr_basic
 A wrapper class for pointers that, if copied with the "=" operator, should be set to NULL in the copy. More...
struct  copiable_NULL_ptr
 A wrapper class for pointers that, if copied with the "=" operator, should be set to NULL in the new copy. More...
class  list_searchable
 This class implements a STL container with features of both, a std::set and a std::list. More...
class  circular_buffer
 A circular buffer of fixed size (defined at construction-time), implemented with a std::vector as the underlying storage. More...
struct  ci_less
 A case-insensitive comparator struct for usage within STL containers, eg: map<string,string,ci_less>. More...
struct  TColor
 A RGB color - 8bit. More...
struct  TColorf
 A RGB color - floats in the range [0,1]. More...
struct  TPixelCoordf
 A pair (x,y) of pixel coordinates (subpixel resolution). More...
struct  TPixelCoord
 A pair (x,y) of pixel coordinates (integer resolution). More...
struct  TParameters
 For usage when passing a dynamic number of (numeric) arguments to a function, by name. More...
struct  CProfilerProxy

Typedefs

typedef CCanvas CMRPTCanvas
 Deprecated name.
typedef std::ios_base::openmode TFileOpenModes
 File open modes are used in CFileStream Posible values are:

  • fomRead
  • fomWrite (creates the file if it didn't exist, otherwise truncates it).

typedef CImage CMRPTImage
 Deprecated name.
typedef CImageFloat CMRPTImageFloat
 Deprecated name.
typedef
stlplus::smart_ptr_clone
< CSerializable
CSerializablePtr
 A smart pointer to a CRenderizable object.
typedef safe_ptr< TRuntimeClassIdTRuntimeClassIdPtr
 A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.
typedef safe_ptr_basic< void > void_ptr
typedef non_copiable_ptr_basic
< void > 
void_ptr_noncopy
typedef void(* TFunctor_noRet_1inputs )(const void *)
 A generic functor type for functions accepting 1 input arguments and returning nothing.
typedef void(* TFunctor_noRet_2inputs )(const void *, const void *)
 A generic functor type for functions accepting 2 input arguments and returning nothing.
typedef void(* TFunctor_noRet_3inputs )(const void *, const void *, const void *)
 A generic functor type for functions accepting 3 input arguments and returning nothing.
typedef double(* TFunctor_retDouble_1inputs )(const void *)
 A generic functor type for functions accepting 1 input arguments and returning a double value.
typedef double(* TFunctor_retDouble_2inputs )(const void *, const void *)
 A generic functor type for functions accepting 2 input arguments and returning a double value.
typedef double(* 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(* 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(* 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(* 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(* 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(* 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(* 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(* TFunctor_retDbl_inp1VecDbl )(const vector_double &in1)
 A generic functor type for functions accepting 1 vector and returning 1 double.
typedef double(* 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(* 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 POINTER_TYPE
 For performing type casting from a pointer to its numeric value.
typedef TPixelCoord TImageSize
 A type for image sizes.

Enumerations

enum  TInterpMethod { IMG_INTERP_NN = 0, IMG_INTERP_LINEAR = 1, IMG_INTERP_CUBIC = 2, IMG_INTERP_AREA = 3 }
 

Different resize methods used in CImage::scaleImage.

More...

Functions

uint16_t MRPTDLLIMPEXP compute_CRC16 (const std::vector< uint8_t > &data, const uint16_t gen_pol=0x8005)
 Computes the CRC16 checksum of a block of data.
uint16_t MRPTDLLIMPEXP compute_CRC16 (const uint8_t *data, const size_t len, const uint16_t gen_pol=0x8005)
 Computes the CRC16 checksum of a block of data.
void MRPTDLLIMPEXP registerClass (const mrpt::utils::TRuntimeClassId *pNewClass)
 Register a class into the MRPT internal list of "CSerializable" descendents.
std::vector< const
mrpt::utils::TRuntimeClassId * >
MRPTDLLIMPEXP 
getAllRegisteredClasses ()
 Returns a list with all the classes registered in the system through mrpt::utils::registerClass.
const TRuntimeClassId
MRPTDLLIMPEXP * 
findRegisteredClass (const std::string &className)
 Return info about a given class by its name, or NULL if the class is not registered.
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const char *a)
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const std::string &str)
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const vector_int &a)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, char *a)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, std::string &str)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, vector_int &a)
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const std::vector< std::string > &)
MRPTDLLIMPEXP CStreamoperator>> (CStream &, std::vector< std::string > &)
 MRPTSTL_SERIALIZABLE_SEQ_CONTAINER (std::vector) MRPTSTL_SERIALIZABLE_SEQ_CONTAINER(std
 Template method to serialize an associative STL container.
template<class T1 , class T2 >
CStreamoperator>> (CStream &in, std::pair< T1, T2 > &obj)
 Template method to deserialize a STL pair.
template<class T >
size_t find_in_vector (const T &value, const std::vector< T > &vect)
 Returns the index of the value "T" in the container "vect", or string::npos if not found.
template<class CONTAINER >
CONTAINER::iterator erase_return_next (CONTAINER &cont, typename CONTAINER::iterator &it)
 Calls the standard "erase" method of a STL container, but also returns an iterator to the next element in the container (or end if none).
template<typename T >
std::string sprintf_vector (const char *fmt, const std::vector< T > &V)
 Generates a string for a vector in the format [A,B,C,.
template<typename T >
void printf_vector (const char *fmt, const std::vector< T > &V)
 Prints a vector in the format [A,B,C,.
double DEG2RAD (const double x)
 Degrees to radians.
float DEG2RAD (const float x)
 Degrees to radians.
float DEG2RAD (const int x)
 Degrees to radians.
double RAD2DEG (const double x)
 Radians to degrees.
float RAD2DEG (const float x)
 Radians to degrees.
template<typename T >
int sign (T x)
 Returns the sign of X as "1" or "-1".
template<typename T >
int signWithZero (T x)
 Returns the sign of X as "0", "1" or "-1".
template<typename T >
int round (const T value)
 Returns the closer integer (int) to x.
template<typename T >
long round_long (const T value)
 Returns the closer integer (long) to x.
template<typename T >
int fix (T x)
 Rounds toward zero.
template<class T >
square (const T &x)
 Inline function for the square of a number.
template<class R , class P >
R * getAs (stlplus::smart_ptr_clone< P > &o)
 Utility to get a cast'ed pointer from a smart pointer.
template<class R , class P >
const R * getAs (const stlplus::smart_ptr_clone< P > &o)
 Utility to get a cast'ed pointer from a smart pointer.
template<class T >
void reverseBytes (const T &v_in, T &v_out)
 Reverse the order of the bytes of a given type (useful for transforming btw little/big endian).
template<typename T >
void keep_min (T &var, const T test_val)
 If the second argument is below the first one, set the first argument to this lower value.
template<typename T >
void keep_max (T &var, const T test_val)
 If the second argument is above the first one, set the first argument to this higher value.
template<class T >
void delete_safe (T *&ptr)
 Calls "delete" to free an object only if the pointer is not NULL, then set the pointer to NULL.
Non-streaming serialization functions

std::string MRPTDLLIMPEXP ObjectToString (const CSerializable *o)
 Used to pass MRPT objects into a CORBA-like object (strings).
void MRPTDLLIMPEXP StringToObject (const std::string &str, CSerializablePtr &obj)
 Used to pass CORBA-like objects (strings) into a MRPT object.
void MRPTDLLIMPEXP ObjectToOctetVector (const CSerializable *o, vector_byte &out_vector)
 Converts (serializes) an MRPT object into an array of bytes.
void MRPTDLLIMPEXP OctetVectorToObject (const vector_byte &in_data, CSerializablePtr &obj)
 Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class.
void MRPTDLLIMPEXP ObjectToRawString (const CSerializable *o, std::string &out_str)
 Converts (serializes) an MRPT object into an array of bytes within a std::string, without codifying to avoid NULL characters.
void MRPTDLLIMPEXP RawStringToObject (const std::string &in_str, CSerializablePtr &obj)
 Converts back (de-serializes) a sequence of binary data within a std::string into a MRPT object, without prior information about the object's class.

Variables

static const TFileOpenModes fomRead = std::ios_base::in
static const TFileOpenModes fomWrite = std::ios_base::out | std::ios_base::trunc
static const TFileOpenModes fomAppend = std::ios_base::app | std::ios_base::out
class MRPTDLLIMPEXP CSerializable
struct MRPTDLLIMPEXP TRuntimeClassId

Auxiliary stuff for the global profiler used in MRPT_START / MRPT_END macros.



CTimeLogger MRPTDLLIMPEXP global_profiler
void MRPTDLLIMPEXP global_profiler_enter (const char *func_name) MRPT_NO_THROWS
void MRPTDLLIMPEXP global_profiler_leave (const char *func_name) MRPT_NO_THROWS

Detailed Description

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


Typedef Documentation

Deprecated name.

Definition at line 333 of file CCanvas.h.

Deprecated name.

Definition at line 716 of file CImage.h.

Deprecated name.

Definition at line 200 of file CImageFloat.h.

A smart pointer to a CRenderizable object.

Definition at line 46 of file CSerializable.h.

typedef unsigned long mrpt::utils::POINTER_TYPE

For performing type casting from a pointer to its numeric value.

Definition at line 165 of file types.h.

typedef std::ios_base::openmode mrpt::utils::TFileOpenModes

File open modes are used in CFileStream Posible values are:

  • fomRead
  • fomWrite (creates the file if it didn't exist, otherwise truncates it).

  • fomAppend (creates the file if it didn't exist)

Definition at line 49 of file CFileStream.h.

typedef void(* mrpt::utils::TFunctor_noRet_1inputs)(const void *)

A generic functor type for functions accepting 1 input arguments and returning nothing.

Definition at line 81 of file types.h.

typedef void(* mrpt::utils::TFunctor_noRet_2inputs)(const void *, const void *)

A generic functor type for functions accepting 2 input arguments and returning nothing.

Definition at line 85 of file types.h.

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.

Definition at line 89 of file types.h.

A generic functor type for functions accepting 1 vector and returning 1 double.

Definition at line 149 of file types.h.

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.

Definition at line 153 of file types.h.

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.

Definition at line 157 of file types.h.

typedef double(* mrpt::utils::TFunctor_retDouble_1inputs)(const void *)

A generic functor type for functions accepting 1 input arguments and returning a double value.

Definition at line 98 of file types.h.

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.

Definition at line 102 of file types.h.

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.

Definition at line 106 of file types.h.

A generic functor type for functions accepting 2 vectors and returning 1 vector.

Definition at line 132 of file types.h.

A generic functor type for functions accepting 1 vector and returning 1 vector.

Definition at line 115 of file types.h.

A generic functor type for functions accepting 2 vectors and returning 1 vector.

Definition at line 136 of file types.h.

A generic functor type for functions accepting 1 vector and returning 1 vector.

Definition at line 119 of file types.h.

A generic functor type for functions accepting 2 vectors and returning 1 vector.

Definition at line 140 of file types.h.

A generic functor type for functions accepting 1 vector and returning 1 vector.

Definition at line 123 of file types.h.

A type for image sizes.

Definition at line 212 of file types.h.

A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.

Definition at line 73 of file CSerializable.h.

Definition at line 219 of file safe_pointers.h.

Definition at line 220 of file safe_pointers.h.


Enumeration Type Documentation

Different resize methods used in CImage::scaleImage.

Enumerator:
IMG_INTERP_NN 
IMG_INTERP_LINEAR 
IMG_INTERP_CUBIC 
IMG_INTERP_AREA 

Definition at line 43 of file CImage.h.


Function Documentation

uint16_t MRPTDLLIMPEXP mrpt::utils::compute_CRC16 ( const uint8_t *  data,
const size_t  len,
const uint16_t  gen_pol = 0x8005 
)

Computes the CRC16 checksum of a block of data.

uint16_t MRPTDLLIMPEXP mrpt::utils::compute_CRC16 ( const std::vector< uint8_t > &  data,
const uint16_t  gen_pol = 0x8005 
)

Computes the CRC16 checksum of a block of data.

float mrpt::utils::DEG2RAD ( const int  x  )  [inline]

Degrees to radians.

Definition at line 577 of file utils_defs.h.

References M_PIf.

float mrpt::utils::DEG2RAD ( const float  x  )  [inline]

Degrees to radians.

Definition at line 574 of file utils_defs.h.

References M_PIf.

double mrpt::utils::DEG2RAD ( const double  x  )  [inline]

Degrees to radians.

Definition at line 571 of file utils_defs.h.

References M_PI.

Referenced by mrpt::poses::CPose3D::fromString(), and mrpt::poses::CPose2D::fromString().

template<class T >
void mrpt::utils::delete_safe ( T *&  ptr  )  [inline]

Calls "delete" to free an object only if the pointer is not NULL, then set the pointer to NULL.

Definition at line 677 of file utils_defs.h.

template<class CONTAINER >
CONTAINER::iterator mrpt::utils::erase_return_next ( CONTAINER &  cont,
typename CONTAINER::iterator &  it 
) [inline]

Calls the standard "erase" method of a STL container, but also returns an iterator to the next element in the container (or end if none).

Definition at line 236 of file stl_extensions.h.

template<class T >
size_t mrpt::utils::find_in_vector ( const T &  value,
const std::vector< T > &  vect 
) [inline]

Returns the index of the value "T" in the container "vect", or string::npos if not found.

Definition at line 226 of file stl_extensions.h.

Referenced by mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration().

const TRuntimeClassId MRPTDLLIMPEXP* mrpt::utils::findRegisteredClass ( const std::string &  className  ) 

Return info about a given class by its name, or NULL if the class is not registered.

See also:
registerClass, getAllRegisteredClasses
template<typename T >
int mrpt::utils::fix ( x  )  [inline]

Rounds toward zero.

Definition at line 639 of file utils_defs.h.

std::vector<const mrpt::utils::TRuntimeClassId*> MRPTDLLIMPEXP mrpt::utils::getAllRegisteredClasses (  ) 

Returns a list with all the classes registered in the system through mrpt::utils::registerClass.

See also:
registerClass, findRegisteredClass
template<class R , class P >
const R* mrpt::utils::getAs ( const stlplus::smart_ptr_clone< P > &  o  )  [inline]

Utility to get a cast'ed pointer from a smart pointer.

Definition at line 652 of file utils_defs.h.

template<class R , class P >
R* mrpt::utils::getAs ( stlplus::smart_ptr_clone< P > &  o  )  [inline]

Utility to get a cast'ed pointer from a smart pointer.

Definition at line 648 of file utils_defs.h.

void MRPTDLLIMPEXP mrpt::utils::global_profiler_enter ( const char *  func_name  ) 
void MRPTDLLIMPEXP mrpt::utils::global_profiler_leave ( const char *  func_name  ) 
template<typename T >
void mrpt::utils::keep_max ( T &  var,
const T  test_val 
) [inline]

If the second argument is above the first one, set the first argument to this higher value.

Definition at line 671 of file utils_defs.h.

template<typename T >
void mrpt::utils::keep_min ( T &  var,
const T  test_val 
) [inline]

If the second argument is below the first one, set the first argument to this lower value.

Definition at line 665 of file utils_defs.h.

mrpt::utils::MRPTSTL_SERIALIZABLE_SEQ_CONTAINER ( std::vector   ) 

Template method to serialize an associative STL container.

Template method to deserialize an associative STL container Template method to serialize an associative STL container Template method to deserialize an associative STL container Template method to serialize a STL pair

Definition at line 113 of file stl_extensions.h.

References mrpt::utils::TTypeName< T >::get(), and MRPTSTL_SERIALIZABLE_SIMPLE_ASSOC_CONTAINER.

void MRPTDLLIMPEXP mrpt::utils::ObjectToOctetVector ( const CSerializable *  o,
vector_byte &  out_vector 
)

Converts (serializes) an MRPT object into an array of bytes.

Parameters:
o The object to be serialized.
out_vector The vector which at return will contain the data. Size will be set automatically.
See also:
OctetVectorToObject, ObjectToString
void MRPTDLLIMPEXP mrpt::utils::ObjectToRawString ( const CSerializable *  o,
std::string &  out_str 
)

Converts (serializes) an MRPT object into an array of bytes within a std::string, without codifying to avoid NULL characters.

This is therefore more efficient than ObjectToString

Parameters:
o The object to be serialized.
out_vector The string which at return will contain the data. Size will be set automatically.
See also:
RawStringToObject, ObjectToOctetVector
std::string MRPTDLLIMPEXP mrpt::utils::ObjectToString ( const CSerializable *  o  ) 

Used to pass MRPT objects into a CORBA-like object (strings).

See doc about "Integration with BABEL".

Parameters:
o The object to be serialized.
Returns:
The string containing the binay version of object.
See also:
StringToObject, Integration with BABEL
void MRPTDLLIMPEXP mrpt::utils::OctetVectorToObject ( const vector_byte &  in_data,
CSerializablePtr &  obj 
)

Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class.

Parameters:
in_data The serialized input data representing the object.
obj The newly created object will be stored in this smart pointer.
Exceptions:
None On any internal exception, this function returns a NULL pointer.
See also:
ObjectToOctetVector, StringToObject
MRPTDLLIMPEXP CStream& mrpt::utils::operator<< ( CStream &  ,
const std::vector< std::string > &   
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator<< ( CStream &  ,
const vector_int &  a 
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator<< ( CStream &  ,
const std::string &  str 
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator<< ( CStream &  ,
const char *  a 
)
template<class T1 , class T2 >
CStream& mrpt::utils::operator>> ( CStream &  in,
std::pair< T1, T2 > &  obj 
) [inline]

Template method to deserialize a STL pair.

Definition at line 167 of file stl_extensions.h.

References mrpt::format(), mrpt::utils::TTypeName< T >::get(), and THROW_EXCEPTION.

MRPTDLLIMPEXP CStream& mrpt::utils::operator>> ( CStream &  ,
std::vector< std::string > &   
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator>> ( CStream &  in,
vector_int &  a 
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator>> ( CStream &  in,
std::string &  str 
)
MRPTDLLIMPEXP CStream& mrpt::utils::operator>> ( CStream &  in,
char *  a 
)
template<typename T >
void mrpt::utils::printf_vector ( const char *  fmt,
const std::vector< T > &  V 
) [inline]

Prints a vector in the format [A,B,C,.

..] to std::cout, and the fmt string for each vector element.

Definition at line 261 of file stl_extensions.h.

References sprintf_vector().

float mrpt::utils::RAD2DEG ( const float  x  )  [inline]

Radians to degrees.

Definition at line 583 of file utils_defs.h.

References M_PIf.

double mrpt::utils::RAD2DEG ( const double  x  )  [inline]

Radians to degrees.

Definition at line 580 of file utils_defs.h.

References M_PI.

Referenced by mrpt::poses::CPose3D::asString(), and mrpt::poses::CPose2D::asString().

void MRPTDLLIMPEXP mrpt::utils::RawStringToObject ( const std::string &  in_str,
CSerializablePtr &  obj 
)

Converts back (de-serializes) a sequence of binary data within a std::string into a MRPT object, without prior information about the object's class.

Parameters:
in_data The serialized input data representing the object.
obj The newly created object will be stored in this smart pointer.
Exceptions:
None On any internal exception, this function returns a NULL pointer.
See also:
ObjectToRawString
void MRPTDLLIMPEXP mrpt::utils::registerClass ( const mrpt::utils::TRuntimeClassId pNewClass  ) 

Register a class into the MRPT internal list of "CSerializable" descendents.

Used internally in the macros DEFINE_SERIALIZABLE, etc...

See also:
getAllRegisteredClasses

Referenced by mrpt::utils::CLASSINIT::CLASSINIT(), and mrpt::hwdrivers::CGenericSensor::CLASSINIT_GENERIC_SENSOR::CLASSINIT_GENERIC_SENSOR().

template<class T >
void mrpt::utils::reverseBytes ( const T &  v_in,
T &  v_out 
) [inline]

Reverse the order of the bytes of a given type (useful for transforming btw little/big endian).

Definition at line 656 of file utils_defs.h.

template<typename T >
int mrpt::utils::round ( const T  value  )  [inline]
template<typename T >
long mrpt::utils::round_long ( const T  value  )  [inline]

Returns the closer integer (long) to x.

Definition at line 617 of file utils_defs.h.

Referenced by mrpt::math::round_10power().

template<typename T >
int mrpt::utils::sign ( x  )  [inline]
template<typename T >
int mrpt::utils::signWithZero ( x  )  [inline]

Returns the sign of X as "0", "1" or "-1".

Definition at line 591 of file utils_defs.h.

References sign().

template<typename T >
std::string mrpt::utils::sprintf_vector ( const char *  fmt,
const std::vector< T > &  V 
) [inline]

Generates a string for a vector in the format [A,B,C,.

..] to std::cout, and the fmt string for each vector element.

Definition at line 246 of file stl_extensions.h.

References mrpt::format().

Referenced by mrpt::math::CLevenbergMarquardtTempl< NUMTYPE, USERPARAM >::execute(), and printf_vector().

template<class T >
T mrpt::utils::square ( const T &  x  )  [inline]
void MRPTDLLIMPEXP mrpt::utils::StringToObject ( const std::string &  str,
CSerializablePtr &  obj 
)

Used to pass CORBA-like objects (strings) into a MRPT object.

Parameters:
str An string generated with ObjectToString
obj A currently empty pointer, where a pointer to the newly created object will be stored.
Exceptions:
None On any internal exception, this function returns NULL.
See also:
ObjectToString, Integration with BABEL

Variable Documentation

class MRPTDLLIMPEXP mrpt::utils::CSerializable

Definition at line 44 of file CSerializable.h.

const TFileOpenModes mrpt::utils::fomAppend = std::ios_base::app | std::ios_base::out [static]

Definition at line 53 of file CFileStream.h.

const TFileOpenModes mrpt::utils::fomRead = std::ios_base::in [static]

Definition at line 51 of file CFileStream.h.

const TFileOpenModes mrpt::utils::fomWrite = std::ios_base::out | std::ios_base::trunc [static]

Definition at line 52 of file CFileStream.h.

struct MRPTDLLIMPEXP mrpt::utils::TRuntimeClassId

Definition at line 40 of file CStream.h.




Page generated by Doxygen 1.6.2 for MRPT 0.8.1 SVN:exported at Mon Feb 15 22:01:07 UTC 2010