Lines Matching full:template
5 template<typename T> static constexpr T get() { return T(); }
13 template<typename T> constexpr int consume(T);
17 template<typename T> constexpr int consume(T) { return 0; }
25 template<typename T> constexpr T f(T n) { return n; }
36 template<typename T> constexpr T f(T n) { return n; }
46 template<typename T> constexpr T f(T t) { return t; }
48 template<int n> struct S { };
50 template<typename T> auto g(T t) -> S<f(sizeof(T))> &;
53 template<typename T> auto h(T t[f(sizeof(T))]) -> decltype(&*t) {
62 template<typename T> struct S { static const int k; };
64 template<typename T> const int S<T>::k = 0;
71 template<typename T> struct S {
74 template<typename T> volatile int &S<T>::r = const_cast<volatile int&>(k);
80 // We follow g++ in treating any reference to a constexpr function template
95 template<typename T> struct S {
104 template<typename T> struct S {
114 template<int x> constexpr int f() { return x; }
115 template<int i> void ovf(int (&x)[f<i>()]);
120 template<typename T>
124 template<typename T, bool Int = Integral<T>()>
128 template<typename T>
130 template <typename T>
134 template<typename R>
140 template<int> struct foo {};
141 template<class> constexpr int bar() { return 0; }
142 template<class T> foo<bar<T>()> foobar();
161 template <typename> constexpr bool foo() { return true; }
162 template <bool> struct bar {};
163 template <typename T> bar<foo<T>()> baz() { return bar<foo<T>()>(); }
168 template<bool, typename> struct enable_if {};
169 template<typename T> struct enable_if<true, T> { using type = T; };
171 template<typename T> struct F {
172 template<typename U>
175 template<typename U>
188 template <typename>
200 template<typename T> constexpr S(T) : n(T::error) {} // expected-error {{no members}}