Explicit_Specialization_Declaration¶
- class Explicit_Specialization_Declaration (concrete, physical)¶
general decorator for
template<>cases. The decorated node can be some sort of routine, composite, or static field- Implemented interfaces:
implements Declaration_Decorator_Interface
implements Template_Specialization_Interface
- Direct parents:
inherits No_Def_Declaration
- Ancestor classes and implemented interfaces:
Declaration, Declaration_Decorator_Interface, Decorator_Interface, Linked_Node, No_Def_Declaration, Operation, Physical_IR_Root, 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
Decorated_Declaration (from Declaration_Decorator_Interface)
syntactic
class Declaration
the real declaration, or another decorator for it
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, usingTetc. 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