|
libcosmos
Linux C++ System Programming Library
|
#include <cosmos/compiler.hxx>Go to the source code of this file.
Macros | |
| #define | cosmos_throw(e) |
| #define | COSMOS_ERROR_IMPL [[ noreturn ]] void raise() override { throw *this; } |
| Use this in each type derived from CosmosError to apply mandatory overrides. | |
This header contains exception handling related macros specific to libcosmos's exception model.
Definition in file macros.hxx.
| #define COSMOS_ERROR_IMPL [[ noreturn ]] void raise() override { throw *this; } |
Use this in each type derived from CosmosError to apply mandatory overrides.
since this is a virtual function, the noreturn attribute is not enough to silence "no return in function returning non-void" functions. I didn't find a way around that yet, meaning that somethings unnecessary returns have to be added to silence these warnings.
Definition at line 30 of file macros.hxx.
| #define cosmos_throw | ( | e | ) |
Definition at line 21 of file macros.hxx.