type Object is abstract tagged private;
type Limited_Object is abstract tagged limited private;
type A_Object is access all Object'Class;
type A_Limited_Object is access all Limited_Object'Class;
COPY_NOT_ALLOWED : exception;
procedure Adjust
( | this | : access Object ); |
procedure Construct
( | this | : access Object ); |
procedure Delete
( | this | : in out Object ); |
function Get_Class_Name
( | this | : not null access Object'Class; |
full | : Boolean := False ) return String; |
function To_String
( | this | : access Object ) return String; |
procedure Object_Read
( | stream | : access Root_Stream_Type'Class; |
obj | : out Object ); |
procedure Object_Write
( | stream | : access Root_Stream_Type'Class; |
obj | : Object ); |
function "&"
( | left | : A_Object; |
right | : String ) return String; |
function "&"
( | left | : String; |
right | : A_Object ) return String; |
procedure Construct
( | this | : access Limited_Object ); |
procedure Delete
( | this | : in out Limited_Object ); |
function Get_Class_Name
( | this | : not null access Limited_Object'Class; |
full | : Boolean := False ) return String; |
function To_String
( | this | : access Limited_Object ) return String; |
function "&"
( | left | : A_Limited_Object; |
right | : String ) return String; |
function "&"
( | left | : String; |
right | : A_Limited_Object ) return String; |