Partial_Template_Specialization_Declaration

class Partial_Template_Specialization_Declaration (concrete, physical)
Implemented interfaces:
Direct parents:
Ancestor classes and implemented interfaces:

Declaration, Declaration_Decorator_Interface, Decorator_Interface, Linked_Node, No_Def_Declaration, Operation, Physical_IR_Root, Template_Declaration, Template_Interface, Template_Specialization_Interface

Field

Kind

Type

Description

Logical (from Linked_Node)

semantic to logical

class Logical_IR_Root

cross-reference into LIR

Parent (from Physical_IR_Root)

semantic

class Physical_IR_Root

The parent of the node in the syntactic forest.

Original_Position_Index (from Physical_IR_Root)

attribute

builtin SLoc_Index_Type

Internal source location info. If from macro expansion, this location is inside the macro body or macro argument

Original_Position (from Physical_IR_Root)

attribute

builtin SLoc

Source location. If from macro expansion, this location is inside the macro body or macro argument

Position (from Physical_IR_Root)

attribute

builtin SLoc

Source location. If from macro expansion, this location is that of the macro expansion

Artificial (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node was compiler-generated

Parenthesized (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node was enclosed in parentheses (used for expressions)

In_Template_Instance (from Physical_IR_Root)

attribute

builtin Boolean

Whether this node is inside a template instance

Enclosing_Template_Instance (from Physical_IR_Root)

semantic

class Physical_IR_Root

Innermost enclosing template instance if In_Template_Instance is true

Specialization_Of (from Template_Specialization_Interface)

semantic

class Declaration

the primary template (composite or routine below template decorator)

Specialization_Arguments (from Template_Specialization_Interface)

syntactic

list of class Template_Argument

the refined parameters used for the primary template (e.g., after class A) these can contain full arguments, normal template parameters, and ‘derived’ parameters, e.g., T* [constructed as Pointer to Use_Template_Type] (from a language point, these are all arguments, using T etc. like normal types)

Template_Parameters (from Template_Interface)

syntactic

list of interface Template_Parameter_Interface

Instances (from Template_Interface)

syntactic

set of interface Template_Instance_Interface

Instances of this template

Requires_Clause (from Template_Interface)

syntactic

class Expression

Decorated_Declaration (from Declaration_Decorator_Interface)

syntactic

class Declaration

the real declaration, or another decorator for it