Unqualified_Deduced_Template_Instance_Type_Selection

class Unqualified_Deduced_Template_Instance_Type_Selection (concrete, physical)

Template instance selection using C++17. e.g., the type selection in vector v { 1, 2, 3 }; The Symbol_Selection may be NoNode if deduction was not possible (usually because the initializer was a type-dependent expression)

Implemented interfaces:
Direct parents:
Ancestor classes and implemented interfaces:

Declaration, Definition, Direct_Object_Selection_Interface, Direct_Template_Instance_Selection_Interface, Linked_Node, Operation, Physical_IR_Root, Possibly_Attributed_Type_Interface, Selection_Interface, Template_Instance_Selection_Interface, Type_Definition, Type_Interface, Type_Selection, Unnamed_Type_Definition, Unqualified_Template_Instance_Type_Selection, Unqualified_Type_Selection

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

Symbol_Declaration (from Direct_Object_Selection_Interface)

semantic

class Declaration

if available, the PIR declaration of the selected symbol (can be NULL) use inter-part edge ‘Logical’ to get the LIR symbol

Its_Template (from Direct_Template_Instance_Selection_Interface)

semantic

class Declaration

the template on which the routine or type is based (points to the undecorated routine/composite node)

Template_Arguments (from Template_Instance_Selection_Interface)

syntactic

list of class Template_Argument

the arguments used for the template’s parameters