49 #define UNUSED(expr) (void)expr
53 #elif __APPLE__ && __MACH__
62 #define EXPORT __declspec(dllexport)
63 #define IMPORT __declspec(dllimport)
66 #define EXPORTED __attribute__((visibility("default")))
67 #define NOT_EXPORTED __attribute__((visibility("hidden")))
68 #define PROTECTED __attribute__((visibility("protected")))
69 #define INTERNAL __attribute__((visibility("internal")))
72 #if defined(__clang__)
73 #define COMPILER_CLANG
74 #elif defined(__GNUC__) || defined(__GNUG__)
77 #define COMPILER_OTHER
std::error_code error_code