clang 19.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]

Public Member Functions

 CommonBase ()
 

Public Attributes

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

Detailed Description

Definition at line 784 of file DeclTemplate.h.

Constructor & Destructor Documentation

◆ CommonBase()

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

Definition at line 785 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 parameters) for the template, and is allocated lazily, since most templates do not require the use of this information.

Definition at line 809 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 793 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 800 of file DeclTemplate.h.

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


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