clang  16.0.0git
Public Member Functions | Public Attributes | List of all members
clang::RedeclarableTemplateDecl::CommonBase Struct Reference

#include "clang/AST/DeclTemplate.h"

Inheritance diagram for clang::RedeclarableTemplateDecl::CommonBase:
Inheritance graph
[legend]
Collaboration diagram for clang::RedeclarableTemplateDecl::CommonBase:
Collaboration graph
[legend]

Public Member Functions

 CommonBase ()
 

Public Attributes

llvm::PointerIntPair< RedeclarableTemplateDecl *, 1, boolInstantiatedFromMember
 The template from which this was most directly instantiated (or null). More...
 
uint32_t * LazySpecializations = nullptr
 If non-null, points to an array of specializations (including partial specializations) known only by their external declaration IDs. More...
 
TemplateArgumentInjectedArgs = nullptr
 The set of "injected" template arguments used within this template. More...
 

Detailed Description

Definition at line 832 of file DeclTemplate.h.

Constructor & Destructor Documentation

◆ CommonBase()

clang::RedeclarableTemplateDecl::CommonBase::CommonBase ( )
inline

Definition at line 833 of file DeclTemplate.h.

Member Data Documentation

◆ InjectedArgs

TemplateArgument* clang::RedeclarableTemplateDecl::CommonBase::InjectedArgs = nullptr

The set of "injected" template arguments used within this template.

This pointer refers to the template arguments (there are as many template arguments as template parameaters) for the template, and is allocated lazily, since most templates do not require the use of this information.

Definition at line 857 of file DeclTemplate.h.

◆ InstantiatedFromMember

llvm::PointerIntPair<RedeclarableTemplateDecl*, 1, bool> clang::RedeclarableTemplateDecl::CommonBase::InstantiatedFromMember

The template from which this was most directly instantiated (or null).

The boolean value indicates whether this template was explicitly specialized.

Definition at line 841 of file DeclTemplate.h.

Referenced by clang::RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate(), clang::RedeclarableTemplateDecl::isMemberSpecialization(), clang::RedeclarableTemplateDecl::setInstantiatedFromMemberTemplate(), and clang::RedeclarableTemplateDecl::setMemberSpecialization().

◆ LazySpecializations

uint32_t* clang::RedeclarableTemplateDecl::CommonBase::LazySpecializations = nullptr

If non-null, points to an array of specializations (including partial specializations) known only by their external declaration IDs.

The first value in the array is the number of specializations/partial specializations that follow.

Definition at line 848 of file DeclTemplate.h.

Referenced by clang::RedeclarableTemplateDecl::loadLazySpecializationsImpl().


The documentation for this struct was generated from the following file: