Explicit_Instantiation_Declaration¶
- class Explicit_Instantiation_Declaration (concrete, physical)¶
Declaration that tells the compiler a template does not need to be instantiated within this translation unit, because there will be an explicit instantiation definition in another unit.
extern template void foo<int>();- Direct parents:
inherits No_Def_Declaration
- Ancestor classes and implemented interfaces:
Declaration, Linked_Node, No_Def_Declaration, Operation, Physical_IR_Root
Field
Kind
Type
Description
Selection
syntactic
interface Template_Instance_Selection_Interface
template-selection for the template instance
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