Img2Num C
API Documentation
Loading...
Searching...
No Matches
img2num_error_t.cpp
Go to the documentation of this file.
2
3#include <cstring>
4
5#include "img2num/Error.h"
6
7static inline img2num_error_t cpp_error_to_c_error(img2num::Error cpp_error) {
8 static_assert(static_cast<int>(img2num::Error::OK) == IMG2NUM_OK, "enum mismatch");
9 static_assert(static_cast<int>(img2num::Error::BAD_ALLOC) == IMG2NUM_ERROR_BAD_ALLOC,
10 "enum mismatch");
11 static_assert(
12 static_cast<int>(img2num::Error::INVALID_ARGUMENT) == IMG2NUM_ERROR_INVALID_ARGUMENT,
13 "enum mismatch");
14 static_assert(static_cast<int>(img2num::Error::RUNTIME) == IMG2NUM_ERROR_RUNTIME,
15 "enum mismatch");
16 static_assert(static_cast<int>(img2num::Error::UNKNOWN) == IMG2NUM_ERROR_UNKNOWN,
17 "enum mismatch");
18
19 return static_cast<img2num_error_t>(cpp_error);
20}
21
22extern "C" {
24 const img2num::Error cpp_err{img2num::get_last_error()};
25 return cpp_error_to_c_error(cpp_err);
26}
27
29 static thread_local std::string msg;
30 msg = img2num::get_last_error_message();
31 return msg.c_str();
32}
33
35 img2num::clear_last_error();
36}
37}
img2num_error_t img2num_get_last_error()
const char * img2num_get_last_error_message()
void img2num_clear_last_error()
img2num_error_t
@ IMG2NUM_ERROR_RUNTIME
@ IMG2NUM_ERROR_BAD_ALLOC
@ IMG2NUM_OK
@ IMG2NUM_ERROR_INVALID_ARGUMENT
@ IMG2NUM_ERROR_UNKNOWN