Boost logo

Boost :

From: Nicola Musatti (Nicola.Musatti_at_[hidden])
Date: 2006-05-10 05:01:06

I think I found the problem, but I'm not sure on how to code a
workaround. Apparently BCB2006 introduced a bug which causes writes to a
  BOOST_STRONG_TYPEDEF to fail, just as if a temporary was updated. This
is affecting specifically the reading of archive versions.

The code below is an example of an effective workaround:

     version_type input_library_version;
__BORLANDC__ >= 0x580
     unsigned int v;
     * this->This() >> v;
     input_library_version.t = v;
     * this->This() >> input_library_version;

Probably it would be sufficient to just pass input_library_version.t to
operator>> .

The real problem I have with this workaround is that it would be much
better to factor it into BOOST_STRONG_TYPEDEF's definition, but I'm not
sure about what is exactly causing the problem and I'm not very
confident about my ability to add conditions to a macro definition.

Nicola Musatti

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