Go to the documentation of this file.
44 #ifndef CEREAL_MACROS_HPP_
45 #define CEREAL_MACROS_HPP_
47 #ifndef CEREAL_THREAD_SAFE
56 #define CEREAL_THREAD_SAFE 0
59 #ifndef CEREAL_SIZE_TYPE
70 #define CEREAL_SIZE_TYPE uint64_t
74 #ifndef CEREAL_SERIALIZE_FUNCTION_NAME
78 #define CEREAL_SERIALIZE_FUNCTION_NAME serialize
81 #ifndef CEREAL_LOAD_FUNCTION_NAME
85 #define CEREAL_LOAD_FUNCTION_NAME load
88 #ifndef CEREAL_SAVE_FUNCTION_NAME
92 #define CEREAL_SAVE_FUNCTION_NAME save
95 #ifndef CEREAL_LOAD_MINIMAL_FUNCTION_NAME
99 #define CEREAL_LOAD_MINIMAL_FUNCTION_NAME load_minimal
102 #ifndef CEREAL_SAVE_MINIMAL_FUNCTION_NAME
106 #define CEREAL_SAVE_MINIMAL_FUNCTION_NAME save_minimal
114 #if !defined(CEREAL_HAS_NOEXCEPT)
115 #if defined(__clang__)
116 #if __has_feature(cxx_noexcept)
117 #define CEREAL_HAS_NOEXCEPT
120 #if defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC__ * 10 + __GNUC_MINOR__ >= 46 || \
121 defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026
122 #define CEREAL_HAS_NOEXCEPT
126 #ifndef CEREAL_NOEXCEPT
127 #ifdef CEREAL_HAS_NOEXCEPT
128 #define CEREAL_NOEXCEPT noexcept
130 #define CEREAL_NOEXCEPT
138 #if (__cplusplus >= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)) \
139 && (!defined(__clang__) || __clang_major__ > 5)
140 #define CEREAL_HAS_CPP17
144 #if (__cplusplus >= 201402L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L))
145 #define CEREAL_HAS_CPP14
150 #if defined(_MSC_VER) && _MSC_VER < 1900
151 #define CEREAL_ALIGNOF __alignof
153 #define CEREAL_ALIGNOF alignof