|
clang 22.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 "clang/Basic/TemplateKinds.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 |
| Stores a template parameter of any kind. | |
| using | clang::SpecializationOrInstantiationInfo |
Functions | |
| NamedDecl * | clang::getAsNamedDecl (TemplateParameter P) |
| void * | clang::allocateDefaultArgStorageChain (const ASTContext &C) |
| bool | clang::isPackProducingBuiltinTemplateName (TemplateName N) |
| TemplateDecl * | clang::getAsTypeTemplateDecl (Decl *D) |
| UnsignedOrNone | 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. | |
| std::tuple< NamedDecl *, TemplateArgument > | clang::getReplacedTemplateParameter (Decl *D, unsigned Index) |
| Internal helper used by Subst* nodes to retrieve a parameter from the AssociatedDecl, and the template argument substituted into it, if any. | |
| const Decl & | clang::adjustDeclToTemplate (const Decl &D) |
| If we have a 'templated' declaration for a template, adjust 'D' to refer to the actual template. | |
Defines the C++ template declaration subclasses.
Definition in file DeclTemplate.h.