type Value is abstract new Object with private;
type A_Value is access all Value'Class;
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; |