Storm
1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExceptionMacros.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <exception>
4
#include <sstream>
5
6
// Exceptions must be catchable across shared library boundaries even with hidden visibility.
7
#define STORM_EXCEPTION_EXPORT_ATTRIBUTE __attribute__((visibility("default")))
8
13
#define STORM_NEW_EXCEPTION(exception_name) \
14
class STORM_EXCEPTION_EXPORT_ATTRIBUTE exception_name : public BaseException { \
15
public: \
16
exception_name() : BaseException() {} \
17
exception_name(char const* cstr) : BaseException(cstr) {} \
18
exception_name(exception_name const& cp) : BaseException(cp) {} \
19
~exception_name() throw() {} \
20
virtual std::string type() const override { \
21
return #exception_name; \
22
} \
23
template<typename T> \
24
exception_name& operator<<(T const& var) { \
25
this->stream << var; \
26
return *this; \
27
} \
28
};
src
storm
exceptions
ExceptionMacros.h
Generated by
1.15.0