Boost logo

Boost :

From: Sohail Somani (sohail_at_[hidden])
Date: 2008-03-23 13:08:21

On Sun, 23 Mar 2008 09:37:42 -0800, Robert Ramey wrote:

>>> From a quick inspection, it appears that the cast between base and
>>> derived never gets registered.
>> I'm actually unsure as to how the void cast can get registered *before*
>> BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base) gets executed and therefore,
>> I'm not sure how these tests are passing anywhere else.
> LOL - this is a key trick used by the library - very convenient and a
> common source of consternation. refers to a static object. With some
> care, such objects can be created at "pre-main" time so that they are
> available BEFORE they are referred to in the code. That is the
> mechanism which makes the tests pass everywhere else. This mechanism is
> compiler dependent though so sometimes (like here) we have some
> problems.
> Note that this is a key implementation technique which makes the
> serialization 'automatically" instantiate required code- and only the
> required code.

This was my understanding of the library but I could not determine what
code is *not* being instantiated/referenced. Could you point me towards
what code is expected to be instantiated? Then I can do some debugging.

No LOLing! This is serious business :-)

Sohail Somani

Boost list run by bdawes at, gregod at, cpdaniel at, john at