Home | History | Annotate | Download | only in dcl.type.simple

Lines Matching refs:decltype

8 template<class T> auto f(T) -> decltype(i(h<T>())); // #1
13 template<class T> auto q(T) -> decltype((h<T>()));
37 decltype(pd()) s; // ok
38 decltype(pd())::n n; // ok
39 decltype(dd()) *p = new decltype(dd()); // ok
43 // Two errors here: one for the decltype, one for the variable.
44 decltype(
47 decltype(dd(), // expected-error {{deleted function}}
49 decltype(a(),
51 decltype(
55 decltype(((13, ((dd())))))::n dd_parens; // ok
56 decltype(((((42)), pd())))::n pd_parens_comma; // ok
58 // Ensure parens aren't stripped from a decltype node.
59 extern decltype(pd()) pd_ref; // ok
60 decltype((pd_ref)) pd_ref3 = pd_ref; // ok, PD &
61 decltype(pd_ref) pd_ref2 = pd_ref; // expected-error {{private destructor}}
83 typedef decltype(swap(declval<T&>(), declval<T&>())) type;
101 decltype(make<0, false>()) *p1; // ok
102 decltype((make<1, false>())) *p2; // ok
105 decltype(123, make<2, false>()) *p3; // expected-note {{here}}
107 decltype(consume(make<3, false>())) *p4; // expected-note {{here}}
109 decltype(make<decltype(make<4, false>())>()) *p5; // ok
114 decltype(pd()) *pd_ptr;
115 decltype(*pd_ptr + *pd_ptr) *dd_ptr; // ok
117 decltype(0, *pd_ptr) pd_ref2 = pd_ref; // ok
119 decltype(0, *pd_ptr) *dd_ptr2; // expected-error {{private destructor}}