Deduction_Guide

class Deduction_Guide (concrete, physical)

C++17 deduction guide

Implemented interfaces:
Direct parents:
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. null if there was none, i.e., just explicit, which is equivalent to explicit(true).

Parameters (from Parameter_List_Interface)

syntactic

list of class Possibly_Attributed_Parameter_Interface

All parameters, including the ellipsis, but excluding this Usually some Parameter_Definitions, but could also be an Attributed_Definition. Use skip_decorators() to get the parameter itself.