13 #ifndef __STOUT_ABORT_HPP__
14 #define __STOUT_ABORT_HPP__
33 #define __STRINGIZE(x) #x
34 #define _STRINGIZE(x) __STRINGIZE(x)
38 #define _ABORT_PREFIX "ABORT: (" __FILE__ ":" _STRINGIZE(__LINE__) "): "
40 #define ABORT(...) _Abort(_ABORT_PREFIX, __VA_ARGS__)
50 const size_t prefix_len = strlen(prefix);
51 const size_t message_len = strlen(message);
53 const unsigned int prefix_len =
static_cast<unsigned int>(strlen(prefix));
54 const unsigned int message_len =
static_cast<unsigned int>(strlen(message));
55 #endif // !__WINDOWS__
66 while (message !=
nullptr &&
82 _Abort(prefix, message.c_str());
86 #endif // __STOUT_ABORT_HPP__
constexpr const char * prefix
Definition: os.hpp:94
#define STDERR_FILENO
Definition: windows.hpp:161
Protocol< WriteRequest, WriteResponse > write
NORETURN void _Abort(const char *prefix, const char *message)
Definition: abort.hpp:43
#define NORETURN
Definition: attributes.hpp:20