Boost logo

Boost Users :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2006-01-31 03:47:59


Hello Tob,

Toby Smith ha escrito:

> Hi,
>
> I'm having a problem serializing a multi-index container. Serialization
> used to work fine, until I added a second (non-unique) key to the
> container. I've managed to distill the problem down to a small bit of
> code, so here it is. Uncomment the #define to see the segfault at
> serialization time in action, leave it commented and the example code
> works fine. I'm clearly missing something subtle (or not-so-subtle) here,
> but I don't have the first clue what it might be.

You're not missing anything, rather you have found a bug in Boost.MultiIndex.
Could you please replace line 80 in
boost/multi_index/detail/duplicates_iterator.hpp

    if(pred(begin_chunk->value,node->value))advance();

with the following:

    if(node!=end&&pred(begin_chunk->value(),node->value()))advance();

and check out if this is fixing the problem in your original code? (The snippet
you sent I have already checked out.) I'll be commiting this change to the
CVS shortly, thank you very much for spotting the problem and reporting
about it.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net