brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 1367e29 Raw
38 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++03, c++11, c++14, c++1710 11// template<range R>12// using range_difference_t = iter_difference_t<iterator_t<R>>;13 14// template<range R>15// using range_value_t = iter_value_t<iterator_t<R>>;16 17// template<range R>18// using range_reference_t = iter_reference_t<iterator_t<R>>;19 20// template<range R>21// using range_rvalue_reference_t = iter_rvalue_reference_t<iterator_t<R>>;22 23// template <range R>24// using range_common_reference_t = iter_common_reference_t<iterator_t<R>>;25 26#include <ranges>27 28#include <concepts>29 30#include "test_iterators.h"31#include "test_range.h"32 33static_assert(std::same_as<std::ranges::range_difference_t<test_range<cpp20_input_iterator> >, std::iter_difference_t<int*> >);34static_assert(std::same_as<std::ranges::range_value_t<test_range<cpp20_input_iterator> >, std::iter_value_t<int*> >);35static_assert(std::same_as<std::ranges::range_reference_t<test_range<cpp20_input_iterator> >, std::iter_reference_t<int*> >);36static_assert(std::same_as<std::ranges::range_rvalue_reference_t<test_range<cpp20_input_iterator> >, std::iter_rvalue_reference_t<int*> >);37static_assert(std::same_as<std::ranges::range_common_reference_t<test_range<cpp20_input_iterator> >, std::iter_common_reference_t<int*> >);38