Home
last modified time | relevance | path

Searched refs:concept (Results 1 – 25 of 390) sorted by relevance

12345678910>>...16

/llvm-project-15.0.7/libcxx/include/
H A Dconcepts17 // [concept.same], concept same_as
21 // [concept.derived], concept derived_from
25 // [concept.convertible], concept convertible_to
29 // [concept.commonref], concept common_reference_with
33 // [concept.common], concept common_with
47 // [concept.assignable], concept assignable_from
51 // [concept.swappable], concept swappable
62 // [concept.destructible], concept destructible
105 // [concept.invocable], concept invocable
113 // [concept.predicate], concept predicate
[all …]
H A Diterator47 // [iterator.concept.readable], concept indirectly_readable
55 // [iterator.concept.writable], concept indirectly_writable
59 // [iterator.concept.winc], concept weakly_incrementable
63 // [iterator.concept.inc], concept incrementable
67 // [iterator.concept.iterator], concept input_or_output_iterator
71 // [iterator.concept.sentinel], concept sentinel_for
75 // [iterator.concept.sizedsentinel], concept sized_sentinel_for
82 // [iterator.concept.input], concept input_iterator
86 // [iterator.concept.output], concept output_iterator
90 // [iterator.concept.forward], concept forward_iterator
[all …]
/llvm-project-15.0.7/clang/test/Parser/
H A Dcxx2a-concept-declaration.cpp8 template<concept T> concept D1 = true;
12 template<template<typename> concept T> concept D2 = true;
34 template<typename T> concept C4 = true;
44 template<typename T> concept C5 = true;
52 template<typename T> concept bool C7 = true;
55 template<> concept C8 = false;
58 template<> concept C7<int> = false;
61 template<typename T> concept N::C9 = false;
67 template<typename T> concept A::C10 = false;
82 template<typename T> concept C17 = T{};
[all …]
H A Dcxx2a-constrained-template-param.cpp6 concept C1 = true;
15 concept C2 = true;
33 concept C1 = true;
47 concept C1 = true;
/llvm-project-15.0.7/clang/test/CXX/expr/expr.prim/expr.prim.id/
H A Dp3.cpp29 concept C4 = U::add(1, 2) == 3;
42 concept Same = is_same_v<T, U>;
59 concept IsEven = (x % 2) == 0;
83 concept True = true;
86 concept A = True<T> || T::value;
89 concept B = (True<T> || T::value);
98 concept E = T::value || True<T>;
101 concept F = (T::value || True<T>);
110 concept I = T::value;
159 concept Large = sizeof(T) > 100;
[all …]
/llvm-project-15.0.7/clang/test/SemaTemplate/
H A Dconcepts.cpp4 template<typename T> concept True = true;
6 template<typename ...T> concept AllTrue2 = (True<T> && ...);
11 template<typename ...T> concept AllAddable1 = requires(T ...t) { (void(t + 1), ...); };
13 template<typename ...T> concept AllAddable3 = (requires(T t) { (t + 1); } && ...);
16 template<typename ...T> concept AllAddable6 = (requires { (T() + 1); } && ...);
28 template<class> concept C = true; // expected-note 2{{here}}
63 template<typename T> concept C = true;
159 template <typename T> concept foo = true;
160 template <typename T> concept foo2 = foo<T> && true;
167 template<typename> concept C = false;
[all …]
H A Dpr52909.cpp5 template <class> concept C = true;
13 concept Beginable = requires (T t) {
25 template<class T> concept True = B<T>;
40 template<class> concept True = true;
42 template<class T> concept C = requires {
57 template<class> concept True = true;
59 template<class T> concept C = requires {
H A Dsubst-into-subst.cpp11 template<class T> concept A = true;
12 template<class T> concept B = sizeof(T) != 0;
13 template<class T> concept C = B<X<1, T>>;
19 template<class T> concept D = A<T> && B<X<1, T>>;
27 template<class T> concept E = A<T> && B<X<(int)'\1', T>>;
/llvm-project-15.0.7/clang/test/CXX/temp/temp.constr/temp.constr.normal/
H A Dp1.cpp3 template<typename T> concept True = true;
4 template<typename T> concept Foo = True<T*>;
5 template<typename T> concept Bar = Foo<T&>;
9 template<typename T> concept True2 = sizeof(T) >= 0;
10 template<typename T> concept Foo2 = True2<T*>;
12 template<typename T> concept Bar2 = Foo2<T&>;
22 concept C1 = ((sizeof(Args) >= 0) && ...);
25 concept C2 = C1<A, B...>;
44 concept C2 = C1<A, B...>;
57 concept C1 = ((Args >= 0) && ...);
[all …]
/llvm-project-15.0.7/libcxx/include/__iterator/
H A Dconcepts.h53 concept indirectly_writable =
69 concept weakly_incrementable =
82 concept incrementable =
99 concept sentinel_for =
108 concept sized_sentinel_for =
118 concept input_iterator =
126 concept output_iterator =
135 concept forward_iterator =
167 concept contiguous_iterator =
245 concept indirectly_movable =
[all …]
/llvm-project-15.0.7/libcxx/include/__ranges/
H A Dconcepts.h42 concept range = requires(_Tp& __t) { in requires()
48 concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp>>;
51 concept borrowed_range = range<_Range> &&
73 concept sized_range = range<_Tp> && requires(_Tp& __t) { ranges::size(__t); }; in requires()
86 concept view =
92 concept __simple_view =
99 concept output_range = range<_Rp> && output_iterator<iterator_t<_Rp>, _Tp>;
102 concept forward_range = input_range<_Tp> && forward_iterator<iterator_t<_Tp>>;
108 concept random_access_range =
112 concept contiguous_range =
[all …]
/llvm-project-15.0.7/clang/test/Index/
H A Dindex-concepts.cpp31 concept Con1 = type_trait<T>::value;
41 concept ConWithLogicalAnd = Con1<T> && sizeof(T) > sizeFunc();
58 concept ConInNamespace = sizeof(T) > 4;
63 concept ConTwoTemplateParams = ns::ConInNamespace<T1> && ConWithLogicalAnd<T2>;
126 concept ConWithRequires = requires(const T& x, ConcreteType value) {
147 concept ConWithCompRequires = requires {
168 concept ConWithTypeReq = requires {
178 concept ConWithNestedReq = requires {
/llvm-project-15.0.7/clang/test/Modules/
H A Dmerge-concepts-redefinition-error.cpp28 concept ConflictingConcept = true;
31 concept same_as = __is_same(T, U);
33 template<class T> concept truec = true;
46 concept ConflictingConcept = true; // expected-error {{redefinition of concept 'ConflictingConcept'…
52 template<class T> concept var = false; // expected-error {{redefinition of 'var' as different kind …
55 template<class T> concept truec = true; // expected-error {{redefinition of 'truec'}}
/llvm-project-15.0.7/clang/test/CodeCompletion/
H A Dconcepts.cpp1 template <typename T, typename U> concept convertible_to = true;
2 template <typename T, typename U> concept same_as = true;
3 template <typename T> concept integral = true;
6 concept W = requires(A a, B b) {
10 template <typename T> concept X = requires(T t) {
17 concept Y = requires(T t, U u) { t.yyy(u); };
20 concept Z = requires(T t) {
/llvm-project-15.0.7/clang/test/CXX/dcl/dcl.spec/dcl.type/dcl.spec.auto/
H A Dp6.cpp6 concept LargerThan = sizeof(T) > size;
12 concept Large = LargerThan<T, 1>;
17 concept SmallerThan = sizeof(T) < size;
19 concept Small = SmallerThan<T, 2>;
51 template <class T> concept True = true;
73 template <class T, class U> concept a = true;
76 template<class> concept d = true;
81 template <typename...> concept C = true;
/llvm-project-15.0.7/libcxx/include/__concepts/
H A Darithmetic.h28 concept integral = is_integral_v<_Tp>;
31 concept signed_integral = integral<_Tp> && is_signed_v<_Tp>;
34 concept unsigned_integral = integral<_Tp> && !signed_integral<_Tp>;
37 concept floating_point = is_floating_point_v<_Tp>;
42 concept __libcpp_unsigned_integer = __libcpp_is_unsigned_integer<_Tp>::value;
44 concept __libcpp_signed_integer = __libcpp_is_signed_integer<_Tp>::value;
H A Dconstructible.h27 concept constructible_from =
33 concept __default_initializable = requires { ::new _Tp; };
36 concept default_initializable = constructible_from<_Tp> &&
41 concept move_constructible =
46 concept copy_constructible =
/llvm-project-15.0.7/libcxx/include/__memory/
H A Dconcepts.h37 concept __nothrow_input_iterator =
43 concept __nothrow_sentinel_for = sentinel_for<_Sp, _Ip>;
46 concept __nothrow_input_range =
52 concept __nothrow_forward_iterator =
58 concept __nothrow_forward_range =
/llvm-project-15.0.7/clang/test/CXX/temp/temp.constr/temp.constr.order/
H A Dfunction-templates.cpp14 concept C1 = sizeof(T) >= 4;
26 concept C2 = sizeof(T) > 1 && sizeof(T) <= 8;
56 concept BiggerThan = sizeof(T) > sizeof(U);
59 concept BiggerThanInt = BiggerThan<T, int>;
74 concept C3 = true;
77 concept C4 = true && C3<T>;
/llvm-project-15.0.7/clang/test/Lexer/
H A Dcxx2a_keyword_as_cxx17.cpp3 #define concept constexpr bool macro
5 concept x = 0;
6 #undef concept
12 int concept = 0; // expected-warning {{'concept' is a keyword in C++20}}
/llvm-project-15.0.7/clang/test/CXX/temp/temp.param/
H A Dp10-2a.cpp4 concept C1 = sizeof(T) == 1;
15 concept C2 = sizeof(T) == 2;
29 concept C3 = (sizeof(T) + ...) == 12;
60 concept C4 = sizeof(T) == 4;
80 concept Same = is_same_v<T, U>; // expected-note {{because 'is_same_v<long, int>' evaluated to fals…
89 concept OneOf = (is_same_v<T, Ts> || ...);
/llvm-project-15.0.7/clang/test/CXX/expr/expr.prim/expr.prim.req/
H A Dcompound-requirement.cpp86 concept Same = is_same_v<T, U>;
89 concept Large = sizeof(typename remove_reference<T>::type) >= 4;
125 concept IsEven = (T % 2) == 0;
143 template<typename T> concept C1 =
151 template<typename T, typename U> concept same_as = is_same_v<T, U>;
160 template<typename T> concept C2 =
183 template<typename T> concept C5 =
/llvm-project-15.0.7/libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/
H A Dsfinae.compile.pass.cpp60 template<class T> concept HasEqual = requires (T t) { t == t; };
61 template<class T> concept HasNotEqual = requires (T t) { t != t; };
62 template<class T> concept HasLess = requires (T t) { t < t; };
63 template<class T> concept HasLessOrEqual = requires (T t) { t <= t; };
64 template<class T> concept HasGreater = requires (T t) { t > t; };
65 template<class T> concept HasGreaterOrEqual = requires (T t) { t >= t; };
66 template<class T> concept HasSpaceship = requires (T t) { t <=> t; };
/llvm-project-15.0.7/clang/test/CXX/temp/temp.constr/temp.constr.decl/
H A Dp3.cpp9 concept Invalid = X<T>{};
12 concept False = false; // expected-note{{because 'false' evaluated to false}}
15 concept True = true;
/llvm-project-15.0.7/libcxx/test/std/ranges/range.adaptors/range.zip/
H A Dbegin.pass.cpp25 concept HasConstBegin = requires(const T& ct) { ct.begin(); };
28 concept HasBegin = requires(T& t) { t.begin(); };
31 concept HasConstAndNonConstBegin =
36 concept HasOnlyNonConstBegin = HasBegin<T> && !
40 concept HasOnlyConstBegin = HasConstBegin<T> && !

12345678910>>...16