clang 10.0.0git

Classes | Namespaces | Typedefs | Functions
DeclTemplate.h File Reference

Defines the C++ template declaration subclasses. More...

`#include "clang/AST/ASTConcept.h"`
`#include "clang/AST/Decl.h"`
`#include "clang/AST/DeclBase.h"`
`#include "clang/AST/DeclCXX.h"`
`#include "clang/AST/DeclarationName.h"`
`#include "clang/AST/Redeclarable.h"`
`#include "clang/AST/TemplateBase.h"`
`#include "clang/AST/Type.h"`
`#include "clang/Basic/LLVM.h"`
`#include "clang/Basic/SourceLocation.h"`
`#include "clang/Basic/Specifiers.h"`
`#include "llvm/ADT/ArrayRef.h"`
`#include "llvm/ADT/FoldingSet.h"`
`#include "llvm/ADT/PointerIntPair.h"`
`#include "llvm/ADT/PointerUnion.h"`
`#include "llvm/ADT/iterator.h"`
`#include "llvm/ADT/iterator_range.h"`
`#include "llvm/Support/Casting.h"`
`#include "llvm/Support/Compiler.h"`
`#include "llvm/Support/TrailingObjects.h"`
`#include <cassert>`
`#include <cstddef>`
`#include <cstdint>`
`#include <iterator>`
`#include <utility>`
Include dependency graph for DeclTemplate.h:

Go to the source code of this file.

## Classes
class | clang::TemplateParameterList
| Stores a list of template parameters for a TemplateDecl and its derived classes. More...
class | clang::FixedSizeTemplateParameterListStorage< N, HasRequiresClause >
| Stores a list of template parameters and the associated requires-clause (if any) for a TemplateDecl and its derived classes. More...
class | clang::TemplateArgumentList
| A template argument list. More...
class | clang::DefaultArgStorage< ParmDecl, ArgType >
| Storage for a default argument. More...
class | clang::TemplateDecl
| The base class of all kinds of template declarations (e.g., class, function, etc.). More...
class | clang::FunctionTemplateSpecializationInfo
| Provides information about a function template specialization, which is a FunctionDecl that has been explicitly specialization or instantiated from a function template. More...
class | clang::MemberSpecializationInfo
| Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration. More...
class | clang::DependentFunctionTemplateSpecializationInfo
| Provides information about a dependent function-template specialization declaration. More...
class | clang::RedeclarableTemplateDecl
| Declaration of a redeclarable template. More...
struct | clang::RedeclarableTemplateDecl::SpecEntryTraits< EntryType >
struct | clang::RedeclarableTemplateDecl::SpecIterator< EntryType, SETraits, DeclType >
struct | clang::RedeclarableTemplateDecl::CommonBase
struct | clang::RedeclarableTemplateDecl::SpecEntryTraits< FunctionTemplateSpecializationInfo >
class | clang::FunctionTemplateDecl
| Declaration of a template function. More...
struct | clang::FunctionTemplateDecl::Common
| Data that is common to all of the declarations of a given function template. More...
class | clang::TemplateParmPosition
| Defines the position of a template parameter within a template parameter list. More...
class | clang::TemplateTypeParmDecl
| Declaration of a template type parameter. More...
class | clang::NonTypeTemplateParmDecl
| NonTypeTemplateParmDecl - Declares a non-type template parameter, e.g., "Size" in. More...
class | clang::TemplateTemplateParmDecl
| TemplateTemplateParmDecl - Declares a template template parameter, e.g., "T" in. More...
class | clang::BuiltinTemplateDecl
| Represents the builtin template declaration which is used to implement __make_integer_seq and other builtin templates. More...
class | clang::ClassTemplateSpecializationDecl
| Represents a class template specialization, which refers to a class template with a given set of template arguments. More...
class | clang::ClassTemplatePartialSpecializationDecl
class | clang::ClassTemplateDecl
| Declaration of a class template. More...
struct | clang::ClassTemplateDecl::Common
| Data that is common to all of the declarations of a given class template. More...
class | clang::FriendTemplateDecl
| Declaration of a friend template. More...
class | clang::TypeAliasTemplateDecl
| Declaration of an alias template. More...
class | clang::ClassScopeFunctionSpecializationDecl
| Declaration of a function specialization at template class scope. More...
class | clang::VarTemplateSpecializationDecl
| Represents a variable template specialization, which refers to a variable template with a given set of template arguments. More...
class | clang::VarTemplatePartialSpecializationDecl
class | clang::VarTemplateDecl
| Declaration of a variable template. More...
struct | clang::VarTemplateDecl::Common
| Data that is common to all of the declarations of a given variable template. More...
class | clang::ConceptDecl

## Namespaces
| clang
| Dataflow Directional Tag Classes.

## Typedefs
using | clang::TemplateParameter = llvm::PointerUnion< TemplateTypeParmDecl *, NonTypeTemplateParmDecl *, TemplateTemplateParmDecl * >
| Stores a template parameter of any kind. More...

## Functions
NamedDecl * | clang::getAsNamedDecl (TemplateParameter P)
void * | clang::allocateDefaultArgStorageChain (const ASTContext &C)
TemplateDecl * | clang::getAsTypeTemplateDecl (Decl *D)

## Detailed Description

Defines the C++ template declaration subclasses.

Definition in file DeclTemplate.h.