MRPT logo

mrpt::utils Namespace Reference

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


Classes

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  CLoadableOptions
 This is a virtual base class for sets of options than can be loaded from a ".ini" file. 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  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  CMRPTCanvas
 This virtual class defines the interface of any object accepting drawing primitives on it. More...
class  CExceptionExternalImageNotFound
 Used in mrpt::utils::CMRPTImage. More...
class  CMRPTImage
 A class for storing images as grayscale or RGB bitmaps. More...
class  CMRPTImageFloat
 In this class a grayscale image can be stored with float-type pixels. More...
class  CMRPTMessage
 A class that contain generic messages, that can be sent and received from a "CClientTCPSocket" object. 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  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...
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,. More...
class  CStringList
 A class for storing a list of text lines. More...
class  CTicTac
 This class implements a high-performance stopwatch. 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 arise if the copy is tried. 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  vector_serializable
 A STL-vector derived class that implements basic read/write to ease implementing the mrpt::utils::CSerializable interface in classes having this type of data members. More...
class  deque_serializable
 A STL-vector derived class that implements basic read/write to ease implementing the mrpt::utils::CSerializable interface in classes having this type of data members. More...
class  list_searchable_serializable
 A list_searchable with basic read/write to ease implementing the mrpt::utils::CSerializable interface in classes having this type of data members. More...
class  map_serializable
 A std::map with basic read/write to ease implementing the mrpt::utils::CSerializable interface in classes having this type of data members. More...
class  multimap_serializable
 A std::multimap with basic read/write to ease implementing the mrpt::utils::CSerializable interface in classes having this type of data members. More...
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...

Typedefs

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
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 vector_serializable
< int64_t > 
vector_long_serializable
typedef vector_serializable
< int32_t > 
vector_int_serializable
typedef vector_serializable
< float > 
vector_float_serializable
typedef vector_serializable
< double > 
vector_double_serializable
typedef vector_serializable
< uint16_t > 
vector_word_serializable
typedef vector_serializable
< uint32_t > 
vector_uint_serializable
typedef vector_serializable< bool > vector_bool_serializable
typedef vector_serializable
< uint8_t > 
vector_byte_serializable
typedef vector_serializable
< size_t > 
vector_size_t_serializable
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.

Functions

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.
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const char *a)
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const vector_int &a)
MRPTDLLIMPEXP CStreamoperator<< (CStream &, const std::string &str)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, char *a)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, vector_int &a)
MRPTDLLIMPEXP CStreamoperator>> (CStream &in, std::string &str)
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 round (T x)
 Returns the closer integer (int) to x.
template<typename T >
long round_long (T x)
 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).
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 (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) a 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.

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


Detailed Description

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


Typedef Documentation

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 584 of file utils_defs.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 500 of file utils_defs.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 504 of file utils_defs.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 508 of file utils_defs.h.

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

Definition at line 568 of file utils_defs.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 572 of file utils_defs.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 576 of file utils_defs.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 517 of file utils_defs.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 521 of file utils_defs.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 525 of file utils_defs.h.

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

Definition at line 551 of file utils_defs.h.

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

Definition at line 534 of file utils_defs.h.

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

Definition at line 555 of file utils_defs.h.

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

Definition at line 538 of file utils_defs.h.

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

Definition at line 559 of file utils_defs.h.

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

Definition at line 542 of file utils_defs.h.

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

Definition at line 72 of file CSerializable.h.

Definition at line 57 of file stl_extensions.h.

Definition at line 58 of file stl_extensions.h.

Definition at line 54 of file stl_extensions.h.

Definition at line 53 of file stl_extensions.h.

Definition at line 52 of file stl_extensions.h.

Definition at line 47 of file stl_extensions.h.

Definition at line 59 of file stl_extensions.h.

Definition at line 56 of file stl_extensions.h.

Definition at line 55 of file stl_extensions.h.

Definition at line 219 of file safe_pointers.h.

Definition at line 220 of file safe_pointers.h.


Function Documentation

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

Degrees to radians.

Definition at line 465 of file utils_defs.h.

References M_PIf.

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

Degrees to radians.

Definition at line 462 of file utils_defs.h.

References M_PIf.

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

Degrees to radians.

Definition at line 459 of file utils_defs.h.

References M_PI.

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

Rounds toward zero.

Definition at line 487 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

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 613 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 609 of file utils_defs.h.

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

Converts (serializes) a 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

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::string &  str 
)

MRPTDLLIMPEXP CStream & mrpt::utils::operator<< ( CStream &  ,
const vector_int a 
)

MRPTDLLIMPEXP CStream& mrpt::utils::operator<< ( CStream &  ,
const char *  a 
)

MRPTDLLIMPEXP CStream& mrpt::utils::operator>> ( CStream &  in,
std::string &  str 
)

MRPTDLLIMPEXP CStream & mrpt::utils::operator>> ( CStream &  in,
vector_int a 
)

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 215 of file CStream.h.

References mrpt::format().

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

Radians to degrees.

Definition at line 471 of file utils_defs.h.

References M_PIf.

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

Radians to degrees.

Definition at line 468 of file utils_defs.h.

References M_PI.

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::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 617 of file utils_defs.h.

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

template<typename T >
long mrpt::utils::round_long ( x  )  [inline]

Returns the closer integer (long) to x.

Definition at line 483 of file utils_defs.h.

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

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

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

Definition at line 475 of file utils_defs.h.

template<class T >
T mrpt::utils::square ( const T &  x  )  [inline]

void MRPTDLLIMPEXP mrpt::utils::StringToObject ( 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 39 of file CStream.h.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN:exported at Mon Jan 12 13:00:16 UTC 2009