3
我有一个地图,其中的值是一个弱指针。这工作: 虽然我可以这样写:升压范围weak_ptr
for_each(IFoo::foo_wptr obj, objects | range::map_values) {
IFoo::foo_ptr myObj = obj.lock();
if(myObj) myObj->notify();
}
我宁愿有转变为锁定共享指针新的范围。类似这样的:
for_each(IFoo::foo_ptr obj, objects | range::map_values | range::locked) {
if(obj) obj->notify();
}
但是,我一直无法弄清楚那个转换应该是什么样的;或者如果它甚至应该是一个转换。
有没有人有想法?我相信这种模式可能相当普遍。
你尝试按照手册:http://www.boost.org/doc/libs/1_53_0/libs/range/doc/ html/range/reference/extends/method_3.html?那里描述的方法没有工作吗? –