226/** For use in CSerializable implementations */
227#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(V) THROW_EXCEPTION(mrpt::format("Cannot parse object: unknown serialization version number: '%i'",static_cast<int>(version)))
228
229
230#if MRPT_HAS_ASSERT
231 /** Defines an assertion mechanism.
232 * \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.
233 * \sa MRPT_TRY_START, MRPT_TRY_END
234 */
235# define ASSERTMSG_(f,__ERROR_MSG) \
236 { \
237 if (!(f)) THROW_EXCEPTION( ::std::string( __ERROR_MSG ) ); \
238 }
239
240 /** Defines an assertion mechanism.
241 * \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.
296/** Defines an assertion mechanism - only when compiled in debug.
297 * \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.
336 /** 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.