【发布时间】:2014-02-16 21:11:02
【问题描述】:
假设我想编写一个简单的函数keys,它接受std::map 并返回一个提供地图键的iterator_range。我该怎么做?
template<typename A, typename B>
Range<A> keys(const std::map<A, B> & m) { ??? }
我想将相同的模式应用于其他各种容器,但我认为这是一个很好的原型示例。
编辑:我猜我需要 Boost 的 range_adapters 和/或 transform_iterators 领域的东西,但我对它们不够熟悉,无法在这里应用它们。
【问题讨论】:
-
你说的是boost's
iterator_range吗? -
是的,但我不喜欢它。
-
....类似于
boost::adaptors::keys函数? -
@dyp:生活中最美好的事情已经完成。 ;) 谢谢。我将不得不查看实现,看看这是否有助于我在其他地方重复这种模式。
-
@3noch - 你找到解决方案了吗?如果是,请回答您自己的问题,以便社区学习
标签: c++ map iterator iterator-range