4 #include <libsex/utility.hxx> // Needed in ERR_INST.
6 #define ERR_DEFINE(parent, name) \
7 class name : public parent\
10 static const char* const TEMPLATE;\
11 name(const char* const errorMessage);\
14 #define ERR_IMPL(parent, name, message) \
15 const char* const name::TEMPLATE = message;\
17 name::name(const char* const errorMessage)\
18 : parent(errorMessage)\
22 #define ERR_INST(type, var, args...) \
23 type var = libsex::formatted<type>(__FILE__, __LINE__, args);