Boost logo

Boost :

Subject: [boost] [interprocess] new problem with move-aware containers
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2009-10-20 10:31:50


Hi Ion,

I'm using the boost::interprocess::multiset from trunk with vc9. After
updating, some of my code stopped working. I use a set like

   multiset<const Node*,SomePredicate>

and when calling

   set.insert( &obj )

I get compile errors. Specifically in

   interprocess\detail\move.hpp(79)

I don't understand the details of these move-emulation tricks, but
the compiler complains that T=U* for some U is not a legal base class.

AFAICT, the compiler is right:

template <class T>
class rv : public T
{
    rv();
    ~rv();
    rv(rv const&);
    void operator=(rv const&);
};

-Thorsten


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