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?那裏描述的方法沒有工作嗎? –