stl_algo.h (merge): Fix documentation.
authorFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 28 Sep 2019 21:11:55 +0000 (21:11 +0000)
committerFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 28 Sep 2019 21:11:55 +0000 (21:11 +0000)
commit97d57665314187d75ba787c5fceadf1a91a11492
tree363acc509ef2ddd88fdd27033971300d6e12ce85
parent23cb6f8e0c0b462c13fbc01d5d6777d6b49bfaa7
stl_algo.h (merge): Fix documentation.

2019-09-28  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_algo.h (merge): Fix documentation.
* include/debug/functions.h (__check_sorted_aux): Add C++20 constexpr.
(__check_sorted): Likewise and remove nested irreflexive check.
(__check_sorted_set_aux, __check_sorted_set): Add C++20 constexpr.
(__check_partitioned_lower, __check_partitioned_upper): Likewise.
(_Irreflexive_checker::_S_is_valid): Likewise.
(__is_irreflexive, __is_irreflexive_pred): Likewise.
* include/debug/helper_functions.h (__get_distance): Add constexpr.
(__valid_range_aux): Add C++20 constexpr.
(__valid_range(_Iter, _Iter, _Distance_traits<_Iter>::__type&)):
Likewise and add std::is_constant_evaluated check.
(__valid_range_aux(_Iter, _Iter, std::input_iterator_tag)): New.
(__valid_range_aux(_Iter, _Iter, std::random_accss_iterator_tag)): New.
(__valid_range_aux(_Integral, _Integral, std::__true_type)): New,
use latter.
(__valid_range(_Iter, _Iter)): Adapt to use latter, add constexpr and
__builtin_is_contant_evaludated check..
(__can_advance, __base): Add constexpr.
* include/debug/macros.h [_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED]
(_GLIBCXX_DEBUG_VERIFY_COND_AT): New.
(__glibcxx_check_sorted): Use __glibcxx_check_irreflexive.
(__glibcxx_check_sorted_pred): Use __glibcxx_check_irreflexive_pred.
* testsuite/25_algorithms/binary_search/constexpr.cc: Use irreflexive
std::less.
* testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
* testsuite/25_algorithms/merge/constexpr.cc: Fix order in camm. Fix
lambda to be irreflexive.

From-SVN: r276260
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/include/debug/functions.h
libstdc++-v3/include/debug/helper_functions.h
libstdc++-v3/include/debug/macros.h
libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_sorted/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc