MACRO
OMNI_ALLOW_UB - If defined, this allows the library to compile with undefined behaviour.
SYNOPSIS top
When
When
OMNI_NO_EXCEPT and OMNI_NO_THROW and OMNI_NO_TERMINATE are all defined, this must be defined to allow undefined behaviour within the library.
DESCRIPTION top
the library is designed to allow a great amount of build flexibility and portability, to this you can define that the library does not utilize certain error handling constructs, like calling
However, in the event you build the library without any error handling, you must explicitly define this macro to allow the library to run without error checking and thus potentially run into undefined behaviour with any input or output.
the library is designed to allow a great amount of build flexibility and portability, to this you can define that the library does not utilize certain error handling constructs, like calling
std::terminate or throwing exceptions.However, in the event you build the library without any error handling, you must explicitly define this macro to allow the library to run without error checking and thus potentially run into undefined behaviour with any input or output.
CONSIDERATIONS top
If defined, all error handling and data validation to and from the library is left to the user.
If defined, all error handling and data validation to and from the library is left to the user.
NOTES top
This flag only has an effect if
This flag only has an effect if
OMNI_NO_EXCEPT and OMNI_NO_THROW and OMNI_NO_TERMINATE are all defined.