Go to the documentation of this file.
25 #ifndef CRYPTO3_INLINE_VARIABLE_HPP
26 #define CRYPTO3_INLINE_VARIABLE_HPP
28 #define CRYPTO3_CXX_STD_14 201402L
29 #define CRYPTO3_CXX_STD_17 201703L
31 #if defined(_MSVC_LANG) && _MSVC_LANG > __cplusplus
32 #define CRYPTO3_CXX_VER _MSVC_LANG
34 #define CRYPTO3_CXX_VER __cplusplus
37 #ifndef CRYPTO3_CXX17_INLINE_VARIABLES
38 #ifdef __cpp_inline_variables
39 #define CRYPTO3_CXX17_INLINE_VARIABLES __cpp_inline_variables
41 #define CRYPTO3_CXX17_INLINE_VARIABLES (CRYPTO3_CXX_VER >= CRYPTO3_CXX_STD_17)
45 #ifdef CRYPTO3_CXX17_INLINE_VARIABLES
46 #define CRYPTO3_INLINE_VARIABLE(TYPE, NAME, VALUE) \
47 constexpr static inline TYPE NAME() { \
51 #define CRYPTO3_INLINE_VARIABLE(TYPE, NAME, VALUE) \
53 inline TYPE const &operator()() const { \
54 static TYPE const v VALUE; \