10#include <boost/format.hpp>
36#define BELLE2_DEFINE_EXCEPTION(ClassName, Message) \
37 class ClassName : public std::runtime_error { \
39 ClassName(): std::runtime_error(""), m_format(Message) { } \
40 ~ClassName() noexcept {} \
41 virtual const char * what() const noexcept override { \
42 m_finalStr = m_format.str();\
43 return m_finalStr.c_str();\
45 template <class T> ClassName& operator<<(const T& param) {\
50 boost::format m_format;\
51 mutable std::string m_finalStr;\
Abstract base class for different kinds of events.