Home | History | Annotate | Download | only in Inputs
      1 template<typename T> struct SomeTemplate {};
      2 
      3 struct DefinedInCommon {
      4   void f();
      5   struct Inner {};
      6   friend void FoundByADL(DefinedInCommon);
      7 };
      8 
      9 template<typename T> struct CommonTemplate {
     10   enum E { a = 1, b = 2, c = 3 };
     11 };
     12 
     13 namespace Std {
     14   template<typename T> struct WithFriend {
     15     friend bool operator!=(const WithFriend &A, const WithFriend &B) { return false; }
     16   };
     17 }
     18 
     19 namespace Std {
     20   template<typename T> void f() {
     21     extern T g();
     22   }
     23 }
     24 
     25 template<typename T> struct TemplateInstantiationVisibility { typedef int type; };
     26 
     27 template<typename T> struct Outer {
     28   template<typename U> struct Inner {
     29     void f();
     30     void g();
     31   };
     32 };
     33 
     34 template<typename T> struct WithPartialSpecialization {};
     35 typedef WithPartialSpecialization<int*> WithPartialSpecializationUse;
     36 
     37 template<typename T> struct WithExplicitSpecialization;
     38 typedef WithExplicitSpecialization<int> WithExplicitSpecializationUse;
     39