| /llvm-project-15.0.7/libcxx/test/std/concepts/concepts.lang/concept.same/ |
| H A D | same_as.pass.cpp | 156 requires std::same_as<T, U> void SubsumptionTest(); 169 std::same_as< 174 std::same_as<int, 200 static_assert(std::same_as<void, void>); in main() 203 static_assert(std::same_as<void, Void>); in main() 205 static_assert(std::same_as<int[1], int[1]>); in main() 206 static_assert(std::same_as<int[2], int[2]>); in main() 258 static_assert(!std::same_as<S1, C1>); in main() 263 static_assert(!std::same_as<int&, const int&>); in main() 279 static_assert(!std::same_as<void, int>); in main() [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/iterator.primitives/iterator.traits/ |
| H A D | cxx20_iterator_traits.compile.pass.cpp | 59 static_assert(std::same_as<typename Traits::value_type, ValueType>); in test() 60 static_assert(std::same_as<typename Traits::difference_type, DiffType>); in test() 61 static_assert(std::same_as<typename Traits::reference, RefType>); in test() 62 static_assert(std::same_as<typename Traits::pointer, PtrType>); in test() 197 static_assert(std::same_as<NoPointerMemberTraits::pointer, void>); 236 static_assert(std::same_as<LegacyInputTraits::pointer, void>); 282 static_assert(std::same_as<LegacyForwardTraits::pointer, void>); 388 static_assert(std::same_as<LegacyRandomAccessTraits::pointer, void>); 437 static_assert(std::same_as<BareLegacyOutputTraits::pointer, void>); 495 requires std::same_as<I, LegacyRandomAccessSpecialized> [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/predef.iterators/iterators.common/ |
| H A D | iterator_traits.compile.pass.cpp | 41 static_assert(std::same_as<IterTraits::value_type, int>); in test() 43 static_assert(std::same_as<IterTraits::pointer, int*>); in test() 44 static_assert(std::same_as<IterTraits::reference, int&>); in test() 53 static_assert(std::same_as<IterTraits::value_type, int>); in test() 56 static_assert(!std::same_as<IterTraits::pointer, int*>); in test() 57 static_assert(std::same_as<IterTraits::reference, int>); in test() 69 static_assert(std::same_as<IterTraits::pointer, void>); in test() 81 static_assert(std::same_as<IterTraits::pointer, void>); in test() 93 static_assert(std::same_as<IterTraits::pointer, int*>); in test() 105 static_assert(std::same_as<IterTraits::pointer, int*>); in test() [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ |
| H A D | member_typedefs.compile.pass.cpp | 70 static_assert(std::same_as<Iter::value_type, char>); in test() 73 LIBCPP_STATIC_ASSERT(std::same_as<Iter::difference_type, int>); in test() 80 static_assert(std::same_as<Iter::value_type, short>); in test() 90 static_assert(std::same_as<Iter::value_type, int>); in test() 105 static_assert(std::same_as<Iter::value_type, long>); in test() 116 static_assert(std::same_as<Iter::value_type, long long>); in test() 129 static_assert(std::same_as<Iter::difference_type, int>); in test() 137 static_assert(std::same_as<Iter::difference_type, int>); in test() 145 static_assert(std::same_as<Iter::difference_type, int>); in test() 152 static_assert(std::same_as<Iter::value_type, BigType>); in test() [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.adaptors/range.transform/iterator/ |
| H A D | types.pass.cpp | 35 static_assert(std::same_as<typename TIter::value_type, int>); in test() 36 static_assert(std::same_as<typename TIter::difference_type, std::ptrdiff_t>); in test() 44 static_assert(std::same_as<typename TIter::value_type, int>); in test() 45 static_assert(std::same_as<typename TIter::difference_type, std::ptrdiff_t>); in test() 53 static_assert(std::same_as<typename TIter::value_type, int>); in test() 54 static_assert(std::same_as<typename TIter::difference_type, std::ptrdiff_t>); in test() 62 static_assert(std::same_as<typename TIter::value_type, int>); in test() 63 static_assert(std::same_as<typename TIter::difference_type, std::ptrdiff_t>); in test() 71 static_assert(std::same_as<typename TIter::value_type, int>); in test() 72 static_assert(std::same_as<typename TIter::difference_type, std::ptrdiff_t>); in test() [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/predef.iterators/counted.iterator/ |
| H A D | iterator_traits.compile.pass.cpp | 30 static_assert(std::same_as<IterTraits::value_type, int>); in test() 32 static_assert(std::same_as<IterTraits::pointer, void>); in test() 33 static_assert(std::same_as<IterTraits::reference, int&>); in test() 41 static_assert(std::same_as<IterTraits::value_type, int>); in test() 43 static_assert(std::same_as<IterTraits::pointer, void>); in test() 44 static_assert(std::same_as<IterTraits::reference, int&>); in test() 52 static_assert(std::same_as<IterTraits::value_type, int>); in test() 54 static_assert(std::same_as<IterTraits::pointer, void>); in test() 55 static_assert(std::same_as<IterTraits::reference, int&>); in test() 63 static_assert(std::same_as<IterTraits::value_type, int>); in test() [all …]
|
| H A D | member_types.compile.pass.cpp | 39 static_assert(std::same_as<Iter::iterator_type, InputOrOutputArchetype>); in test() 41 static_assert(std::same_as<Iter::difference_type, int>); in test() 47 static_assert(std::same_as<Iter::iterator_type, cpp20_input_iterator<int*>>); in test() 48 static_assert(std::same_as<Iter::value_type, int>); in test() 49 static_assert(std::same_as<Iter::difference_type, std::ptrdiff_t>); in test() 50 static_assert(std::same_as<Iter::iterator_concept, std::input_iterator_tag>); in test() 55 static_assert(std::same_as<Iter::iterator_type, random_access_iterator<int*>>); in test() 56 static_assert(std::same_as<Iter::value_type, int>); in test() 57 static_assert(std::same_as<Iter::difference_type, std::ptrdiff_t>); in test() 59 static_assert(std::same_as<Iter::iterator_category, std::random_access_iterator_tag>); in test()
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/ |
| H A D | projected.compile.pass.cpp | 21 static_assert(std::same_as<IntPtr::value_type, int>); 22 static_assert(std::same_as<decltype(*std::declval<IntPtr>()), int const&>); 23 static_assert(std::same_as<std::iter_difference_t<IntPtr>, std::ptrdiff_t>); 28 static_assert(std::same_as<Cpp17InputIterator::value_type, int>); 29 static_assert(std::same_as<decltype(*std::declval<Cpp17InputIterator>()), int&>); 33 static_assert(std::same_as<Cpp20InputIterator::value_type, int>); 38 static_assert(std::same_as<ForwardIterator::value_type, int>); 39 static_assert(std::same_as<decltype(*std::declval<ForwardIterator>()), int>); 43 static_assert(std::same_as<BidirectionalIterator::value_type, S*>); 48 static_assert(std::same_as<RandomAccessIterator::value_type, S>); [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/ |
| H A D | iter_difference_t.compile.pass.cpp | 26 constexpr bool result = std::same_as<std::iter_difference_t<T>, Expected>; in check_iter_difference_t() 27 static_assert(std::same_as<std::iter_difference_t<T const>, Expected> == result); in check_iter_difference_t() 28 static_assert(std::same_as<std::iter_difference_t<T volatile>, Expected> == result); in check_iter_difference_t() 29 static_assert(std::same_as<std::iter_difference_t<T const volatile>, Expected> == result); in check_iter_difference_t() 30 static_assert(std::same_as<std::iter_difference_t<T const&>, Expected> == result); in check_iter_difference_t() 31 static_assert(std::same_as<std::iter_difference_t<T volatile&>, Expected> == result); in check_iter_difference_t() 32 static_assert(std::same_as<std::iter_difference_t<T const volatile&>, Expected> == result); in check_iter_difference_t() 33 static_assert(std::same_as<std::iter_difference_t<T const&&>, Expected> == result); in check_iter_difference_t() 34 static_assert(std::same_as<std::iter_difference_t<T volatile&&>, Expected> == result); in check_iter_difference_t() 35 static_assert(std::same_as<std::iter_difference_t<T const volatile&&>, Expected> == result); in check_iter_difference_t()
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/ |
| H A D | iter_value_t.pass.cpp | 22 constexpr bool result = std::same_as<std::iter_value_t<T>, Expected>; in check_iter_value_t() 23 static_assert(std::same_as<std::iter_value_t<T const>, Expected> == result); in check_iter_value_t() 24 static_assert(std::same_as<std::iter_value_t<T volatile>, Expected> == result); in check_iter_value_t() 25 static_assert(std::same_as<std::iter_value_t<T const volatile>, Expected> == result); in check_iter_value_t() 26 static_assert(std::same_as<std::iter_value_t<T const&>, Expected> == result); in check_iter_value_t() 27 static_assert(std::same_as<std::iter_value_t<T volatile&>, Expected> == result); in check_iter_value_t() 28 static_assert(std::same_as<std::iter_value_t<T const volatile&>, Expected> == result); in check_iter_value_t() 29 static_assert(std::same_as<std::iter_value_t<T const&&>, Expected> == result); in check_iter_value_t() 30 static_assert(std::same_as<std::iter_value_t<T volatile&&>, Expected> == result); in check_iter_value_t() 31 static_assert(std::same_as<std::iter_value_t<T const volatile&&>, Expected> == result); in check_iter_value_t()
|
| /llvm-project-15.0.7/libcxx/test/std/utilities/format/format.fmt.string/ |
| H A D | types.compile.pass.cpp | 30 static_assert(std::same_as<std::format_string<>, std::basic_format_string<char>>); 31 static_assert(std::same_as<std::format_string<int>, std::basic_format_string<char, int>>); 32 static_assert(std::same_as<std::format_string<int, float>, std::basic_format_string<char, int, floa… 33 static_assert(std::same_as<std::format_string<int, float, void*>, std::basic_format_string<char, in… 35 static_assert(std::same_as<std::wformat_string<>, std::basic_format_string<wchar_t>>); 36 static_assert(std::same_as<std::wformat_string<int>, std::basic_format_string<wchar_t, int>>); 37 static_assert(std::same_as<std::wformat_string<int, float>, std::basic_format_string<wchar_t, int, … 39 …std::same_as<std::wformat_string<int, float, void*>, std::basic_format_string<wchar_t, int, float,…
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/ |
| H A D | begin_end.pass.cpp | 33 static_assert(std::same_as<std::ranges::iterator_t<Base>, int*>); 34 static_assert(std::same_as<std::ranges::sentinel_t<Base>, sentinel_wrapper<int*>>); 35 static_assert(std::same_as<std::ranges::iterator_t<const Base>, char*>); 36 static_assert(std::same_as<std::ranges::sentinel_t<const Base>, sentinel_wrapper<char*>>); 63 std::same_as<int*> decltype(auto) b1 = static_cast<OwningView&>(ov).begin(); in test() 64 std::same_as<int*> decltype(auto) b2 = static_cast<OwningView&&>(ov).begin(); in test() 65 std::same_as<char*> decltype(auto) b3 = static_cast<const OwningView&>(ov).begin(); in test() 66 std::same_as<char*> decltype(auto) b4 = static_cast<const OwningView&&>(ov).begin(); in test() 68 std::same_as<sentinel_wrapper<int*>> decltype(auto) e1 = static_cast<OwningView&>(ov).end(); in test() 69 std::same_as<sentinel_wrapper<int*>> decltype(auto) e2 = static_cast<OwningView&&>(ov).end(); in test() [all …]
|
| /llvm-project-15.0.7/libcxx/include/__format/ |
| H A D | format_arg_store.h | 40 template <class, same_as<bool> _Tp> 46 template <class _Context, same_as<typename _Context::char_type> _Tp> 52 requires(same_as<typename _Context::char_type, wchar_t> && same_as<_CharT, char>) in requires() 89 template <class, same_as<float> _Tp> 93 template <class, same_as<double> _Tp> 97 template <class, same_as<long double> _Tp> 104 …requires(same_as<typename _Context::char_type*, _Tp> || same_as<const typename _Context::char_type… 111 requires(is_array_v<_Tp> && same_as<_Tp, typename _Context::char_type[extent_v<_Tp>]>) in requires() 118 requires(same_as<typename _Context::char_type, typename _Tp::value_type> && in requires() 127 same_as<typename _Context::char_type, typename _Tp::value_type> && in requires() [all …]
|
| /llvm-project-15.0.7/clang/test/Modules/ |
| H A D | merge-concepts.cppm | 58 export using ::same_as; 64 export using ::same_as; 72 requires same_as<T, int> 81 requires same_as<T, int> 90 requires same_as<T, int> 100 requires same_as<T, int> 112 requires same_as<T, int> 120 export using ::same_as; 151 requires same_as<T, int> 160 requires same_as<T, int> [all …]
|
| H A D | merge-concepts-cxx-modules.cpp | 12 export module same_as; 14 concept same_as = __is_same(T, U); 18 export import same_as; 27 export import same_as; 30 requires same_as<T, int> in foo() 43 requires same_as<T, T> in foo()
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.req/range.range/ |
| H A D | sentinel_t.compile.pass.cpp | 24 static_assert(std::same_as<std::ranges::sentinel_t<test_range<cpp20_input_iterator> >, sentinel>); 25 static_assert(std::same_as<std::ranges::sentinel_t<test_range<cpp20_input_iterator> const>, sentine… 26 static_assert(std::same_as<std::ranges::sentinel_t<test_non_const_range<cpp20_input_iterator> >, se… 27 static_assert(std::same_as<std::ranges::sentinel_t<test_common_range<forward_iterator> >, forward_i… 28 static_assert(std::same_as<std::ranges::sentinel_t<test_common_range<forward_iterator> const>, forw… 29 static_assert(std::same_as<std::ranges::sentinel_t<test_non_const_common_range<forward_iterator> >,…
|
| H A D | iterator_t.compile.pass.cpp | 23 static_assert(std::same_as<std::ranges::iterator_t<test_range<cpp17_input_iterator> >, cpp17_input_… 24 static_assert(std::same_as<std::ranges::iterator_t<test_range<cpp17_input_iterator> const>, cpp17_i… 26 static_assert(std::same_as<std::ranges::iterator_t<test_non_const_range<cpp17_input_iterator> >, cp… 28 static_assert(std::same_as<std::ranges::iterator_t<test_common_range<cpp17_input_iterator> >, cpp17… 29 static_assert(std::same_as<std::ranges::iterator_t<test_common_range<cpp17_input_iterator> const>, … 31 static_assert(std::same_as<std::ranges::iterator_t<test_non_const_common_range<cpp17_input_iterator…
|
| H A D | range_size_t.compile.pass.cpp | 25 static_assert(std::same_as<std::ranges::range_size_t<A>, short>); 26 static_assert(std::same_as<std::ranges::range_size_t<A&>, short>); 27 static_assert(std::same_as<std::ranges::range_size_t<A&&>, short>); 33 static_assert(std::same_as<std::ranges::range_size_t<B>, std::size_t>); 34 static_assert(std::same_as<std::ranges::range_size_t<B&>, std::size_t>); 35 static_assert(std::same_as<std::ranges::range_size_t<B&&>, std::size_t>);
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.adaptors/range.join.view/ |
| H A D | ctad.compile.pass.cpp | 50 static_assert(std::same_as< in testCTAD() 54 static_assert(std::same_as< in testCTAD() 58 static_assert(std::same_as< in testCTAD() 62 static_assert(std::same_as< in testCTAD() 66 static_assert(std::same_as< in testCTAD() 70 static_assert(std::same_as< in testCTAD() 79 static_assert(std::same_as< decltype(std::ranges::join_view(jv)), decltype(jv) >); in testCTAD() 82 static_assert(std::same_as< decltype(std::ranges::join_view(std::move(jv))), decltype(jv) >); in testCTAD()
|
| /llvm-project-15.0.7/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/ |
| H A D | indirect_result_t.compile.pass.cpp | 16 static_assert(std::same_as<std::indirect_result_t<int (*)(int), int*>, int>); 17 static_assert(std::same_as<std::indirect_result_t<double (*)(int const&, float), int const*, float*… 20 static_assert(std::same_as<std::indirect_result_t<S (&)(int), int*>, S>); 21 static_assert(std::same_as<std::indirect_result_t<long S::*, S*>, long&>); 22 static_assert(std::same_as<std::indirect_result_t<S && (S::*)(), S*>, S&&>); 23 static_assert(std::same_as<std::indirect_result_t<int S::* (S::*)(int) const, S*, int*>, int S::*>);
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.utility/range.dangling/ |
| H A D | borrowed_iterator.compile.pass.cpp | 22 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::string>, std::ranges::dangling>); 23 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::string&&>, std::ranges::dangling>); 24 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::vector<int> >, std::ranges::dangli… 26 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::string&>, std::string::iterator>); 27 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::string_view>, std::string_view::it… 28 static_assert(std::same_as<std::ranges::borrowed_iterator_t<std::span<int> >, std::span<int>::itera…
|
| H A D | borrowed_subrange.compile.pass.cpp | 22 static_assert(std::same_as<std::ranges::borrowed_subrange_t<std::string>, std::ranges::dangling>); 23 static_assert(std::same_as<std::ranges::borrowed_subrange_t<std::string&&>, std::ranges::dangling>); 24 static_assert(std::same_as<std::ranges::borrowed_subrange_t<std::vector<int> >, std::ranges::dangli… 27 …std::same_as<std::ranges::borrowed_subrange_t<std::string&>, std::ranges::subrange<std::string::it… 30 …std::same_as<std::ranges::borrowed_subrange_t<std::span<int> >, std::ranges::subrange<std::span<in… 32 static_assert(std::same_as<std::ranges::borrowed_subrange_t<std::string_view>,
|
| /llvm-project-15.0.7/libcxx/include/__iterator/ |
| H A D | concepts.h | 38 { *__i } -> same_as<iter_reference_t<_In>>; in requires() 86 { __i++ } -> same_as<_Ip>; in requires() 112 { __s - __i } -> same_as<iter_difference_t<_Ip>>; 113 { __i - __s } -> same_as<iter_difference_t<_Ip>>; 147 { --__i } -> same_as<_Ip&>; in requires() 148 { __i-- } -> same_as<_Ip>; in requires() 158 { __i += __n } -> same_as<_Ip&>; in requires() 159 { __j + __n } -> same_as<_Ip>; in requires() 160 { __n + __j } -> same_as<_Ip>; in requires() 161 { __i -= __n } -> same_as<_Ip&>; in requires() [all …]
|
| /llvm-project-15.0.7/libcxx/test/std/ranges/range.adaptors/range.reverse/ |
| H A D | base.pass.cpp | 31 std::same_as<BidirRange> auto base = rev.base(); in test() 35 std::same_as<BidirRange> auto moved = std::move(rev).base(); in test() 43 std::same_as<BidirRange> auto base = rev.base(); in test() 47 std::same_as<BidirRange> auto moved = std::move(rev).base(); in test() 57 std::same_as<BidirSentRange<MoveOnly>> auto base = std::move(rev).base(); in test() 65 std::same_as<BidirSentRange<Copyable>> auto base = rev.base(); in test() 69 std::same_as<BidirSentRange<Copyable>> auto moved = std::move(rev).base(); in test()
|
| H A D | adaptor.pass.cpp | 36 std::same_as<BidirRange> auto result = std::views::reverse(reversed); in test() 43 std::same_as<BidirRange> auto result = std::views::reverse(std::views::reverse(view)); in test() 61 std::same_as<Subrange> auto result = std::views::reverse(subrange); in test() 69 std::same_as<Subrange> auto result = std::views::reverse(std::move(subrange)); in test() 77 std::same_as<Subrange> auto result = std::views::reverse(subrange); in test() 95 std::same_as<Subrange> auto result = std::views::reverse(subrange); in test() 103 std::same_as<Subrange> auto result = std::views::reverse(std::move(subrange)); in test() 111 std::same_as<Subrange> auto result = std::views::reverse(subrange); in test() 120 std::same_as<std::ranges::reverse_view<BidirRange>> auto result = std::views::reverse(view); in test() 141 std::same_as<Result> auto result = partial(view); in test() [all …]
|