#include <mrpt/config.h>#include <mrpt/system/os.h>#include <mrpt/utils/utils_impexp.h>#include <cstddef>#include <stdlib.h>#include <cstdlib>#include <cmath>#include <algorithm>#include <iostream>#include <iomanip>#include <fstream>#include <cstring>#include <exception>#include <stdexcept>#include <limits>#include <sstream>#include <mrpt/otherlibs/stlplus/smart_ptr.hpp>#include <mrpt/utils/types.h>
Go to the source code of this file.
Classes | |
| struct | mrpt::utils::CProfilerProxy |
Namespaces | |
| namespace | mrpt |
This is the global namespace for all Mobile Robot Porgramming Toolkit (MRPT) libraries. | |
| namespace | mrpt::utils |
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. | |
| namespace | mrpt::system |
This namespace provides a OS-independent interface to many useful functions: filenames manipulation, time and date, string parsing, file I/O, threading, memory allocation, etc. | |
| namespace | mrpt::math |
This base provides a set of functions for maths stuff. | |
Defines | |
| #define | _IAMINUTILSDEFS_H |
| #define | BOOST_JOIN(X, Y) BOOST_DO_JOIN( X, Y ) |
| #define | BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y) |
| #define | BOOST_DO_JOIN2(X, Y) X##Y |
| #define | MRPT_DEPRECATED_PRE(_MSG) |
| #define | MRPT_DEPRECATED_POST(_MSG) |
| #define | MRPT_DECLARE_DEPRECATED_FUNCTION(__MSG, __FUNC) MRPT_DEPRECATED_PRE(__MSG) __FUNC MRPT_DEPRECATED_POST(__MSG) |
| Usage: MRPT_DECLARE_DEPRECATED_FUNCTION("Use XX instead", void myFunc(double));. | |
| #define | MRPT_DO_PRAGMA(x) |
| Declare MRPT_TODO(message). | |
| #define | MRPT_TODO(x) MRPT_DO_PRAGMA(message ("TODO: " #x)) |
| #define | MRPT_printf_format_check(_FMT_, _VARARGS_) |
| #define | MRPT_scanf_format_check(_FMT_, _VARARGS_) |
| #define | MRPT_NO_THROWS throw() |
| Used after member declarations. | |
| #define | MRPT_ALIGN16 |
| #define | MRPT_ALIGN32 |
| #define | __CURRENT_FUNCTION_NAME__ __PRETTY_FUNCTION__ |
| A macro for obtaining the name of the current function:. | |
| #define | THROW_EXCEPTION(msg) |
| #define | THROW_EXCEPTION_CUSTOM_MSG1(msg, param1) |
| #define | THROW_TYPED_EXCEPTION(msg, exceptionClass) |
| Defines a unified way of reporting exceptions of type different from "std::exception". | |
| #define | THROW_TYPED_EXCEPTION_CUSTOM_MSG1(msg, param1, exceptionClass) |
| #define | THROW_STACKED_EXCEPTION(e) |
| #define | THROW_STACKED_EXCEPTION_CUSTOM_MSG1(e, msg) |
| #define | THROW_STACKED_EXCEPTION_CUSTOM_MSG2(e, stuff, param1) |
| #define | MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(V) THROW_EXCEPTION(mrpt::format("Cannot parse object: unknown serialization version number: '%i'",static_cast<int>(version))) |
| For use in CSerializable implementations. | |
| #define | ASSERTMSG_(f, __ERROR_MSG) { } |
| #define | ASSERT_(f) { } |
| #define | MRPT_CHECK_NORMAL_NUMBER(val) { } |
| #define | MRPT_COMPILE_TIME_ASSERT(f) { } |
| #define | ASSERTDEB_(f) { } |
| Defines an assertion mechanism - only when compiled in debug. | |
| #define | MRPT_UNUSED_PARAM(a) (void)(a) |
| Can be used to avoid "not used parameters" warnings from the compiler. | |
| #define | MRPT_TRY_START |
| #define | MRPT_TRY_END |
| #define | MRPT_TRY_END_WITH_CLEAN_UP(stuff) |
| #define | MRPT_PROFILE_FUNC_START |
| #define | MRPT_START |
| #define | MRPT_END MRPT_TRY_END |
| #define | MRPT_END_WITH_CLEAN_UP(stuff) MRPT_TRY_END_WITH_CLEAN_UP(stuff) |
| #define | M_PI 3.14159265358979323846264338327950288 |
| The PI constant. | |
| #define | M_2PI 6.283185307179586476925286766559 |
| The 2*PI constant. | |
| #define | M_PIf 3.14159265358979f |
| #define | M_2PIf 6.28318530717959f |
Functions | |
| std::string MRPTDLLIMPEXP | mrpt::format (const char *fmt,...) MRPT_printf_format_check(1 |
| A std::string version of C sprintf. | |
| std::string MRPTDLLIMPEXP | mrpt::system::stack_trace (bool calling_from_exception=false) |
| Dumps the current program stack with detailed information of source files and lines. | |
| bool MRPTDLLIMPEXP | mrpt::math::isNan (float v) |
| Returns true if value is Not-a-number (NAN). | |
| bool MRPTDLLIMPEXP | mrpt::math::isNan (double v) |
| Returns true if value is Not-a-number (NAN). | |
| bool MRPTDLLIMPEXP | mrpt::math::isFinite (float v) |
| Returns true if value is finite. | |
| bool MRPTDLLIMPEXP | mrpt::math::isFinite (double v) |
| Returns true if value is finite. | |
| template<typename T > | |
| const T | min3 (const T &A, const T &B, const T &C) |
| template<typename T > | |
| const T | max3 (const T &A, const T &B, const T &C) |
| double | mrpt::utils::DEG2RAD (const double x) |
| Degrees to radians. | |
| float | mrpt::utils::DEG2RAD (const float x) |
| Degrees to radians. | |
| float | mrpt::utils::DEG2RAD (const int x) |
| Degrees to radians. | |
| double | mrpt::utils::RAD2DEG (const double x) |
| Radians to degrees. | |
| float | mrpt::utils::RAD2DEG (const float x) |
| Radians to degrees. | |
| template<typename T > | |
| int | mrpt::utils::sign (T x) |
| Returns the sign of X as "1" or "-1". | |
| template<typename T > | |
| int | mrpt::utils::signWithZero (T x) |
| Returns the sign of X as "0", "1" or "-1". | |
| template<typename T > | |
| int | mrpt::utils::round (const T value) |
| Returns the closer integer (int) to x. | |
| template<typename T > | |
| long | mrpt::utils::round_long (const T value) |
| Returns the closer integer (long) to x. | |
| template<typename T > | |
| int | mrpt::utils::fix (T x) |
| Rounds toward zero. | |
| template<class T > | |
| T | mrpt::utils::square (const T &x) |
| Inline function for the square of a number. | |
| template<class R , class P > | |
| R * | mrpt::utils::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 * | mrpt::utils::getAs (const stlplus::smart_ptr_clone< P > &o) |
| Utility to get a cast'ed pointer from a smart pointer. | |
| template<class T > | |
| void | mrpt::utils::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 | mrpt::utils::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 | mrpt::utils::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 | mrpt::utils::delete_safe (T *&ptr) |
| Calls "delete" to free an object only if the pointer is not NULL, then set the pointer to NULL. | |
Auxiliary stuff for the global profiler used in MRPT_START / MRPT_END macros. | |
| void MRPTDLLIMPEXP | mrpt::utils::global_profiler_enter (const char *func_name) MRPT_NO_THROWS |
| void MRPTDLLIMPEXP | mrpt::utils::global_profiler_leave (const char *func_name) MRPT_NO_THROWS |
Directories, files, and file names | |
| std::string MRPTDLLIMPEXP | mrpt::system::extractFileName (const std::string &filePath) |
| Extract just the name (without extension) of a filename from a complete path plus name plus extension. | |
| #define __CURRENT_FUNCTION_NAME__ __PRETTY_FUNCTION__ |
A macro for obtaining the name of the current function:.
Definition at line 273 of file utils_defs.h.
| #define _IAMINUTILSDEFS_H |
Definition at line 76 of file utils_defs.h.
| #define ASSERT_ | ( | f | ) | { } |
Definition at line 422 of file utils_defs.h.
Referenced by mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::add_AAt(), mrpt::math::CMatrixTemplate< TPoint3D >::appendCol(), mrpt::math::CMatrixTemplate< TPoint3D >::appendRow(), mrpt::math::CMatrixTemplate< TPoint3D >::ASSERT_ENOUGHROOM(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::ASSERT_ENOUGHROOM(), mrpt::math::CConstMatrixColumnAccessor< T >::CConstMatrixColumnAccessor(), mrpt::math::CConstMatrixColumnAccessorExtended< T >::CConstMatrixColumnAccessorExtended(), mrpt::math::CConstMatrixRowAccessor< T >::CConstMatrixRowAccessor(), mrpt::math::CConstMatrixRowAccessorExtended< T >::CConstMatrixRowAccessorExtended(), mrpt::math::CDijkstra< TYPE_EDGES >::CDijkstra(), mrpt::math::CMatrixColumnAccessor< T >::CMatrixColumnAccessor(), mrpt::math::CMatrixColumnAccessorExtended< T >::CMatrixColumnAccessorExtended(), mrpt::math::CMatrixRowAccessor< T >::CMatrixRowAccessor(), mrpt::math::CMatrixRowAccessorExtended< T >::CMatrixRowAccessorExtended(), mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate(), mrpt::math::crossProduct3D(), mrpt::random::CRandomGenerator::drawGaussianMultivariate(), mrpt::random::CRandomGenerator::drawGaussianMultivariateMany(), mrpt::math::eigenVectorsMatrix(), mrpt::math::estimateJacobian(), mrpt::math::CLevenbergMarquardtTempl< NUMTYPE, USERPARAM >::execute(), mrpt::math::CVectorTemplate< KFTYPE >::extract_array(), mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrixSymmetrical(), mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrixSymmetricalBlocks(), mrpt::poses::CPosePDFSOG::get(), mrpt::poses::CPointPDFSOG::get(), mrpt::slam::CBeaconMap::get(), mrpt::utils::CMHPropertiesValuesList::getAs(), mrpt::poses::CPose2DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose2DGridTemplate< double >::getByIndex(), mrpt::utils::CMessage::getContentAsStruct(), mrpt::utils::CMHPropertiesValuesList::getElemental(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getMostLikelyParticle(), mrpt::math::CBinaryRelation< T, U, UIsObject >::getRelationFrom(), mrpt::math::CBinaryRelation< T, U, UIsObject >::getRelationTo(), mrpt::math::CDijkstra< TYPE_EDGES >::getShortestPathTo(), mrpt::opengl::CSetOfTriangles::getTriangle(), mrpt::opengl::CSetOfTexturedTriangles::getTriangle(), mrpt::slam::CLandmark::getType(), mrpt::math::CPolygon::GetVertex_x(), mrpt::math::CPolygon::GetVertex_y(), mrpt::poses::CPose2DGridTemplate< double >::idx2phi(), mrpt::poses::CPose2DGridTemplate< double >::idx2x(), mrpt::poses::CPose2DGridTemplate< double >::idx2y(), mrpt::math::detail::VicinityTraits< CMatrixFixedNumeric< T, D, D > >::initialize(), mrpt::math::CVectorTemplate< KFTYPE >::insert_array(), mrpt::math::CMatrixTemplate< TPoint3D >::insertCol(), mrpt::math::CMatrixTemplate< TPoint3D >::insertRow(), mrpt::math::interpolate(), mrpt::math::multiply_HCHt(), mrpt::math::multiply_HCHt_scalar(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::multiply_HCHt_scalar(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::multiply_HtCH_scalar(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::multiplyColumnByScalar(), mrpt::math::CMatrixTemplate< TPoint3D >::operator()(), mrpt::math::operator*(), mrpt::utils::copiable_NULL_ptr< T >::operator*(), mrpt::utils::non_copiable_ptr< CMultiMetricMap >::operator*(), mrpt::utils::safe_ptr< TRuntimeClassId >::operator*(), mrpt::math::CVectorTemplate< KFTYPE >::operator*(), mrpt::math::operator*=(), mrpt::math::operator+(), mrpt::math::CVectorTemplate< KFTYPE >::operator+(), mrpt::math::operator+=(), mrpt::math::CVectorTemplate< KFTYPE >::operator+=(), mrpt::math::operator-(), mrpt::math::CVectorTemplate< KFTYPE >::operator-(), mrpt::math::operator-=(), mrpt::utils::copiable_NULL_ptr_basic< T >::operator->(), mrpt::utils::non_copiable_ptr_basic< CMultiMetricMap >::operator->(), mrpt::utils::safe_ptr_basic< TRuntimeClassId >::operator->(), mrpt::math::operator/(), mrpt::math::CVectorTemplate< KFTYPE >::operator/(), mrpt::math::operator/=(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::operator=(), mrpt::utils::copiable_NULL_ptr< T >::operator[](), mrpt::utils::non_copiable_ptr< CMultiMetricMap >::operator[](), mrpt::utils::safe_ptr< TRuntimeClassId >::operator[](), mrpt::poses::CPosePDFSOG::operator[](), mrpt::poses::CPointPDFSOG::operator[](), mrpt::math::CBinaryRelation< T, U, UIsObject >::operator[](), mrpt::slam::CBeaconMap::operator[](), mrpt::poses::CPose2DGridTemplate< double >::phi2idx(), mrpt::math::productIntegralAndMahalanobisTwoGaussians(), mrpt::math::productIntegralTwoGaussians(), mrpt::math::CQuaternion< T >::q_conv(), mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >::rejectionSampling(), mrpt::math::CMatrixTemplate< TPoint3D >::removeColumns(), mrpt::math::CBinaryRelation< T, U, UIsObject >::removeElementAt(), mrpt::math::CMatrixTemplate< TPoint3D >::removeRowsAndCols(), mrpt::utils::CImage::resize(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration(), mrpt::utils::CMemoryStream::setAllocBlockSize(), mrpt::opengl::CAxis::setFrequency(), mrpt::opengl::CGridPlaneXZ::setGridFrequency(), mrpt::opengl::CGridPlaneXY::setGridFrequency(), mrpt::poses::CPose2DGridTemplate< double >::setSize(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::swap_cols(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::swap_rows(), mrpt::math::weightedHistogram(), mrpt::poses::CPose2DGridTemplate< double >::x2idx(), mrpt::poses::CPose2DGridTemplate< double >::y2idx(), and mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::zeros().
| #define ASSERTDEB_ | ( | f | ) | { } |
Defines an assertion mechanism - only when compiled in debug.
Definition at line 434 of file utils_defs.h.
Referenced by mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration(), and mrpt::bayes::detail::runOneKalmanIteration_addNewLandmarks().
| #define ASSERTMSG_ | ( | f, | |||
| __ERROR_MSG | ) | { } |
Definition at line 421 of file utils_defs.h.
Referenced by mrpt::math::detMatrix(), mrpt::poses::CPose3D::fromString(), mrpt::poses::CPose2D::fromString(), mrpt::poses::CPoint3D::fromString(), mrpt::poses::CPoint2D::fromString(), mrpt::math::invMatrix(), mrpt::math::invMatrix_destroySrc(), mrpt::math::meanAndCov(), mrpt::math::multiply_HCHt(), mrpt::math::multiply_HtCH(), and mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::operator/=().
| #define BOOST_DO_JOIN | ( | X, | |||
| Y | ) | BOOST_DO_JOIN2(X,Y) |
Definition at line 92 of file utils_defs.h.
| #define BOOST_DO_JOIN2 | ( | X, | |||
| Y | ) | X##Y |
Definition at line 93 of file utils_defs.h.
| #define BOOST_JOIN | ( | X, | |||
| Y | ) | BOOST_DO_JOIN( X, Y ) |
Definition at line 91 of file utils_defs.h.
| #define M_2PI 6.283185307179586476925286766559 |
The 2*PI constant.
Definition at line 526 of file utils_defs.h.
Referenced by mrpt::reactivenav::CParameterizedTrajectoryGenerator::alfa2index(), mrpt::utils::CEnhancedMetaFile::ellipseGaussian(), mrpt::utils::CCanvas::ellipseGaussian(), mrpt::math::normalPDF(), mrpt::math::productIntegralAndMahalanobisTwoGaussians(), mrpt::math::productIntegralTwoGaussians(), and mrpt::math::wrapTo2PiInPlace().
| #define M_2PIf 6.28318530717959f |
Definition at line 530 of file utils_defs.h.
| #define M_PI 3.14159265358979323846264338327950288 |
The PI constant.
Definition at line 520 of file utils_defs.h.
Referenced by mrpt::reactivenav::CParameterizedTrajectoryGenerator::alfa2index(), mrpt::opengl::CPolyhedron::CreateCupola(), mrpt::opengl::CPolyhedron::CreateIcosahedron(), mrpt::opengl::CPolyhedron::CreateRhombicuboctahedron(), mrpt::utils::DEG2RAD(), mrpt::reactivenav::CParameterizedTrajectoryGenerator::index2alfa(), mrpt::utils::RAD2DEG(), and mrpt::math::wrapToPi().
| #define M_PIf 3.14159265358979f |
Definition at line 529 of file utils_defs.h.
Referenced by mrpt::utils::DEG2RAD(), and mrpt::utils::RAD2DEG().
| #define MRPT_ALIGN16 |
Definition at line 182 of file utils_defs.h.
| #define MRPT_ALIGN32 |
Definition at line 183 of file utils_defs.h.
| #define MRPT_CHECK_NORMAL_NUMBER | ( | val | ) | { } |
Definition at line 423 of file utils_defs.h.
| #define MRPT_COMPILE_TIME_ASSERT | ( | f | ) | { } |
Definition at line 424 of file utils_defs.h.
Referenced by mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::CMatrixFixedNumeric(), mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate(), mrpt::math::loadVector(), mrpt::math::make_vector(), and mrpt::math::CMatrixTemplate< TPoint3D >::operator=().
| #define MRPT_DECLARE_DEPRECATED_FUNCTION | ( | __MSG, | |||
| __FUNC | ) | MRPT_DEPRECATED_PRE(__MSG) __FUNC MRPT_DEPRECATED_POST(__MSG) |
Usage: MRPT_DECLARE_DEPRECATED_FUNCTION("Use XX instead", void myFunc(double));.
Definition at line 144 of file utils_defs.h.
| #define MRPT_DEPRECATED_POST | ( | _MSG | ) |
Definition at line 140 of file utils_defs.h.
| #define MRPT_DEPRECATED_PRE | ( | _MSG | ) |
Definition at line 139 of file utils_defs.h.
| #define MRPT_DO_PRAGMA | ( | x | ) |
Declare MRPT_TODO(message).
Definition at line 152 of file utils_defs.h.
| #define MRPT_END MRPT_TRY_END |
Definition at line 508 of file utils_defs.h.
Referenced by mrpt::math::CDijkstra< TYPE_EDGES >::CDijkstra(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::clearParticles(), mrpt::slam::CMetricMap::computeMatchingWith2D(), mrpt::slam::CMetricMap::computeMatchingWith3D(), mrpt::math::estimateJacobian(), mrpt::math::CLevenbergMarquardtTempl< NUMTYPE, USERPARAM >::execute(), mrpt::math::generateAxisBaseFromDirection(), mrpt::slam::CActionCollection::getActionByClass(), mrpt::utils::CMHPropertiesValuesList::getAs(), mrpt::poses::CPose2DGridTemplate< double >::getAsMatrix(), mrpt::opengl::CSetOfObjects::getByClass(), mrpt::opengl::COpenGLViewport::getByClass(), mrpt::opengl::COpenGLScene::getByClass(), mrpt::utils::CMessage::getContentAsStruct(), mrpt::utils::CMHPropertiesValuesList::getElemental(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getMostLikelyParticle(), mrpt::slam::CSensoryFrame::getObservationByClass(), mrpt::hwdrivers::CSerialPort::getPosition(), mrpt::utils::CClientTCPSocket::getPosition(), mrpt::hwdrivers::CSerialPort::getTotalBytesCount(), mrpt::utils::CClientTCPSocket::getTotalBytesCount(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getWeights(), mrpt::slam::CMetricMap::insertObservationPtr(), mrpt::math::interpolate(), mrpt::math::multiply(), mrpt::math::multiply_HCHt(), mrpt::math::multiply_HtCH(), mrpt::math::normalPDF(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::OnInverseObservationModel(), mrpt::math::CVectorTemplate< KFTYPE >::operator+=(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream(), mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >::rejectionSampling(), mrpt::math::CMatrixTemplate< TPoint3D >::removeColumns(), mrpt::utils::CDynamicGrid< TGasConcentrationCell >::resize(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration(), mrpt::math::saveMatrixToTextFile(), mrpt::hwdrivers::CSerialPort::Seek(), mrpt::utils::CClientTCPSocket::Seek(), mrpt::slam::CMetricMap::squareDistanceToClosestCorrespondence(), mrpt::math::weightedHistogram(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::writeParticlesToStream(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::~CParticleFilterData().
| #define MRPT_END_WITH_CLEAN_UP | ( | stuff | ) | MRPT_TRY_END_WITH_CLEAN_UP(stuff) |
Definition at line 511 of file utils_defs.h.
Referenced by mrpt::math::eigenVectorsMatrix(), mrpt::utils::CEnhancedMetaFile::ellipseGaussian(), mrpt::utils::CCanvas::ellipseGaussian(), and mrpt::utils::CMHPropertiesValuesList::setElemental().
| #define MRPT_NO_THROWS throw() |
Used after member declarations.
Definition at line 171 of file utils_defs.h.
| #define MRPT_printf_format_check | ( | _FMT_, | |||
| _VARARGS_ | ) |
Definition at line 161 of file utils_defs.h.
| #define MRPT_PROFILE_FUNC_START |
Definition at line 497 of file utils_defs.h.
| #define MRPT_scanf_format_check | ( | _FMT_, | |||
| _VARARGS_ | ) |
Definition at line 167 of file utils_defs.h.
| #define MRPT_START |
Definition at line 504 of file utils_defs.h.
Referenced by mrpt::math::CDijkstra< TYPE_EDGES >::CDijkstra(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::clearParticles(), mrpt::slam::CMetricMap::computeMatchingWith2D(), mrpt::slam::CMetricMap::computeMatchingWith3D(), mrpt::math::eigenVectorsMatrix(), mrpt::utils::CEnhancedMetaFile::ellipseGaussian(), mrpt::utils::CCanvas::ellipseGaussian(), mrpt::math::estimateJacobian(), mrpt::math::CLevenbergMarquardtTempl< NUMTYPE, USERPARAM >::execute(), mrpt::math::generateAxisBaseFromDirection(), mrpt::slam::CActionCollection::getActionByClass(), mrpt::utils::CMHPropertiesValuesList::getAs(), mrpt::poses::CPose2DGridTemplate< double >::getAsMatrix(), mrpt::opengl::CSetOfObjects::getByClass(), mrpt::opengl::COpenGLViewport::getByClass(), mrpt::opengl::COpenGLScene::getByClass(), mrpt::utils::CMessage::getContentAsStruct(), mrpt::utils::CMHPropertiesValuesList::getElemental(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getMostLikelyParticle(), mrpt::slam::CSensoryFrame::getObservationByClass(), mrpt::hwdrivers::CSerialPort::getPosition(), mrpt::utils::CClientTCPSocket::getPosition(), mrpt::hwdrivers::CSerialPort::getTotalBytesCount(), mrpt::utils::CClientTCPSocket::getTotalBytesCount(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getWeights(), mrpt::slam::CMetricMap::insertObservationPtr(), mrpt::math::interpolate(), mrpt::math::multiply(), mrpt::math::multiply_HCHt(), mrpt::math::multiply_HtCH(), mrpt::math::normalPDF(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::OnInverseObservationModel(), mrpt::math::CVectorTemplate< KFTYPE >::operator+=(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream(), mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >::rejectionSampling(), mrpt::math::CMatrixTemplate< TPoint3D >::removeColumns(), mrpt::utils::CDynamicGrid< TGasConcentrationCell >::resize(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration(), mrpt::math::saveMatrixToTextFile(), mrpt::hwdrivers::CSerialPort::Seek(), mrpt::utils::CClientTCPSocket::Seek(), mrpt::utils::CMHPropertiesValuesList::setElemental(), mrpt::slam::CMetricMap::squareDistanceToClosestCorrespondence(), mrpt::math::weightedHistogram(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::writeParticlesToStream(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::~CParticleFilterData().
| #define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION | ( | V | ) | THROW_EXCEPTION(mrpt::format("Cannot parse object: unknown serialization version number: '%i'",static_cast<int>(version))) |
For use in CSerializable implementations.
Definition at line 377 of file utils_defs.h.
| #define MRPT_TODO | ( | x | ) | MRPT_DO_PRAGMA(message ("TODO: " #x)) |
Definition at line 155 of file utils_defs.h.
| #define MRPT_TRY_END |
Definition at line 490 of file utils_defs.h.
| #define MRPT_TRY_END_WITH_CLEAN_UP | ( | stuff | ) |
Definition at line 491 of file utils_defs.h.
| #define MRPT_TRY_START |
Definition at line 489 of file utils_defs.h.
| #define MRPT_UNUSED_PARAM | ( | a | ) | (void)(a) |
Can be used to avoid "not used parameters" warnings from the compiler.
Definition at line 441 of file utils_defs.h.
Referenced by mrpt::bayes::CParticleFilterCapable::defaultEvaluator(), mrpt::hwdrivers::CSerialPort::Seek(), and mrpt::utils::CClientTCPSocket::Seek().
| #define THROW_EXCEPTION | ( | msg | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << "\n\n =============== MRPT EXCEPTION =============\n";\
auxCompStr << __CURRENT_FUNCTION_NAME__ << ", line " << __LINE__ << ":\n";\
auxCompStr << msg << std::endl; \
auxCompStr << mrpt::system::stack_trace(); \
throw std::logic_error( auxCompStr.str() );\
}\
| msg | This can be a char*, a std::string, or a literal string. Defines a unified way of reporting exceptions |
Definition at line 282 of file utils_defs.h.
Referenced by mrpt::slam::CGridMapAligner::Align3DPDF(), mrpt::math::CArrayPOD< float, N >::CArrayPOD(), mrpt::math::chol(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::CMatrixFixedNumeric(), mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate(), mrpt::slam::CMetricMap::computeMatchingWith2D(), mrpt::slam::CMetricMap::computeMatchingWith3D(), mrpt::math::correlate_matrix(), mrpt::math::CQuaternion< T >::CQuaternion(), mrpt::utils::CTicTac::CTicTac(), mrpt::math::CVectorTemplate< KFTYPE >::deconcatenate(), mrpt::math::CMatrixTemplate< TPoint3D >::deleteColumn(), mrpt::math::CMatrixTemplate< TPoint3D >::deleteRow(), mrpt::math::eigenVectorsMatrix(), mrpt::math::CMatrixTemplate< TPoint3D >::exchangeColumns(), mrpt::math::CMatrixTemplate< TPoint3D >::exchangeRows(), mrpt::math::CVectorTemplate< KFTYPE >::extract_vector(), mrpt::math::CMatrixTemplate< TPoint3D >::extractCol(), mrpt::math::CMatrixTemplate< TPoint3D >::extractMatrix(), mrpt::math::CMatrixTemplate< TPoint3D >::extractRow(), mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrix(), mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrixSymmetrical(), mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrixSymmetricalBlocks(), mrpt::math::CVectorTemplate< KFTYPE >::find_max(), mrpt::math::CVectorTemplate< KFTYPE >::find_min(), mrpt::math::CVectorTemplate< KFTYPE >::find_min_max(), mrpt::poses::CPose3D::fromString(), mrpt::poses::CPose2D::fromString(), mrpt::poses::CPoint3D::fromString(), mrpt::poses::CPoint2D::fromString(), mrpt::math::generateAxisBaseFromDirection(), mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::get_unsafe(), mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe_row(), mrpt::utils::CReferencedMemBlock::getAs(), mrpt::utils::CMHPropertiesValuesList::getAs(), mrpt::math::CDirectedGraph< CPOSE >::getEdge(), mrpt::utils::CMHPropertiesValuesList::getElemental(), mrpt::utils::CStdOutStream::getPosition(), mrpt::hwdrivers::CSerialPort::getPosition(), mrpt::utils::CClientTCPSocket::getPosition(), mrpt::utils::CStdOutStream::getTotalBytesCount(), mrpt::hwdrivers::CSerialPort::getTotalBytesCount(), mrpt::utils::CClientTCPSocket::getTotalBytesCount(), mrpt::math::CVectorTemplate< KFTYPE >::insert_vector(), mrpt::math::CMatrixTemplate< TPoint3D >::insertCol(), mrpt::math::CMatrixTemplate< TPoint3D >::insertMatrix(), mrpt::math::CMatrixTemplate< TPoint3D >::insertMatrixTranspose(), mrpt::slam::CMetricMap::insertObservationPtr(), mrpt::math::CMatrixTemplate< TPoint3D >::insertRow(), mrpt::math::invMatrix_destroySrc(), mrpt::math::CMatrixTemplate< TPoint3D >::joinMatrix(), mrpt::math::CVectorTemplate< KFTYPE >::loadFromTextFile(), mrpt::math::CMatrixTemplate< TPoint3D >::loadFromTextFile(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::loadFromTextFile(), mrpt::math::matrixFromPoseOrPoint(), mrpt::utils::non_copiable_ptr_basic< CMultiMetricMap >::non_copiable_ptr_basic(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::OnInverseObservationModel(), mrpt::hwdrivers::CSerialPort::open(), mrpt::math::CMatrixTemplate< TPoint3D >::operator()(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::operator()(), mrpt::math::CVectorTemplate< KFTYPE >::operator+=(), mrpt::math::operator/(), mrpt::math::operator/=(), mrpt::utils::non_copiable_ptr< CMultiMetricMap >::operator=(), mrpt::utils::non_copiable_ptr_basic< CMultiMetricMap >::operator=(), mrpt::math::TObject3D::operator=(), mrpt::utils::CTicTac::operator=(), mrpt::math::CMatrixTemplate< TPoint3D >::operator=(), mrpt::utils::operator>>(), mrpt::utils::CStdOutStream::Read(), mrpt::math::CMatrixTemplate< TPoint3D >::removeColumns(), mrpt::math::round2up(), mrpt::bayes::CKalmanFilterCapable< 6, 3, 3, 6 >::runOneKalmanIteration(), mrpt::math::saveMatrixToTextFile(), mrpt::utils::CLoadableOptions::saveToConfigFile(), mrpt::utils::CStdOutStream::Seek(), mrpt::hwdrivers::CSerialPort::Seek(), mrpt::utils::CFileGZInputStream::Seek(), mrpt::utils::CClientTCPSocket::Seek(), mrpt::math::CMatrixTemplate< TPoint3D >::set_unsafe(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::set_unsafe(), mrpt::hwdrivers::CSerialPort::setSerialPortName(), mrpt::slam::CMetricMap::squareDistanceToClosestCorrespondence(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::substract_An(), mrpt::math::CMatrixTemplate< TPoint3D >::swapCols(), and mrpt::math::CMatrixTemplate< TPoint3D >::swapRows().
| #define THROW_EXCEPTION_CUSTOM_MSG1 | ( | msg, | |||
| param1 | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << "\n\n =============== MRPT EXCEPTION =============\n";\
auxCompStr << __CURRENT_FUNCTION_NAME__ << ", line " << __LINE__ << ":\n";\
auxCompStr << mrpt::format(msg,param1)<< std::endl; \
auxCompStr << mrpt::system::stack_trace(); \
throw std::logic_error( auxCompStr.str() );\
}\
| e | The caught exception. | |
| msg | Is a char* or literal string. |
Referenced by mrpt::utils::CConsoleRedirector::CConsoleRedirector(), mrpt::math::CDijkstra< TYPE_EDGES >::CDijkstra(), mrpt::utils::CMHPropertiesValuesList::getElemental(), mrpt::math::CMatrixTemplate< TPoint3D >::loadFromTextFile(), mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::loadFromTextFile(), mrpt::math::CMatrixTemplate< TPoint3D >::operator()(), mrpt::math::saveMatrixToTextFile(), and mrpt::math::size().
| #define THROW_STACKED_EXCEPTION | ( | e | ) |
{\
std::string str( e.what() );\
if (str.find("MRPT stack trace")==std::string::npos) \
{ \
str+= __CURRENT_FUNCTION_NAME__;\
str+= mrpt::format(", line %i:\n", __LINE__ );\
if (str.size()>3000) { std::cerr << "TOO MANY STACKED EXCEPTIONS!: " << std::endl << str << std::endl; abort(); } \
throw std::logic_error( str );\
} \
else throw std::logic_error( e.what() );\
}\
Definition at line 339 of file utils_defs.h.
| #define THROW_STACKED_EXCEPTION_CUSTOM_MSG1 | ( | e, | |||
| msg | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << e.what() ; \
auxCompStr << msg << std::endl; \
throw std::logic_error( auxCompStr.str() );\
}\
Definition at line 356 of file utils_defs.h.
| #define THROW_STACKED_EXCEPTION_CUSTOM_MSG2 | ( | e, | |||
| stuff, | |||||
| param1 | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << e.what() ; \
auxCompStr << mrpt::format( stuff, param1 ) << std::endl; \
throw std::logic_error( auxCompStr.str() );\
}\
Definition at line 368 of file utils_defs.h.
| #define THROW_TYPED_EXCEPTION | ( | msg, | |||
| exceptionClass | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << "\n\n =============== MRPT EXCEPTION =============\n";\
auxCompStr << __CURRENT_FUNCTION_NAME__ << ", line " << __LINE__ << ":\n";\
auxCompStr << msg << std::endl; \
auxCompStr << mrpt::system::stack_trace(); \
throw exceptionClass( auxCompStr.str() );\
}\
Defines a unified way of reporting exceptions of type different from "std::exception".
Definition at line 311 of file utils_defs.h.
| #define THROW_TYPED_EXCEPTION_CUSTOM_MSG1 | ( | msg, | |||
| param1, | |||||
| exceptionClass | ) |
{\
std::ostringstream auxCompStr;\
auxCompStr << "\n\n =============== MRPT EXCEPTION =============\n";\
auxCompStr << __CURRENT_FUNCTION_NAME__ << ", line " << __LINE__ << ":\n";\
auxCompStr << mrpt::format(msg,param1)<< std::endl; \
auxCompStr << mrpt::system::stack_trace(); \
throw exceptionClass( auxCompStr.str() );\
}\
Definition at line 325 of file utils_defs.h.
| const T max3 | ( | const T & | A, | |
| const T & | B, | |||
| const T & | C | |||
| ) | [inline] |
Definition at line 560 of file utils_defs.h.
| const T min3 | ( | const T & | A, | |
| const T & | B, | |||
| const T & | C | |||
| ) | [inline] |
Definition at line 559 of file utils_defs.h.
| Page generated by Doxygen 1.6.2 for MRPT 0.8.1 SVN:exported at Mon Feb 15 22:01:07 UTC 2010 |