clang 20.0.0git
|
Defines the C++ template declaration subclasses. More...
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTContext.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 <optional>
#include <utility>
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... | |
struct | clang::ExplicitInstantiationInfo |
Provides information about an explicit instantiation of a variable or class template. 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::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 |
Declaration of a C++20 concept. More... | |
class | clang::ImplicitConceptSpecializationDecl |
class | clang::TemplateParamObjectDecl |
A template parameter object. More... | |
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
Typedefs | |
using | clang::TemplateParameter = llvm::PointerUnion< TemplateTypeParmDecl *, NonTypeTemplateParmDecl *, TemplateTemplateParmDecl * > |
Stores a template parameter of any kind. | |
using | clang::SpecializationOrInstantiationInfo = llvm::PointerUnion< const ASTTemplateArgumentListInfo *, ExplicitInstantiationInfo * > |
Functions | |
NamedDecl * | clang::getAsNamedDecl (TemplateParameter P) |
void * | clang::allocateDefaultArgStorageChain (const ASTContext &C) |
TemplateDecl * | clang::getAsTypeTemplateDecl (Decl *D) |
std::optional< unsigned > | clang::getExpandedPackSize (const NamedDecl *Param) |
Check whether the template parameter is a pack expansion, and if so, determine the number of parameters produced by that expansion. | |
TemplateParameterList * | clang::getReplacedTemplateParameterList (Decl *D) |
Internal helper used by Subst* nodes to retrieve the parameter list for their AssociatedDecl. | |
Defines the C++ template declaration subclasses.
Definition in file DeclTemplate.h.