Date: Tue, 26 Nov 2002 04:52:15 -0500
From: "Gennadiy Rozental" <[EMAIL PROTECTED]>

>> Some more elaborate registration system might be interesting and/or
>> useful, and presumably some unique id could be passed to the
>> serialization package,  but beyond that it doesn't have to be used
>> by the serialization system in any way.

>The point is not to make "more eleborate" restration system. The point is to
>separate it so that serilization will rely on some public interface only and
>should not need to know implementation details.

>>
>> Nothing more is needed by the system so I don't see any benefit in adding
>> in any more machinery of any kind.

>The benefit is more flexible design, where you could switch to different
>registration system without changing single byte in serialization library
>code.

the system to relate a type T to an integer encoded inside an archive and vice-versa
is completely internal to the serialization system.  Once it works, there
can be no motivation to change it.  If there is a better system, then it
should be rolled into the library.  I can see no reason why one would
want to be able to switch between strictly internal implementations.

The void_cast is something else and really separate from serialization - 
though serialization depends upon it. In this case, "registration" refers
to saving information about class inheritance.  This is totally disjoint
from serialization.  It is really implementation of a small part of 
reflection.  If relection is implemented as a nice package, then
void_cast would end up as part of that.  It has nothing to do with
the difference of opinion between "forward_declaration" and "global_registration"

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

Reply via email to