package Values.Nulls is
type Null_Value is new Value with private;
function Create_Null return Value_Ptr;
overriding
function Clone( this : access Null_Value ) return Value_Ptr'Class;
overriding
function Compare( this : Null_Value; other : Value'Class ) return Integer;
overriding
function Get_Type( this : Null_Value ) return Value_Type;
overriding
function Image( this : Null_Value ) return String;
private
type Null_Value is new Value with null record;
overriding
function Value_Input( stream : access Root_Stream_Type'Class ) return Null_Value;
for Null_Value'Input use Value_Input;
overriding
procedure Value_Read( stream : access Root_Stream_Type'Class; this : out Null_Value );
for Null_Value'Read use Value_Read;
procedure Value_Write( stream : access Root_Stream_Type'Class; this : Null_Value );
for Null_Value'Write use Value_Write;
end Values.Nulls;