$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] dynamic_cast with WeakPtr?
From: Sören Freudiger (muffmolch_at_[hidden])
Date: 2008-11-24 15:02:45
Hi @all
Maybe you can help me. I tried to use weak_ptr for breaking circular
references, but I found out that this pointers can't handle derived classes.
But in my classes I have some neighbor relations that I want to tore with
shared_ptr:
class Base
{
public:
boost::shared_ptr<Base> neigh;
};
class Derived : public Base
{
};
int main()
{
{
boost::shared_ptr<Base> a(new Base);
boost::shared_ptr<Derived> d(new Derived)
a.neigh = d;
d.neigh = a;
}
//both objects are in memory because of circular references, but weak
pointer doesn't work,
//becaus eit seems to be unable handling derived classes... and there's
no dynamic cast
}
How do you solve problems like that with boost pointers avoiding circular
references?
Best reagrds,
SirAnn