cxx-templates-a.h revision b60fae50d38a0291e1c5731b2fb22849d26ca342
1@import cxx_templates_common; 2 3template<typename T> T f() { return T(); } 4template<typename T> T f(T); 5namespace N { 6 template<typename T> T f() { return T(); } 7 template<typename T> T f(T); 8} 9 10template<int N> int template_param_kinds_1(); 11template<template<typename T, int, int> class> int template_param_kinds_2(); 12template<template<typename T, typename U, T> class> int template_param_kinds_3(); 13 14template<typename T> struct SomeTemplate<T*>; 15template<typename T> struct SomeTemplate<T*> {}; 16typedef SomeTemplate<int*> SomeTemplateIntPtr; 17 18template<typename T> void PerformDelayedLookup(T &t) { 19 t.f(); 20 typename T::Inner inner; 21 FoundByADL(t); 22} 23 24template<typename T> void PerformDelayedLookupInDefaultArgument(T &t, int a = (FoundByADL(T()), 0)) {} 25 26template<typename T> struct RedeclaredAsFriend {}; 27 28void use_some_template_a() { 29 SomeTemplate<char[2]> a; 30 SomeTemplate<char[1]> b, c; 31 b = c; 32} 33