1. -- 
  2. -- Copyright (c) 2012-2013 Kevin Wellwood 
  3. -- All rights reserved. 
  4. -- 
  5. -- This source code is distributed under the Modified BSD License. For terms and 
  6. -- conditions, see license.txt. 
  7. -- 
  8.  
  9. package Values.Nulls is 
  10.  
  11.     type Null_Value is new Value with private; 
  12.  
  13.     function Create_Null return Value_Ptr; 
  14.  
  15.     overriding 
  16.     function Clone( this : access Null_Value ) return Value_Ptr'Class; 
  17.  
  18.     overriding 
  19.     function Compare( this : Null_Value; other : Value'Class ) return Integer; 
  20.  
  21.     overriding 
  22.     function Get_Type( this : Null_Value ) return Value_Type; 
  23.  
  24.     overriding 
  25.     function Image( this : Null_Value ) return String; 
  26.  
  27. private 
  28.  
  29.     type Null_Value is new Value with null record; 
  30.  
  31.     overriding 
  32.     function Value_Input( stream : access Root_Stream_Type'Class ) return Null_Value; 
  33.     for Null_Value'Input use Value_Input; 
  34.  
  35.     overriding 
  36.     procedure Value_Read( stream : access Root_Stream_Type'Class; this : out Null_Value ); 
  37.     for Null_Value'Read use Value_Read; 
  38.  
  39.     procedure Value_Write( stream : access Root_Stream_Type'Class; this : Null_Value ); 
  40.     for Null_Value'Write use Value_Write; 
  41.  
  42. end Values.Nulls;