-
-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
I got an error when compile with ztd.text (msvc 19.39 with c++latest) at this line
https://github.com/soasis/text/blob/fc30abbc3056a0ea69f2c6ef25221c3244bf31cf/include/ztd/text/detail/span_reconstruct.hpp#L90
Look like ::ztd::ranges::range_element_type_t is undefined when ZTD_IS_ON(ZTD_STD_LIBRARY_RANGES) at line 882 in adl.hpp is true
idk/include/ztd/ranges/adl.hpp
Lines 882 to 929 in 4babfa5
| #if ZTD_IS_ON(ZTD_STD_LIBRARY_RANGES) | |
| template <typename _Range> | |
| using range_iterator_t = ::std::ranges::iterator_t<_Range>; | |
| template <typename _Range> | |
| using range_sentinel_t = ::std::ranges::sentinel_t<_Range>; | |
| template <typename _Range> | |
| using range_value_type_t = ::std::ranges::range_value_t<_Range>; | |
| template <typename _Range> | |
| using range_reference_t = ::std::ranges::range_reference_t<_Range>; | |
| template <typename _Range> | |
| using range_rvalue_reference_t = ::std::ranges::range_rvalue_reference_t<_Range>; | |
| template <typename _Range> | |
| using range_difference_type_t = ::std::ranges::range_difference_t<_Range>; | |
| template <typename _Range> | |
| using range_size_type_t = ::std::ranges::range_size_t<_Range>; | |
| #else | |
| template <typename _Range> | |
| using range_iterator_t = ::std::remove_reference_t<decltype(::ztd::ranges::begin( | |
| ::std::declval<::std::add_lvalue_reference_t<_Range>>()))>; | |
| template <typename _Range> | |
| using range_sentinel_t = ::std::remove_reference_t<decltype(::ztd::ranges::end( | |
| ::std::declval<::std::add_lvalue_reference_t<_Range>>()))>; | |
| template <typename _Range> | |
| using range_value_type_t = iterator_value_type_t<range_iterator_t<_Range>>; | |
| template <typename _Range> | |
| using range_element_type_t = iterator_element_type_t<range_iterator_t<_Range>>; | |
| template <typename _Range> | |
| using range_reference_t = iterator_reference_t<range_iterator_t<_Range>>; | |
| template <typename _Range> | |
| using range_rvalue_reference_t = iterator_rvalue_reference_t<range_iterator_t<_Range>>; | |
| template <typename _Range> | |
| using range_difference_type_t = iterator_difference_type_t<range_iterator_t<_Range>>; | |
| template <typename _Range> | |
| using range_size_type_t = iterator_size_type_t<range_iterator_t<_Range>>; | |
| #endif |
I copy line 916 to 891 and it compiles.
Metadata
Metadata
Assignees
Labels
No labels