Lines Matching refs:algorithms

4 algorithms that were introduced in C++20. These implementations are added to the
12 algorithms in `base::ranges` have overloads for ranges of elements, which allow
30 applying algorithms to return values is easier:
55 iterator for ranges, the `base::ranges::` algorithms also support projections,
80 `base::ranges::` algorithms, for example `base::ranges::all_of` has the
92 To simplify the implementation of the `base::ranges::` algorithms, they dispatch
93 to the `std::` algorithms found in C++14. This leads to the following list of
99 Due to the lack of support for concepts in the language, the algorithms in
100 `base::ranges` do not have the constraints that are present on the algorithms in
102 algorithms. In the future this might be addressed by adding corresponding
107 primitives, algorithms taking a `[first, last)` pair rather than a complete
113 The `base::ranges` algorithms can only be used in a `constexpr` context when
114 they call underlying `std::` algorithms that are themselves `constexpr`. Before
119 `constexpr` versions of some of these algorithms ourselves.
121 ### Lack of post C++14 algorithms
122 Since most algorithms in `base::ranges` dispatch to their C++14 equivalent, some
123 `std::` algorithms that are not present in C++14 have no implementation in
124 `base::ranges`. This list of algorithms includes the following:
129 Some of the algorithms in `std::ranges::` have different return types than their
134 In the cases where the return type differs, `base::ranges::` algorithms will
138 The algorithms defined in `std::ranges` are not found by ADL, and inhibit ADL
140 the constraints specified by those algorithms and commonly implemented by using
142 constrained algorithms yet, we don't implement the blocking of ADL either.
144 [1]: https://wg21.link/algorithms.requirements#2