class interface P_TEXT_OBJECT_MANAGER

feature(s) from P_TEXT_OBJECT_MANAGER
   --  Input

   is_output: BOOLEAN
      --  Is the manager in output mode?


   put_boolean (bool: BOOLEAN)
      --  Put a boolean value in the output string.

      require
         out: is_output

   put_character (char: CHARACTER)
      --  Put a character in the output string.

      require
         out: is_output

   put_integer (int: INTEGER)
      --  Put an integer in the output string.


   put_string (outs: STRING)
      --  Put a data string in the output string.

      require
         out: is_output;
         valid_out: outs /= Void

   put_object (obj: P_TEXT_OBJECT)
      --  Put an encoded object in the output string.

      require
         out: is_output;
         valid_obj: obj /= Void

   put_real (number: REAL)
      --  Put a real in the output string.

      require
         out: is_output

   put_double (number: DOUBLE)
      --  Put a double in the output string.

      require
         out: is_output

feature(s) from P_TEXT_OBJECT_MANAGER
   --  Input

   in_success: BOOLEAN
      --  Is the input process without errors?


   is_input: BOOLEAN
      --  Is the manager in input mode?


   get_boolean
      --  Retrieve boolean value from stream.

      require
         in: is_input
      ensure
         has_result:  --  last_boolean set

   last_boolean: BOOLEAN

   get_character
      --  Retrieve character from stream.

      require
         in: is_input
      ensure
         has_result:  --  last_character set.

   last_character: CHARACTER

   get_integer
      --  Retrieve integer from stream.

      require
         in: is_input
      ensure
         has_result:  --  last_integer set.

   last_integer: INTEGER

   get_string
      --  Retrieve string from stream.

      require
         in: is_input
      ensure
         has_result:  --  last_string set.

   last_string: STRING

   get_object (obj_to_change: P_TEXT_OBJECT)
      --  Retrieve encoded object string, and adapt consequently 
      --  object given as parameter.

      require
         in: is_input

   get_real
      --  Retrieve real number from string.

      require
         in: is_input
      ensure
         has_result:  --  last_real set.

   last_real: REAL

   get_double
      --  Retrieve double precision real number from stream.

      require
         in: is_input
      ensure
         has_result:  --  last_double set.

   last_double: DOUBLE


end of P_TEXT_OBJECT_MANAGER