1e5d8b93eSzoecarver //===----------------------------------------------------------------------===// 2e5d8b93eSzoecarver // 3e5d8b93eSzoecarver // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4e5d8b93eSzoecarver // See https://llvm.org/LICENSE.txt for license information. 5e5d8b93eSzoecarver // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6e5d8b93eSzoecarver // 7e5d8b93eSzoecarver //===----------------------------------------------------------------------===// 8e5d8b93eSzoecarver 9e5d8b93eSzoecarver // UNSUPPORTED: c++03, c++11, c++14, c++17 1071909de3SMark de Wever // UNSUPPORTED: libcpp-has-no-incomplete-ranges 11e5d8b93eSzoecarver 12e5d8b93eSzoecarver // common_view() requires default_initializable<V> = default; 13e5d8b93eSzoecarver 14e5d8b93eSzoecarver #include <ranges> 1503fb6f04SLouis Dionne 16e5d8b93eSzoecarver #include <cassert> 1703fb6f04SLouis Dionne #include <concepts> 18e5d8b93eSzoecarver 19e5d8b93eSzoecarver #include "test_iterators.h" 2003fb6f04SLouis Dionne #include "types.h" 21e5d8b93eSzoecarver main(int,char **)22e5d8b93eSzoecarverint main(int, char**) { 23*610ac8dbSArthur O'Dwyer static_assert(!std::default_initializable<std::ranges::common_view<MoveOnlyView>>); 24e5d8b93eSzoecarver static_assert( std::default_initializable<std::ranges::common_view<DefaultConstructibleView>>); 25e5d8b93eSzoecarver 2603fb6f04SLouis Dionne std::ranges::common_view<DefaultConstructibleView> common; 2703fb6f04SLouis Dionne assert(common.begin() == nullptr); 2803fb6f04SLouis Dionne assert(common.end() == nullptr); 29e5d8b93eSzoecarver 30e5d8b93eSzoecarver return 0; 31e5d8b93eSzoecarver } 32