clang  6.0.0svn
Namespaces | Functions
SemaTemplateInstantiate.cpp File Reference
#include "clang/Sema/SemaInternal.h"
#include "TreeTransform.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTLambda.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/PrettyDeclStackTrace.h"
#include "clang/Sema/Template.h"
#include "clang/Sema/TemplateDeduction.h"
Include dependency graph for SemaTemplateInstantiate.cpp:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::sema
 

Functions

static std::pair< unsigned, unsigned > getDepthAndIndex (NamedDecl *ND)
 Retrieve the depth and index of a parameter pack. More...
 
static TemplateArgument getPackSubstitutedTemplateArgument (Sema &S, TemplateArgument Arg)
 
static bool NeedsInstantiationAsFunctionType (TypeSourceInfo *T)
 
Attrclang::sema::instantiateTemplateAttribute (const Attr *At, ASTContext &C, Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs)
 
Attrclang::sema::instantiateTemplateAttributeForDecl (const Attr *At, ASTContext &C, Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs)
 
static CXXRecordDeclgetPatternForClassTemplateSpecialization (Sema &S, SourceLocation PointOfInstantiation, ClassTemplateSpecializationDecl *ClassTemplateSpec, TemplateSpecializationKind TSK, bool Complain)
 Get the instantiation pattern to use to instantiate the definition of a given ClassTemplateSpecializationDecl (either the pattern of the primary template or of a partial specialization). More...
 
static const DeclgetCanonicalParmVarDecl (const Decl *D)
 

Function Documentation

◆ getCanonicalParmVarDecl()

static const Decl* getCanonicalParmVarDecl ( const Decl D)
static

◆ getDepthAndIndex()

static std::pair<unsigned, unsigned> getDepthAndIndex ( NamedDecl ND)
static

◆ getPackSubstitutedTemplateArgument()

static TemplateArgument getPackSubstitutedTemplateArgument ( Sema S,
TemplateArgument  Arg 
)
static

Definition at line 947 of file SemaTemplateInstantiate.cpp.

◆ getPatternForClassTemplateSpecialization()

static CXXRecordDecl* getPatternForClassTemplateSpecialization ( Sema S,
SourceLocation  PointOfInstantiation,
ClassTemplateSpecializationDecl ClassTemplateSpec,
TemplateSpecializationKind  TSK,
bool  Complain 
)
static

Get the instantiation pattern to use to instantiate the definition of a given ClassTemplateSpecializationDecl (either the pattern of the primary template or of a partial specialization).

Definition at line 2374 of file SemaTemplateInstantiate.cpp.

Referenced by clang::Sema::InstantiateClassTemplateSpecialization().

◆ NeedsInstantiationAsFunctionType()

static bool NeedsInstantiationAsFunctionType ( TypeSourceInfo T)
static