Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/include/algorithm
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | template<input_iterator I, sentinel_for<I> S, class Proj = identity, | ||||
indirect_unary_predicate<projected<I, Proj>> Pred> | indirect_unary_predicate<projected<I, Proj>> Pred> | ||||
constexpr I find_if_not(I first, S last, Pred pred, Proj proj = {}); // since C++20 | constexpr I find_if_not(I first, S last, Pred pred, Proj proj = {}); // since C++20 | ||||
template<input_range R, class Proj = identity, | template<input_range R, class Proj = identity, | ||||
indirect_unary_predicate<projected<iterator_t<R>, Proj>> Pred> | indirect_unary_predicate<projected<iterator_t<R>, Proj>> Pred> | ||||
constexpr borrowed_iterator_t<R> | constexpr borrowed_iterator_t<R> | ||||
find_if_not(R&& r, Pred pred, Proj proj = {}); // since C++20 | find_if_not(R&& r, Pred pred, Proj proj = {}); // since C++20 | ||||
template<forward_iterator I, sentinel_for<I> S, class T, class Proj = identity> | |||||
Mordante: This indention is off. | |||||
var-constUnsubmitted Not Done ReplyInline ActionsNit: please fix indentation here. var-const: Nit: please fix indentation here. | |||||
requires indirect_binary_predicate<ranges::equal_to, projected<I, Proj>, const T*> | |||||
constexpr subrange<I> ranges::find_last(I first, S last, const T& value, Proj proj = {}); // since C++23 | |||||
Please align all these since entries. Mordante: Please align all these `since` entries. | |||||
var-constUnsubmitted Not Done ReplyInline ActionsNit: can these comments (// since C++23) be aligned? var-const: Nit: can these comments (`// since C++23`) be aligned? | |||||
template<forward_range R, class T, class Proj = identity> | |||||
requires indirect_binary_predicate<ranges::equal_to, projected<iterator_t<R>, Proj>, const T*> | |||||
constexpr borrowed_subrange_t<R> | |||||
ranges::find_last(R&& r, const T& value, Proj proj = {}); //since C++23 | |||||
template<forward_iterator I, sentinel_for<I> S, class Proj = identity, | |||||
indirect_unary_predicate<projected<I, Proj>> Pred> | |||||
constexpr subrange<I> | |||||
ranges::find_last_if(I first, S last, Pred pred, Proj proj = {}); // since C++23 | |||||
template<forward_range R, class Proj = identity, | |||||
indirect_unary_predicate<projected<iterator_t<R>, Proj>> Pred> | |||||
constexpr borrowed_subrange_t<R> | |||||
ranges::find_last_if(R&& r, Pred pred, Proj proj = {}); // since C++23 | |||||
template<forward_iterator I, sentinel_for<I> S, class Proj = identity, | |||||
indirect_unary_predicate<projected<I, Proj>> Pred> | |||||
constexpr subrange<I> | |||||
ranges::find_last_if_not(I first, S last, Pred pred, Proj proj = {}); // since C++23 | |||||
template<forward_range R, class Proj = identity, | |||||
indirect_unary_predicate<projected<iterator_t<R>, Proj>> Pred> | |||||
constexpr borrowed_subrange_t<R> | |||||
ranges::find_last_if_not(R&& r, Pred pred, Proj proj = {}); // since C++23 | |||||
template<class T, class Proj = identity, | template<class T, class Proj = identity, | ||||
indirect_strict_weak_order<projected<const T*, Proj>> Comp = ranges::less> | indirect_strict_weak_order<projected<const T*, Proj>> Comp = ranges::less> | ||||
constexpr const T& min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); // since C++20 | constexpr const T& min(const T& a, const T& b, Comp comp = {}, Proj proj = {}); // since C++20 | ||||
template<copyable T, class Proj = identity, | template<copyable T, class Proj = identity, | ||||
indirect_strict_weak_order<projected<const T*, Proj>> Comp = ranges::less> | indirect_strict_weak_order<projected<const T*, Proj>> Comp = ranges::less> | ||||
constexpr T min(initializer_list<T> r, Comp comp = {}, Proj proj = {}); // since C++20 | constexpr T min(initializer_list<T> r, Comp comp = {}, Proj proj = {}); // since C++20 | ||||
▲ Show 20 Lines • Show All 1,694 Lines • ▼ Show 20 Lines | |||||
#include <__algorithm/ranges_equal_range.h> | #include <__algorithm/ranges_equal_range.h> | ||||
#include <__algorithm/ranges_fill.h> | #include <__algorithm/ranges_fill.h> | ||||
#include <__algorithm/ranges_fill_n.h> | #include <__algorithm/ranges_fill_n.h> | ||||
#include <__algorithm/ranges_find.h> | #include <__algorithm/ranges_find.h> | ||||
#include <__algorithm/ranges_find_end.h> | #include <__algorithm/ranges_find_end.h> | ||||
#include <__algorithm/ranges_find_first_of.h> | #include <__algorithm/ranges_find_first_of.h> | ||||
#include <__algorithm/ranges_find_if.h> | #include <__algorithm/ranges_find_if.h> | ||||
#include <__algorithm/ranges_find_if_not.h> | #include <__algorithm/ranges_find_if_not.h> | ||||
#include <__algorithm/ranges_find_last.h> | |||||
#include <__algorithm/ranges_find_last_if.h> | |||||
#include <__algorithm/ranges_find_last_if_not.h> | |||||
#include <__algorithm/ranges_for_each.h> | #include <__algorithm/ranges_for_each.h> | ||||
#include <__algorithm/ranges_for_each_n.h> | #include <__algorithm/ranges_for_each_n.h> | ||||
#include <__algorithm/ranges_generate.h> | #include <__algorithm/ranges_generate.h> | ||||
#include <__algorithm/ranges_generate_n.h> | #include <__algorithm/ranges_generate_n.h> | ||||
#include <__algorithm/ranges_includes.h> | #include <__algorithm/ranges_includes.h> | ||||
#include <__algorithm/ranges_inplace_merge.h> | #include <__algorithm/ranges_inplace_merge.h> | ||||
#include <__algorithm/ranges_is_heap.h> | #include <__algorithm/ranges_is_heap.h> | ||||
#include <__algorithm/ranges_is_heap_until.h> | #include <__algorithm/ranges_is_heap_until.h> | ||||
▲ Show 20 Lines • Show All 114 Lines • Show Last 20 Lines |
This indention is off.