#
# $Id: basicclasscoding.icn,v 1.1 2004/02/12 17:07:55 rparlett Exp $
#
# This file is in the public domain.
#
# Author: Robert Parlett (parlett@dial.pipex.com)
#

package lang

#
# Very simple class coding which just encodes/decodes its member variables in order.
#
class BasicClassCoding : ClassCoding()
   method encode_obj(e)
      e.line_out(*self - 2)
      every e.encode(self[3 to *self])
   end

   method decode_obj(d)
      local i, n
      n := integer(d.line_in()) | fail
      every i := 1 to n do 
         self[2 + i] := d.decode() | fail
      return
   end
end