Date: Fri, 22 Nov 2002 16:28:34 -0500
From: "Rozental, Gennadiy" <[EMAIL PROTECTED]>

> > > The only solution which comes to my mind is additional virtual
> > > functions for writing blocks of primitive types, which default to
> > > just calling the operator<< (>>) n times, but can be overridden
> > > by optimized functions for those archive types where optimized
> > > writes (load) are possible. Nothing else would need to be changed.
> > > What is objectionable in that approach?
> > 
> > Well, it is a lot of new virtual functions - one per type, 
> > almost doubling 
> > the size of the archive interface. Is it worth it?

> No  need for extra virtual functions. Using metaprogramming machinery you
> could easily construct classes that either have 

> virtual void foo( int ) = 0;

> or

> void foo( int ) {...}

> Depends on template parameter.

> Gennadiy.

Could you please expand upon this?  If serialization of fundamental type is invoked
through a base class member virtual functions are suggesting that this
base class be built differently on a regular basis?  Wouldn't this preclude
leaving serialization code in a precompiled library?  Even if generated automatically
it would still be a lot of virtual functions and double the size of the iterface.

What am I missing here?

Robert Ramey
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to