There are some inconsistencies in the definition of stream operations in vgl, as well as inconsistent implementation of “read” and “write” methods. The << and >> stream operators are not consistent in that << outputs a class name with brackets while, the >> operator only expects the bare parameters of the class.  Also, for instance, vgl_box_3d has read and write methods, which read and write bare parameters, while vgl_conic_2d does not.  


I am soliciting opinions on the resolution of these inconsistencies:


1) One approach is to add parsing to the >> operator to match the extra class descriptor strings output by >>.

The advantage of this approach is that useful debugging information would be maintained.


2) Drop the class information from <<.

The stream operations will now be consistent but users will have to add their own class info if they need it.


3) Uniformly implement read and write methods that don’t have class info and reserve “print” to be more verbose.


Thanks in advance for your suggestions.





Professor of Engineering(Research)

Room 351

Barus and Holley

184 Hope Street

Providence, RI