clang API Documentation
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/TypeLoc.h"
#include "clang/Basic/IdentifierTable.h"
#include "llvm/ADT/STLExtras.h"
#include <memory>
Go to the source code of this file.
Functions | |
static void | AdoptTemplateParameterList (TemplateParameterList *Params, DeclContext *Owner) |
static void | GenerateInjectedTemplateArgs (ASTContext &Context, TemplateParameterList *Params, TemplateArgument *Args) |
Generate the injected template arguments for the given template parameter list, e.g., for the injected-class-name of a class template. |
static void AdoptTemplateParameterList | ( | TemplateParameterList * | Params, |
DeclContext * | Owner | ||
) | [static] |
Definition at line 115 of file DeclTemplate.cpp.
References clang::TemplateParameterList::begin(), clang::TemplateParameterList::end(), and P.
Referenced by clang::FunctionTemplateDecl::Create(), clang::ClassTemplateDecl::Create(), and clang::TypeAliasTemplateDecl::Create().
static void GenerateInjectedTemplateArgs | ( | ASTContext & | Context, |
TemplateParameterList * | Params, | ||
TemplateArgument * | Args | ||
) | [static] |
Generate the injected template arguments for the given template parameter list, e.g., for the injected-class-name of a class template.
Definition at line 178 of file DeclTemplate.cpp.
References clang::TemplateParameterList::begin(), Context, clang::TemplateArgument::CreatePackCopy(), clang::ASTContext::DependentTy, clang::TemplateParameterList::end(), clang::ASTContext::getPackExpansionType(), clang::ASTContext::getTypeDeclType(), clang::Expr::getValueKindForType(), and clang::TemplateTemplateParmDecl::isParameterPack().
Referenced by clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), and clang::FunctionTemplateDecl::getInjectedTemplateArgs().