2626// ! Defines boost::container::from_range_t and the boost::container::from_range
2727// ! tag, used to disambiguate the range-based members of the containers.
2828// !
29- // ! When the standard library provides ::std::from_range_t (feature-test macro
30- // ! __cpp_lib_containers_ranges), from_range_t is a reference to it -following
31- // ! the same technique as boost::container::piecewise_construct_t and
32- // ! boost::container::allocator_arg_t- so the tag is the very same type as the
33- // ! standard one and interoperates with ::std::from_range, yet the heavyweight
34- // ! <ranges> header is not required. Otherwise, there is no standard type to
35- // ! refer to and from_range_t is defined as a standalone type.
29+ // ! When the standard library provides ::std::from_range_t (see
30+ // ! BOOST_CONTAINER_DETAIL_STD_FROM_RANGE_SUPPORT in std_fwd.hpp), from_range_t
31+ // ! is a reference to it -following the same technique as
32+ // ! boost::container::piecewise_construct_t and boost::container::allocator_arg_t-
33+ // ! so the tag is the very same type as the standard one and interoperates with
34+ // ! ::std::from_range, yet the heavyweight <ranges> header is not required.
35+ // ! Otherwise, there is no standard type to refer to and from_range_t is defined
36+ // ! as a standalone type.
3637
3738namespace boost {
3839namespace container {
3940
4041#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
4142
42- #if defined(__cpp_lib_containers_ranges )
43+ #if defined(BOOST_CONTAINER_DETAIL_STD_FROM_RANGE_SUPPORT )
4344
4445 template <int Dummy = 0 >
4546 struct std_from_range_holder
@@ -55,7 +56,7 @@ typedef const ::std::from_range_t & from_range_t;
5556// ! A instance of type from_range_t
5657static from_range_t from_range = *std_from_range_holder<>::dummy;
5758
58- #else // !defined(__cpp_lib_containers_ranges )
59+ #else // !defined(BOOST_CONTAINER_DETAIL_STD_FROM_RANGE_SUPPORT )
5960
6061// The standard library does not provide ::std::from_range_t, so there is nothing
6162// to interoperate with: from_range_t is a standalone type.
@@ -64,7 +65,7 @@ struct from_range_t {};
6465// ! A instance of type from_range_t
6566static const from_range_t from_range = from_range_t ();
6667
67- #endif // defined(__cpp_lib_containers_ranges )
68+ #endif // defined(BOOST_CONTAINER_DETAIL_STD_FROM_RANGE_SUPPORT )
6869
6970#else // BOOST_CONTAINER_DOXYGEN_INVOKED
7071
0 commit comments