Lines Matching refs:T
35 template < bool condition, typename T = void >
36 struct enable_if { typedef T type; };
38 template< typename T >
39 struct enable_if< false, T > {};
59 template <unsigned O, typename T>
60 void reinterpret_(typename enable_if<O <= sizeof(reinterpret_cast<T *>(0))>::type * = 0) { in reinterpret_()
63 template <typename T, T *p>
64 void const_(typename enable_if<0 <= sizeof(const_cast<T *>(p))>::type * = 0) { in const_()
67 template <typename T, T *p>
68 void dynamic_(typename enable_if<0 <= sizeof(dynamic_cast<T *>(p))>::type * = 0) { in dynamic_()
71 template< typename T >
72 void auto_(decltype(new auto(T()))) { in auto_() argument
75 template< typename T >
76 void scalar_(decltype(T(), int())) { in scalar_() argument
79 template <unsigned N> struct T {}; struct
81 template <int N> T<N> f() { return T<N>(); } in f()
102 template T<6> f<6>();
116 template <class T> auto a(T t) -> decltype(foo(T())) { return foo(t); } in a()
119 template <class T> auto b(T t) -> decltype((foo)(T())) { return (foo)(t); } in b()
128 template <class T> void a(T x, decltype(x()) y) {} in a()
129 template <class T> auto b(T x) -> decltype(x()) { return x(); } in b()
130 template <class T> void c(T x, void (*p)(decltype(x()))) {} in c()
131 template <class T> void d(T x, auto (*p)() -> decltype(x())) {}
132 template <class T> void e(auto (*p)(T y) -> decltype(y())) {}
133 template <class T> void f(void (*p)(T x, decltype(x()) y)) {} in f()
134 template <class T> void g(T x, decltype(x()) y) { in g()
138 template <class T> void h(T x, decltype((decltype(x())(*)()) 0) y) {}
139 template <class T> void i(decltype((auto (*)(T x) -> decltype(x())) 0) y) {}
172 template <class T, class U> void a(T x, U y, decltype(x.*y) z) {}
192 template <typename T>
193 void tf1(decltype(new T(1)) p)
196 template <typename T>
197 void tf2(decltype(new T({1})) p)
200 template <typename T>
201 void tf3(decltype(new T{1}) p) in tf3()
216 template <typename T> void a(decltype(noexcept(T()))) {} in a() argument
255 template<typename T>
256 void f1(decltype(T(z.ua.i))) {}
260 template<typename T>
261 void f2(decltype(T(z.ub.i))) {}
265 template<typename T>
266 void f3(decltype(T(z.s.i))) {}
270 template<typename T>
271 void f4(decltype(T(z.uuss.i))) {}
275 template<typename T>
276 void f5(decltype(T(zp->ua.i))) {}
280 template<typename T>
281 void f6(decltype(T(zp->ub.i))) {}
285 template<typename T>
286 void f7(decltype(T(zp->s.i))) {}
290 template<typename T>
291 void f8(decltype(T(zp->uuss.i))) {}
304 template<class T> decltype(A{1,2},T()) fA1(T t) {} in fA1()
305 template<class T> decltype(A({1,2}),T()) fA2(T t) {} in fA2()
306 template<class T> decltype(B{1,2},T()) fB1(T t) {} in fB1()
307 template<class T> decltype(B({1,2}),T()) fB2(T t) {} in fB2()
308 template<class T> decltype(C{{1,2}},T()) fC1(T t) {} in fC1()
309 template<class T> decltype(C({1,2}),T()) fC2(T t) {} in fC2()
310 template<class T> decltype(D{b},T()) fD1(T t) {} in fD1()
311 template<class T> decltype(D(b),T()) fD2(T t) {} in D()
312 template<class T> decltype(E{1,2},T()) fE1(T t) {} in fE1()
313 template<class T> decltype(E({1,2}),T()) fE2(T t) {} in fE2()
314 template<class T> decltype(F{{1,2}},T()) fF1(T t) {} in fF1()
315 template<class T> decltype(F({1,2}),T()) fF2(T t) {} in fF2()
317 template<class T> decltype(T{}) fT1(T t) {} in fT1()
318 template<class T> decltype(T()) fT2(T t) {} in T() function
319 template<class T> decltype(T{1}) fT3(T t) {} in fT3()
320 template<class T> decltype(T(1)) fT4(T t) {} in fT4()
321 template<class T> decltype(T{1,2}) fT5(T t) {} in fT5()
322 template<class T> decltype(T(1,2)) fT6(T t) {} in fT6()
323 template<class T> decltype(T{{}}) fT7(T t) {} in fT7()
324 template<class T> decltype(T({})) fT8(T t) {} in fT8()
325 template<class T> decltype(T{{1}}) fT9(T t) {} in fT9()
326 template<class T> decltype(T({1})) fTA(T t) {} in fTA()
327 template<class T> decltype(T{{1,2}}) fTB(T t) {} in fTB()
328 template<class T> decltype(T({1,2})) fTC(T t) {} in fTC()
362 template<typename T> T foo() const { return 0; } in foo()
363 template <class T> auto bar() const -> decltype(foo<T>()) { return 0; } in bar()
373 template<typename T> void f(decltype(T{.a.b[3][1 ... 4] = 9}) x) {} in f()