3
比方說,我想編寫一個簡單的函數keys
,其中包含一個std::map
並返回一個提供映射關鍵字的iterator_range
。我會怎麼做?返回變換迭代器範圍的最佳方法
template<typename A, typename B>
Range<A> keys(const std::map<A, B> & m) { ??? }
我想將相同的模式應用於各種其他容器,但我認爲這是一個很好的原型示例。
編輯:我猜我需要的東西在Boost的range_adapter
S和/或transform_iterator
S的境界,但我還沒有與他們熟悉這裏應用它們。
你說的是[升壓轉換器的'iterator_range'(HTTP: //www.boost.org/doc/libs/1_55_0/libs/range/doc/html/range/reference/utilities/iterator_range.htm L)? – dyp
是的,但我並不重視它。 –
....類似於['boost :: adapters :: keys'](http://www.boost.org/doc/libs/1_55_0/libs/range/doc/html/range/reference/adaptors/) reference/map_keys.html)函數? – dyp