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 10e5d8b93eSzoecarver 11e5d8b93eSzoecarver // common_view() requires default_initializable<V> = default; 12e5d8b93eSzoecarver 13e5d8b93eSzoecarver #include <ranges> 1403fb6f04SLouis Dionne 15e5d8b93eSzoecarver #include <cassert> 1603fb6f04SLouis Dionne #include <concepts> 17e5d8b93eSzoecarver 18e5d8b93eSzoecarver #include "test_iterators.h" 1903fb6f04SLouis Dionne #include "types.h" 20e5d8b93eSzoecarver main(int,char **)21e5d8b93eSzoecarverint main(int, char**) { 22*610ac8dbSArthur O'Dwyer static_assert(!std::default_initializable<std::ranges::common_view<MoveOnlyView>>); 23e5d8b93eSzoecarver static_assert( std::default_initializable<std::ranges::common_view<DefaultConstructibleView>>); 24e5d8b93eSzoecarver 2503fb6f04SLouis Dionne std::ranges::common_view<DefaultConstructibleView> common; 2603fb6f04SLouis Dionne assert(common.begin() == nullptr); 2703fb6f04SLouis Dionne assert(common.end() == nullptr); 28e5d8b93eSzoecarver 29e5d8b93eSzoecarver return 0; 30e5d8b93eSzoecarver } 31