|
Boost Users : |
Subject: [Boost-users] Boost Interprocess Question
From: Brian (piptdog_at_[hidden])
Date: 2011-10-06 20:15:05
Hello
For simplicity, say I have this:
class Animal
{
int id;
};
class Dog : public Animal
{
int tag;
};
class Cat : public Animal
{
int lives;
};
offset_ptr<Dog> a = segment.construct<Dog>(anonymous_instance)();
offset_ptr<Animal> b;
b = a;
Also assume I have a correctly setup managed_shared_memory called segment.
Is there anyway I can delete the constructed object using b? I tried segment.destroy_ptr(b.get()) and segment.deallocate(b.get()) but I get assertion failures. Obviously segment.destroy_ptr(a.get()) would work but I'd like to be able to do it with a pointer to the parent class. Also casting won't work because I won't know if it's a dog or a cat when I delete it.
Thanks for any suggestions!
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