include-what-you-use/tests/cxx/explicit_instantiation2-tem...

49 lines
1.2 KiB
C++

//===--- explicit_instantiation2-template_helpers.h - test input ----------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef INCLUDE_WHAT_YOU_USE_TESTS_CXX_EXPLICIT_INSTANTIATION2_TEMPLATE_HELPERS_H_
#define INCLUDE_WHAT_YOU_USE_TESTS_CXX_EXPLICIT_INSTANTIATION2_TEMPLATE_HELPERS_H_
template <class T>
class Template;
template <class T>
class FullUseArg {
T t;
};
template <class T>
class FwdDeclUseArg {
T* t;
};
template <class U = short, class T = Template<U>>
class TemplateAsDefaultFull {
T t;
};
template <class U = short, class T = Template<U>>
class TemplateAsDefaultFwd {
T* t;
};
template <template <class> class T>
class TemplateTemplateArgShortFull {
T<short> t;
};
template <template <class> class T>
class TemplateTemplateArgShortFwd {
T<short>* t;
};
template <class T>
class ProvidedTemplate {};
template <class U = short, class T = ProvidedTemplate<U>>
class TemplateAsDefaultFullProvided {
T t;
};
#endif // INCLUDE_WHAT_YOU_USE_TESTS_CXX_EXPLICIT_INSTANTIATION2_TEMPLATE_HELPERS_H_