36 #ifndef INCLUDED_IEXBASEEXC_H
37 #define INCLUDED_IEXBASEEXC_H
131 #define DEFINE_EXC_EXP(exp, name, base) \
132 class name: public base \
135 exp name() throw(); \
136 exp name (const char* text) throw(); \
137 exp name (const std::string &text) throw(); \
138 exp name (std::stringstream &text) throw(); \
139 exp ~name() throw(); \
141 #define DEFINE_EXC_EXP_IMPL(exp, name, base) \
142 exp name::name () throw () : base () {} \
143 exp name::name (const char* text) throw () : base (text) {} \
144 exp name::name (const std::string& text) throw () : base (text) {} \
145 exp name::name (std::stringstream& text) throw () : base (text) {} \
146 exp name::~name () throw () {}
149 #define DEFINE_EXC(name, base) DEFINE_EXC_EXP(, name, base)
213 typedef std::
string (* StackTracer) ();
216 IEX_EXPORT StackTracer stackTracer ();
221 #endif // INCLUDED_IEXBASEEXC_H
IEX_EXPORT BaseExc & operator=(std::stringstream &s)
#define DEFINE_EXC_EXP(exp, name, base)
BaseExc BaseExc BaseExc BaseExc DEFINE_EXC_EXP(IEX_EXPORT, TypeExc, BaseExc) typedef std IEX_EXPORT void setStackTracer(StackTracer stackTracer)
BaseExc BaseExc BaseExc NullExc
IEX_EXPORT const std::string & message() const
GLsizei const GLchar *const * string
#define IEX_INTERNAL_NAMESPACE_HEADER_ENTER
IEX_EXPORT BaseExc & assign(std::stringstream &s)
IEX_EXPORT BaseExc(const char *s=0)
IEX_EXPORT const std::string & stackTrace() const
#define IEX_INTERNAL_NAMESPACE_HEADER_EXIT
virtual IEX_EXPORT ~BaseExc()
IEX_EXPORT StackTracer stackTracer()
IEX_EXPORT BaseExc & append(std::stringstream &s)
IEX_EXPORT BaseExc & operator+=(std::stringstream &s)
virtual IEX_EXPORT const char * what() const