1560170faSzoecarver //===----------------------------------------------------------------------===// 2560170faSzoecarver // 3560170faSzoecarver // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4560170faSzoecarver // See https://llvm.org/LICENSE.txt for license information. 5560170faSzoecarver // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6560170faSzoecarver // 7560170faSzoecarver //===----------------------------------------------------------------------===// 8560170faSzoecarver 9560170faSzoecarver // UNSUPPORTED: c++03, c++11, c++14, c++17 1071909de3SMark de Wever // UNSUPPORTED: libcpp-has-no-incomplete-ranges 11560170faSzoecarver 12560170faSzoecarver // constexpr drop_view(V base, range_difference_t<V> count); 13560170faSzoecarver 14560170faSzoecarver #include <ranges> 15560170faSzoecarver 16560170faSzoecarver #include "test_macros.h" 17560170faSzoecarver #include "types.h" 18560170faSzoecarver test()19560170faSzoecarverconstexpr bool test() { 20610ac8dbSArthur O'Dwyer std::ranges::drop_view dropView1(MoveOnlyView(), 4); 21560170faSzoecarver assert(dropView1.size() == 4); 22560170faSzoecarver assert(dropView1.begin() == globalBuff + 4); 23560170faSzoecarver 24560170faSzoecarver std::ranges::drop_view dropView2(ForwardView(), 4); 25*5f26d863SMark de Wever assert(base(dropView2.begin()) == globalBuff + 4); 26560170faSzoecarver 27560170faSzoecarver return true; 28560170faSzoecarver } 29560170faSzoecarver main(int,char **)30560170faSzoecarverint main(int, char**) { 31560170faSzoecarver test(); 32560170faSzoecarver static_assert(test()); 33560170faSzoecarver 34560170faSzoecarver return 0; 35560170faSzoecarver } 36