File indexing completed on 2025-12-16 10:09:45
0001
0002
0003
0004
0005
0006 #ifndef BOOST_STL_INTERFACES_CONFIG_HPP
0007 #define BOOST_STL_INTERFACES_CONFIG_HPP
0008
0009
0010 #include <boost/config.hpp>
0011
0012
0013 #include <iterator>
0014
0015
0016 #if defined(__cpp_lib_concepts) && defined(__cpp_lib_ranges) && \
0017 !defined(BOOST_STL_INTERFACES_DISABLE_CONCEPTS)
0018 #define BOOST_STL_INTERFACES_USE_CONCEPTS 1
0019 #else
0020 #define BOOST_STL_INTERFACES_USE_CONCEPTS 0
0021 #endif
0022
0023 #if ( \
0024 defined(__cpp_explicit_this_parameter) || \
0025 (defined(_MSC_VER) && _MSC_VER >= 1941) || \
0026 (defined(BOOST_CLANG_VERSION) && BOOST_CLANG_VERSION >= 190000)) && \
0027 BOOST_STL_INTERFACES_USE_CONCEPTS && (202002L < __cplusplus) && \
0028 !defined(BOOST_STL_INTERFACES_DISABLE_DEDUCED_THIS)
0029 #define BOOST_STL_INTERFACES_USE_DEDUCED_THIS 1
0030 #else
0031 #define BOOST_STL_INTERFACES_USE_DEDUCED_THIS 0
0032 #endif
0033
0034
0035
0036
0037
0038
0039
0040 #if !BOOST_STL_INTERFACES_USE_CONCEPTS && !BOOST_STL_INTERFACES_USE_DEDUCED_THIS
0041 # define BOOST_STL_INTERFACES_NAMESPACE_V1 inline namespace v1
0042 # define BOOST_STL_INTERFACES_NAMESPACE_V2 namespace v2
0043 # define BOOST_STL_INTERFACES_NAMESPACE_V3 namespace v3
0044 #elif BOOST_STL_INTERFACES_USE_CONCEPTS && !BOOST_STL_INTERFACES_USE_DEDUCED_THIS
0045 # define BOOST_STL_INTERFACES_NAMESPACE_V1 namespace v1
0046 # define BOOST_STL_INTERFACES_NAMESPACE_V2 inline namespace v2
0047 # define BOOST_STL_INTERFACES_NAMESPACE_V3 namespace v3
0048 #else
0049 # define BOOST_STL_INTERFACES_NAMESPACE_V1 namespace v1
0050 # define BOOST_STL_INTERFACES_NAMESPACE_V2 namespace v2
0051 # define BOOST_STL_INTERFACES_NAMESPACE_V3 inline namespace v3
0052 #endif
0053
0054 #endif