Example #1
0
File: main.cpp Project: CCJY/coliru
int main() {
  auto range = irange(4);
  auto pos = is_sorted_until(range.begin(), range.end(), std::greater<int>());
  assert(pos == range.end());
  auto pos2 = is_sorted_until(range.begin(), range.end(), std::less<int>());
  assert(pos2 == range.end());
}
Example #2
0
constexpr int const * is_sorted_until(int const * first, int const * last)
{
 return first == last || first + 1 == last ? last
  : (*(first + 1) < *first) != false ? first + 1
  : is_sorted_until(first + 1, last);
}
Example #3
0
int main()
{
 static constexpr int array[2] = {0, 1};
 constexpr int const * last = is_sorted_until(array, array + 2);
 SA(last==array+2);
}
Example #4
0
 bool operator()(I begin, S end, R rel = R{}, P proj_ = P{}) const
 {
     return is_sorted_until(std::move(begin), end, std::move(rel),
                            std::move(proj_)) == end;
 }
Example #5
0
 bool is_sorted(ForwardIt first, ForwardIt last)
 {
    return is_sorted_until(first, last) == last;
 }