Composite_Type¶
- class Composite_Type (abstract, logical)¶
- Implemented interfaces:
implements Primary_Link_Object_Interface
implements Template_Base_Specialization_Interface
implements Template_Base_Interface
- Direct parents:
inherits Named_Type
- Ancestor classes and implemented interfaces:
Declarative_Node, Logical_IR_Root, Member, Named_Entity, Named_Type, Primary_Link_Object_Interface, Symbol, Template_Base_Interface, Template_Base_Specialization_Interface, Type
- Direct child classes:
subclass Record_Type
subclass Union_Type
Field
Kind
Type
Description
File
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
syntactic
set of class Named_Type
Methods
syntactic
set of class Method
Instance methods, excluding static methods and constructors. Since Axivion Suite 7.9, this set includes the destructors.
Template_Composites
syntactic
set of interface Template_Composite_Type_Interface
Template_Methods
syntactic
set of interface Template_Routine_Interface
Friend_Of
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
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
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
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
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
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
attribute
bitfield Composite_Type_Attributes_Type
Base_Template (from Template_Base_Interface)
semantic
class Composite_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
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
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