Boost logo

Boost :

From: Joaquin M Lopez Munoz (joaquin_at_[hidden])
Date: 2004-12-20 02:30:40


Robert Ramey <ramey <at> rrsd.com> writes:

>
> This is an issue regading two-phase lookup which was implemented for the
> first time in gcc 3.4+
>
> Its discussed in the serialization documentation under "Namespaces for free
> function overrides"
>
> Robert Ramey
>

Robert, regarding this issue, I've taken a look at your
collections_load_imp.hpp file, and line 71 caught my eye:

template<class Archive, class T>
struct stack_construct : public stack_allocate<T>
{
    stack_construct(Archive & ar){
        // note borland emits a no-op without the explicit namespace
        boost::serialization::load_construct_data(ar, this->address(), 0U);
    }
    ~stack_construct(){
        this->address()->~T(); // undo load_construct_data above
    }
};

Shouldn't you be using load_construct_data_adl?
Same thing in collections_save_imp.hpp

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk