Deduction_Guide¶
- class Deduction_Guide (concrete, physical)¶
C++17 deduction guide
- Implemented interfaces:
implements Conditional_Explicit_Interface
implements Parameter_List_Interface
- Direct parents:
inherits Definition
- Ancestor classes and implemented interfaces:
Conditional_Explicit_Interface, Declaration, Definition, Linked_Node, Operation, Parameter_List_Interface, Physical_IR_Root
Field
Kind
Type
Description
Is_Explicit
attribute
builtin Boolean
Whether the deduction guide was declared as explicit (or dependent conditional explicit in C++20).
Has_Dependent_Explicit
attribute
builtin Boolean
Declared as explicit with a dependent condition.
Class_Template
semantic
class Declaration
The class template to which this deduction guide applies. Will usually be a node of type Composite_Type_Interface, but may also be another type declaration in error cases.
Deduced_Type
syntactic
interface Possibly_Attributed_Type_Interface
The resulting deduced type.
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
Explicit_Condition (from Conditional_Explicit_Interface)
syntactic
class Expression
The constant expression that must evaluate to true or false.
nullif there was none, i.e., justexplicit, which is equivalent toexplicit(true).Parameters (from Parameter_List_Interface)
syntactic
list of class Possibly_Attributed_Parameter_Interface
All parameters, including the ellipsis, but excluding
thisUsually some Parameter_Definitions, but could also be an Attributed_Definition. Useskip_decorators()to get the parameter itself.