Template_Lambda_Class_Type¶
- class Template_Lambda_Class_Type (concrete, logical)¶
a lambda closure class in a dependent context
- Implemented interfaces:
implements Template_Composite_Type_Interface
implements Lambda_Class_Interface
- Direct parents:
inherits Unnamed_Record_Type
- Ancestor classes and implemented interfaces:
Composite_Type, Declarative_Node, Lambda_Class_Interface, Logical_IR_Root, Member, Named_Entity, Named_Type, Primary_Link_Object_Interface, Record_Type, Symbol, Template_Base_Interface, Template_Base_Specialization_Interface, Template_Composite_Type_Interface, Template_Interface, Template_Type_Interface, Type, Unmanaged_Record_Type, Unnamed_Composite_Interface, Unnamed_Record_Type
Field
Kind
Type
Description
Extends (from Record_Type)
syntactic
list of class Direct_Extends_Relation
inheritance direct base classes in declaration order; they each list indirect bases
Usings (from Record_Type)
syntactic
set of class Using
using elements of a base class, maybe with different accessibility
Fields (from Record_Type)
syntactic
list of class Field
non-static fields in order of offsets for this class (excluding inherited ones)
File (from Composite_Type)
attribute
builtin String
the file in which this composite was defined needed for merging copies of the same class if local to different DLLs for unnamed composites, this and Line is used to identify identical unnamed composites
Nested_Types (from Composite_Type)
syntactic
set of class Named_Type
Methods (from Composite_Type)
syntactic
set of class Method
Instance methods, excluding static methods and constructors. Since Axivion Suite 7.9, this set includes the destructors.
Template_Composites (from Composite_Type)
syntactic
set of interface Template_Composite_Type_Interface
Template_Methods (from Composite_Type)
syntactic
set of interface Template_Routine_Interface
Friend_Of (from Composite_Type)
semantic
set of class Named_Type
Classes this class is a friend of. (i.e. this class may access private members of the classes in this set) This is the opposite of Friends.
Static_Methods (from Composite_Type)
syntactic
set of class Member_Routine
All static methods of this class (in error cases sometimes also non-static ones, e.g., conversion operators)
Friends (from Composite_Type)
semantic
set of class Named_Entity
All routines and types that have been declared as friends. (set of other classes that may access private members of this class) Can include routines, classes, templates, template type parameters.
Constructors (from Composite_Type)
syntactic
set of class Constructor
The constructor routines that can instantiate a new object of this class. Note: unions can have constructors, methods and destructors
Destructor (from Composite_Type)
semantic
class Destructor
The main destructor for this class. If set, this field points to one of the destructors in Methods. Can be null if the destructor is trivial.
Note: A class can have multiple destructors if C++20
requires-clauses or CUDA__device__destructors are involved.Static_Fields (from Composite_Type)
syntactic
set of class Static_Field_Or_Unknown_Member_Interface
All non-inherited static data members of this class. Use a set as they are logically unordered. This set may contain duplicates for local_to_library elements of different DLLs
Attributes (from Composite_Type)
attribute
bitfield Composite_Type_Attributes_Type
Size (from Type)
attribute
builtin Natural
Alignment_Log (from Type)
attribute
builtin Byte
log2 of the type’s alignment
Alignment (from Type)
attribute
builtin Natural
Alignment of the type (must be a power of 2)
Size_In_Bits (from Type)
attribute
builtin UInt64
Size of the type, in bits.
Parent (from Logical_IR_Root)
semantic
class Logical_IR_Root
Physical (from Logical_IR_Root)
semantic to physical
class Physical_IR_Root
Template_Parameters (from Template_Interface)
syntactic
list of interface Template_Parameter_Interface
Mangled_Requires_Clause (from Template_Interface)
attribute
builtin String
Discriminator (from Unnamed_Composite_Interface)
attribute
builtin UInt64
Identifies the unnamed type in some way. For nested composites that need to be linked together, the discriminator is N for the Nth unnamed type (in lexical order) within the parent scope (indicated by Contained_In). For namespace-level unnamed types (Contained_In not set), stores a line number/column pair used to identify the composite. Used in
compare_unnamed_composite(). Multiple compilation units including the same header must compute the same value for the same unnamed composite.Contained_In (from Unnamed_Composite_Interface)
semantic
class Symbol
The scope for the discriminator. This is the parent type/field/routine that contains the struct definition.
Link_Flags (from Primary_Link_Object_Interface)
attribute
bitfield Link_Flags_Type
Component (from Primary_Link_Object_Interface)
attribute
builtin String
for local-to-library elements: name of DLL/
.sowhen linked (sealed) for unit-local constexpr variables: name of fileBase_Template_Specialization (from Template_Base_Specialization_Interface)
semantic
class Symbol
in case this is a template instance, Base_Template points to the underlying primary template, and this field indicates the specialization thereof, if any
Base_Template (from Template_Base_Interface)
semantic
class Symbol
usually, a Template_Interface, but could also be a normal method/nested class inside a template
Template_Arguments (from Template_Base_Interface)
syntactic
list of class Template_Argument
Is_Partial_Specialization (from Template_Base_Interface)
attribute
builtin Boolean
Is_Full_Specialization (from Template_Base_Interface)
attribute
builtin Boolean
Is_Template_Instance (from Template_Base_Interface)
attribute
builtin Boolean
Visibility (from Member)
attribute
enum Visibility_Type
Name (from Named_Entity)
attribute
builtin String