本文整理汇总了C++中ranges::less方法的典型用法代码示例。如果您正苦于以下问题:C++ ranges::less方法的具体用法?C++ ranges::less怎么用?C++ ranges::less使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ranges
的用法示例。
在下文中一共展示了ranges::less方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
using ranges::begin;
using ranges::end;
using ranges::size;
using ranges::less;
using P = std::pair<int, int>;
P a[] = {{0, 0}, {0, 1}, {1, 2}, {1, 3}, {3, 4}, {3, 5}};
P const c[] = {{0, 0}, {0, 1}, {1, 2}, {1, 3}, {3, 4}, {3, 5}};
CHECK(ranges::aux::upper_bound_n(begin(a), size(a), a[0]) == &a[1]);
CHECK(ranges::aux::upper_bound_n(begin(a), size(a), a[1], less()) == &a[2]);
CHECK(ranges::aux::upper_bound_n(begin(a), size(a), 1, less(), &std::pair<int, int>::first) == &a[4]);
CHECK(ranges::upper_bound(begin(a), end(a), a[0]) == &a[1]);
CHECK(ranges::upper_bound(begin(a), end(a), a[1], less()) == &a[2]);
CHECK(ranges::upper_bound(begin(a), end(a), 1, less(), &std::pair<int, int>::first) == &a[4]);
CHECK(ranges::upper_bound(a, a[2]) == &a[3]);
CHECK(ranges::upper_bound(c, c[3]) == &c[4]);
CHECK(ranges::upper_bound(a, a[4], less()) == &a[5]);
CHECK(ranges::upper_bound(c, c[5], less()) == &c[6]);
CHECK(ranges::upper_bound(a, 1, less(), &std::pair<int, int>::first) == &a[4]);
CHECK(ranges::upper_bound(c, 1, less(), &std::pair<int, int>::first) == &c[4]);
std::vector<P> vec_a(ranges::begin(a), ranges::end(a));
std::vector<P> const vec_c(ranges::begin(c), ranges::end(c));
CHECK(ranges::upper_bound(ranges::view::all(a), a[2]) == &a[3]);
CHECK(ranges::upper_bound(ranges::view::all(c), c[3]) == &c[4]);
#ifndef RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(a), a[2])));
CHECK(::is_dangling(ranges::upper_bound(std::move(c), c[3])));
#endif // RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_a), vec_a[2])));
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_c), vec_c[3])));
CHECK(ranges::upper_bound(ranges::view::all(a), a[4], less()) == &a[5]);
CHECK(ranges::upper_bound(ranges::view::all(c), c[5], less()) == &c[6]);
#ifndef RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(a), a[4], less())));
CHECK(::is_dangling(ranges::upper_bound(std::move(c), c[5], less())));
#endif // RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_a), vec_a[4], less())));
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_c), vec_c[5], less())));
CHECK(ranges::upper_bound(ranges::view::all(a), 1, less(), &std::pair<int, int>::first) == &a[4]);
CHECK(ranges::upper_bound(ranges::view::all(c), 1, less(), &std::pair<int, int>::first) == &c[4]);
#ifndef RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(a), 1, less(), &std::pair<int, int>::first)));
CHECK(::is_dangling(ranges::upper_bound(std::move(c), 1, less(), &std::pair<int, int>::first)));
#endif // RANGES_WORKAROUND_MSVC_573728
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_a), 1, less(), &std::pair<int, int>::first)));
CHECK(::is_dangling(ranges::upper_bound(std::move(vec_c), 1, less(), &std::pair<int, int>::first)));
return test_result();
}