11 #include "jasl/jasl_internal/jasl_feature_test_macro.hpp" 13 #define JASL_INNER_STR(x) #x 14 #define JASL_STR(x) JASL_INNER_STR(x) 19 #define JASL_VERSION_MAJOR 1 20 #define JASL_VERSION_MINOR 2 21 #define JASL_VERSION_PATCH 0 22 #define JASL_VERSION_LABEL "" 23 #define JASL_VERSION_DATE "2018-09-11" 25 static_assert(JASL_VERSION_MAJOR < 100,
"JASL_VERSION error");
26 static_assert(JASL_VERSION_MINOR < 100,
"JASL_VERSION error");
27 static_assert(JASL_VERSION_PATCH < 1000,
"JASL_VERSION error");
29 #define JASL_VERSION_STR \ 30 JASL_STR(JASL_VERSION_MAJOR) \ 31 "." JASL_STR(JASL_VERSION_MINOR) "." JASL_STR(JASL_VERSION_PATCH) \ 32 JASL_VERSION_LABEL " (" JASL_VERSION_DATE ")" 34 #ifdef JASL_TERMINATE_ON_EXCEPTION_ON 36 # define JASL_THROW(exception) ::std::terminate() 38 # define JASL_THROW(exception) throw(exception) 41 #if defined(JASL_ASSERT_ON) && JASL_cpp_constexpr >= 201304L 44 # define JASL_ASSERT(expr, message) \ 47 ::std::cerr << __FILE__ << '(' << __LINE__ << "): " << message; \ 52 # define JASL_ASSERT(...) 55 #if defined(JASL_TESTIFY_STD_STRING_VIEW_EXISTS) 56 # if !defined(JASL_cpp_lib_string_view) 57 # define JASL_cpp_lib_string_view 201606L 58 # include <string_view> 65 #ifdef JASL_INNER_DOXYGEN_DOCUMENTATION 66 # error "Should not be defined!" 81 # define JASL_USE_JASL_STRING_VIEW_AS_BASE 97 # define JASL_USE_STD_STRING_VIEW_AS_BASE 103 # define JASL_SUPPORT_STD_TO_JASL 109 # define JASL_SUPPORT_JASL_TO_STD 121 # define JASL_TERMINATE_ON_EXCEPTION_ON 127 # define JASL_ASSERT_ON 138 # define JASL_TESTIFY_STD_STRING_VIEW_EXISTS 144 # define JASL_DISABLE_JASL_STRING_VIEW_HASH 151 # define JASL_FORCE_USE_MURMURHASH_HASH 153 #endif // JASL_DOXYGEN_DOCUMENTATION