//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 // template // inline constexpr empty_view<_Tp> empty{}; #include #include #include "test_macros.h" template constexpr void testType() { ASSERT_SAME_TYPE(decltype(std::views::empty), const std::ranges::empty_view); ASSERT_SAME_TYPE(decltype((std::views::empty)), const std::ranges::empty_view&); auto v = std::views::empty; assert(std::ranges::empty(v)); } struct Empty {}; struct BigType { char buff[8]; }; constexpr bool test() { testType(); testType(); testType(); testType(); testType(); testType(); return true; } int main(int, char**) { test(); static_assert(test()); return 0; }