199/** For use in CSerializable implementations */
200#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V) THROW_EXCEPTION(mrpt::format("Cannot parse object: unknown serialization version number: '%i'",static_cast<int>(__V)))
201
202
203#if MRPT_HAS_ASSERT
204 /** Defines an assertion mechanism.
205 * \note Do NOT put code that must be always executed inside this statement, but just comparisons. This is because users might require ASSERT_'s to be ignored for optimized releases.
206 * \sa MRPT_TRY_START, MRPT_TRY_END
207 */
208# define ASSERTMSG_(f,__ERROR_MSG) \
209 { \
210 if (!(f)) THROW_EXCEPTION( ::std::string( __ERROR_MSG ) ); \
211 }
212
213 /** Defines an assertion mechanism.
214 * \note Do NOT put code that must be always executed inside this statement, but just comparisons. This is because users might require ASSERT_'s to be ignored for optimized releases.
275/** Defines an assertion mechanism - only when compiled in debug.
276 * \note Do NOT put code that must be always executed inside this statement, but just comparisons. This is because users might require ASSERT_'s to be ignored for optimized releases.
315 /** The end of a standard MRPT "try...catch()" block that allows tracing throw the call stack after an exception, including a "clean up" piece of code to be run before throwing the exceptions.