-- this function returns the address of the virtual function stored
-- in it (used for dispatching calls)
- procedure CPP_Set_Inheritance_Depth
- (T : Vtable_Ptr;
- Value : Natural);
- -- Given a pointer to a dispatch Table, stores the value representing
- -- the depth in the inheritance tree. Used during elaboration of the
- -- tagged type.
-
- function CPP_Get_Inheritance_Depth (T : Vtable_Ptr) return Natural;
- -- Given a pointer to a dispatch Table, retreives the value representing
- -- the depth in the inheritance tree. Used for membership.
-
procedure CPP_Set_TSD (T : Vtable_Ptr; Value : S.Address);
-- Given a pointer T to a dispatch Table, stores the address of the
-- record containing the Type Specific Data generated by GNAT
-- Set the address of the string containing the expanded name
-- in the Dispatch table
- function CPP_Get_Expanded_Name (T : Vtable_Ptr) return S.Address;
- -- Retrieve the address of a null terminated string containing
- -- the expanded name
-
procedure CPP_Set_Remotely_Callable (T : Vtable_Ptr; Value : Boolean);
-- Since the notions of spec/body distinction and categorized packages
-- do not exist in C, this procedure will do nothing
pragma Inline (CPP_Set_Prim_Op_Address);
pragma Inline (CPP_Get_Prim_Op_Address);
- pragma Inline (CPP_Set_Inheritance_Depth);
- pragma Inline (CPP_Get_Inheritance_Depth);
pragma Inline (CPP_Set_TSD);
pragma Inline (CPP_Get_TSD);
pragma Inline (CPP_Inherit_DT);
pragma Inline (CPP_Set_External_Tag);
pragma Inline (CPP_Get_External_Tag);
pragma Inline (CPP_Set_Expanded_Name);
- pragma Inline (CPP_Get_Expanded_Name);
pragma Inline (CPP_Set_Remotely_Callable);
pragma Inline (CPP_Get_Remotely_Callable);
pragma Inline (Displaced_This);