clang 23.0.0git
clang::TemplateParmPosition Class Reference

Defines the position of a template parameter within a template parameter list. More...

#include "clang/AST/DeclTemplate.h"

Inheritance diagram for clang::TemplateParmPosition:
[legend]

Public Member Functions

 TemplateParmPosition ()=delete
unsigned getDepth () const
 Get the nesting depth of the template parameter.
void setDepth (int D)
unsigned getPosition () const
 Get the position of the template parameter within its parameter list.
void setPosition (int P)
unsigned getIndex () const
 Get the index of the template parameter within its parameter list.

Protected Types

enum  { DepthWidth = 20 , PositionWidth = 12 }

Protected Member Functions

 TemplateParmPosition (int D, int P)

Protected Attributes

unsigned Depth: DepthWidth
unsigned Position: PositionWidth

Detailed Description

Defines the position of a template parameter within a template parameter list.

Because template parameter can be listed sequentially for out-of-line template members, each template parameter is given a Depth - the nesting of template parameter scopes - and a Position - the occurrence within the parameter list. This class is inheritedly privately by different kinds of template parameters and is not part of the Decl hierarchy. Just a facility.

Definition at line 1125 of file DeclTemplate.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
DepthWidth 
PositionWidth 

Definition at line 1127 of file DeclTemplate.h.

Constructor & Destructor Documentation

◆ TemplateParmPosition() [1/2]

clang::TemplateParmPosition::TemplateParmPosition ( int D,
int P )
inlineprotected

Definition at line 1131 of file DeclTemplate.h.

References setDepth(), and setPosition().

◆ TemplateParmPosition() [2/2]

clang::TemplateParmPosition::TemplateParmPosition ( )
delete

Member Function Documentation

◆ getDepth()

unsigned clang::TemplateParmPosition::getDepth ( ) const
inline

Get the nesting depth of the template parameter.

Definition at line 1140 of file DeclTemplate.h.

References Depth.

◆ getIndex()

unsigned clang::TemplateParmPosition::getIndex ( ) const
inline

Get the index of the template parameter within its parameter list.

Definition at line 1156 of file DeclTemplate.h.

References Position.

◆ getPosition()

unsigned clang::TemplateParmPosition::getPosition ( ) const
inline

Get the position of the template parameter within its parameter list.

Definition at line 1148 of file DeclTemplate.h.

References Position.

◆ setDepth()

void clang::TemplateParmPosition::setDepth ( int D)
inline

Definition at line 1141 of file DeclTemplate.h.

References Depth, and DepthWidth.

Referenced by TemplateParmPosition().

◆ setPosition()

void clang::TemplateParmPosition::setPosition ( int P)
inline

Definition at line 1149 of file DeclTemplate.h.

References Position, and PositionWidth.

Referenced by TemplateParmPosition().

Member Data Documentation

◆ Depth

unsigned clang::TemplateParmPosition::Depth
protected

Definition at line 1128 of file DeclTemplate.h.

Referenced by getDepth(), and setDepth().

◆ Position

unsigned clang::TemplateParmPosition::Position
protected

Definition at line 1129 of file DeclTemplate.h.

Referenced by getIndex(), getPosition(), and setPosition().


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