Img2Num C
API Documentation
Loading...
Searching...
No Matches
img2num_error_t.cpp
Go to the documentation of this file.
2
3#include "img2num/Error.h"
4
5#include <cstring>
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(
10 static_cast<int>(img2num::Error::BAD_ALLOC) == IMG2NUM_ERROR_BAD_ALLOC, "enum mismatch"
11 );
12 static_assert(
13 static_cast<int>(img2num::Error::INVALID_ARGUMENT) == IMG2NUM_ERROR_INVALID_ARGUMENT,
14 "enum mismatch"
15 );
16 static_assert(
17 static_cast<int>(img2num::Error::RUNTIME) == IMG2NUM_ERROR_RUNTIME, "enum mismatch"
18 );
19 static_assert(
20 static_cast<int>(img2num::Error::UNKNOWN) == IMG2NUM_ERROR_UNKNOWN, "enum mismatch"
21 );
22
23 return static_cast<img2num_error_t>(cpp_error);
24}
25
26extern "C" {
28 const img2num::Error cpp_err {img2num::get_last_error()};
29 return cpp_error_to_c_error(cpp_err);
30}
31
33 static thread_local std::string msg;
34 msg = img2num::get_last_error_message();
35 return msg.c_str();
36}
37
39 img2num::clear_last_error();
40}
41}
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