
On 05/05/2011 05:57 PM, Vladimir Batov wrote:
Vicente BOTET<vicente.botet<at> wanadoo.fr> writes: .. I suspect that these complex classes you are talking off don't define the input/ouput stream operator to work with your conversion framework.
Jeez, is it really that hard to accept that 'convert' works and is used with many classes complex or not. Say, a Train class is complex as it has a *lot* of stuff. We serialize/unserialize the class to/from XML using 'convert'. Train has op>>() op<<().
I don't like default_value as a customization point either. However, it seems that for a non-default constructable type, operator>> is likely not the ideal interface for unserialization. How would you use your unserialization functionality separately from the convert library? Presumably you would need some way to obtain a constructed instance in a form suitable for invoking operator>>. If the non-default-constructable type has any members that aren't default constructable, you would have to somehow construct the members as well.