1 template<typename T
> class Vector
;
3 template<typename T
> class List
{
12 extern List
<double> *instantiateListDoubleDeclaration
;
13 extern List
<long> *instantiateListLongDeclaration
;
17 template <typename T
> friend class WhereAmI
;
21 template <typename T
> class A::WhereAmI
{
26 template<typename T
> struct Outer
{
30 template<bool, bool> struct ExplicitInstantiation
{
34 template<typename
> struct DelayUpdates
{};
36 template<typename T
> struct OutOfLineInline
{
41 template<typename T
> inline void OutOfLineInline
<T
>::f() {}
42 template<typename T
> inline void OutOfLineInline
<T
>::g() {}
43 template<typename T
> inline void OutOfLineInline
<T
>::h() {}
45 namespace EmitDefaultedSpecialMembers
{
46 template<typename T
> struct SmallVectorImpl
{
48 ~SmallVectorImpl() {} // non-trivial dtor
50 template<typename T
, unsigned N
> struct SmallVector
: SmallVectorImpl
<T
> {
53 template<unsigned N
> struct SmallString
: SmallVector
<char, N
> {
58 template<typename T
> struct WithUndefinedStaticDataMember
{
62 template<typename T
> struct __attribute__((packed
, aligned(2))) WithAttributes
{
65 WithAttributes
<int> *get_with_attributes();