mirror of
https://github.com/boostorg/stl_interfaces.git
synced 2026-01-19 04:42:12 +00:00
Create separate macro guards for the use of GCC's _RangeAdaptorClosure, since
they keep messing with it.
This commit is contained in:
@@ -24,10 +24,14 @@
|
||||
#endif
|
||||
|
||||
#if !BOOST_STL_INTERFACES_USE_CPP23_STD_RANGE_ADAPTOR_CLOSURE && \
|
||||
BOOST_STL_INTERFACES_USE_CONCEPTS && defined(BOOST_GCC) && 14 <= __GNUC__
|
||||
#define BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC14_RANGE_ADAPTOR_CLOSURE 1
|
||||
#elif !BOOST_STL_INTERFACES_USE_CPP23_STD_RANGE_ADAPTOR_CLOSURE && \
|
||||
BOOST_STL_INTERFACES_USE_CONCEPTS && defined(BOOST_GCC) && 12 <= __GNUC__
|
||||
#define BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC12_RANGE_ADAPTOR_CLOSURE 1
|
||||
#else
|
||||
#define BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC12_RANGE_ADAPTOR_CLOSURE 0
|
||||
#define BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC14_RANGE_ADAPTOR_CLOSURE 0
|
||||
#endif
|
||||
|
||||
#if !BOOST_STL_INTERFACES_USE_CPP23_STD_RANGE_ADAPTOR_CLOSURE && \
|
||||
@@ -38,6 +42,7 @@
|
||||
#endif
|
||||
|
||||
#if !BOOST_STL_INTERFACES_USE_CPP23_STD_RANGE_ADAPTOR_CLOSURE && \
|
||||
!BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC14_RANGE_ADAPTOR_CLOSURE && \
|
||||
!BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC12_RANGE_ADAPTOR_CLOSURE && \
|
||||
!BOOST_STL_INTERFACES_NEED_VS_COMPATIBLE_RANGE_ADAPTOR_CLOSURE
|
||||
#define BOOST_STL_INTERFACES_DEFINE_CUSTOM_RANGE_ADAPTOR_CLOSURE 1
|
||||
@@ -170,11 +175,16 @@ namespace boost { namespace stl_interfaces {
|
||||
template<typename D>
|
||||
using range_adaptor_closure = std::ranges::range_adaptor_closure<D>;
|
||||
|
||||
#elif BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC12_RANGE_ADAPTOR_CLOSURE
|
||||
#elif BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC14_RANGE_ADAPTOR_CLOSURE
|
||||
|
||||
template<typename D>
|
||||
using range_adaptor_closure = std::views::__adaptor::_RangeAdaptorClosure<D>;
|
||||
|
||||
#elif BOOST_STL_INTERFACES_USE_LIBSTDCPP_GCC12_RANGE_ADAPTOR_CLOSURE
|
||||
|
||||
template<typename D>
|
||||
using range_adaptor_closure = std::views::__adaptor::_RangeAdaptorClosure;
|
||||
|
||||
#elif BOOST_STL_INTERFACES_NEED_VS_COMPATIBLE_RANGE_ADAPTOR_CLOSURE
|
||||
|
||||
template<typename D>
|
||||
|
||||
Reference in New Issue
Block a user