type Value is abstract new Object with private;
type A_Value is access all Value'Class;
function Create_Value
( | val | : Boolean ) return A_Value; |
function Create_Value
( | val | : Integer ) return A_Value; |
function Create_Value
( | val | : String ) return A_Value; |
function As_Boolean
( | this | : access Value ) return Boolean; |
function As_Integer
( | this | : access Value ) return Integer; |
function As_String
( | this | : access Value ) return String; |
function Object_Input
( | stream | : access Root_Stream_Type'Class ) return Value is abstract; |
procedure Delete
( | this | : in out A_Value ); |