[property map] copying dynamic_properties
Dear all, I have boost 1.33.0. It looks to me like boost::dynamic_properties (in dynamic_property_map.hpp) does not have a supplied copy-constructor, and so it has a default copy-constructor. However, since dynamic_properties allocates dynamic_property_map objects on the heap, and holds them by pointer, this is not sufficient. This is causing a segfault in the code pasted below. Either dynamic_properties should be given a copy constructor and assignment operator (which seems useful to me) or it should be noncopyable. Or perhaps it could use shared_ptrs instead of regular pointers to avoid this problem? Thanks, Gavin. #include <boost/dynamic_property_map.hpp> int main() { std::map<long,long> my_map; boost::associative_property_map<std::map<long,long> > apm(my_map); boost::dynamic_properties dp; dp.property("property",apm); boost::dynamic_properties dp2(dp); // crash occurs when dp is destructed. return 0; } ___________________________________________________________ Tiscali Broadband only 9.99 a month for your first 3 months! http://www.tiscali.co.uk/products/broadband/
participants (1)
-
gavinband@tiscali.co.uk