Ok, now it's clear. But is it so difficult to do the way some other Boost Libs do or STL implementations. If _DEBUG is defined the safe mode with assertions is turned on...

Or are there some other disadvantages (like extremely slow compilation speed)?


With Kind Regards,


On 11/20/07, "JOAQUIN LOPEZ MU?Z" <joaquin@tid.es> wrote:


----- Mensaje original -----
De: Ovanes Markarian < om_boost@keywallet.com>
Fecha: Martes, Noviembre 20, 2007 7:43 pm
Asunto: Re: [Boost-users] [multi-index] dereferencing the end iterator
Para: boost-users@lists.boost.org

> Joaquin,
>
> but you could use an assert in the debug version? That would be of
> great help.
>
> I did not call modify(view.end(), ...). But my iterator was
> invalid, which I wrongly initialized before. The call is just a
> further test to find out why I got the wrong object instance in
> the modifier.
>
> In this case to produce an assertion failure is probably of great
> help to the developer.

It is not possible AFAICS to determine whether an iterator is invalid
without providing the iterator type with some additional bookkeeping
info, which is precisely what the safe mode does. Without this extra
info I don't have anything to assert about...

I think the docs should stress more the advantages of setting the
safe mode on. If you haven't done it yet I encourage you to do it.

Best,

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users