clang  6.0.0svn
Classes | Namespaces | Typedefs | Functions
DeclTemplate.h File Reference

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

#include "clang/AST/DeclCXX.h"
#include "clang/AST/Redeclarable.h"
#include "clang/AST/TemplateBase.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/TrailingObjects.h"
#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::ConstrainedTemplateDeclInfo
 Stores the template parameter list and associated constraints for TemplateDecl objects that track associated constraints. 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...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Typedefs

typedef llvm::PointerUnion3< TemplateTypeParmDecl *, NonTypeTemplateParmDecl *, TemplateTemplateParmDecl * > clang::TemplateParameter
 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.