假设我想编写一个简单的函数keys
,它接受 astd::map
并返回iterator_range
提供地图键的 an。我该怎么做?
template<typename A, typename B>
Range<A> keys(const std::map<A, B> & m) { ??? }
我想将相同的模式应用于各种其他容器,但我认为这是一个很好的原型示例。
编辑:我猜我需要 Boostrange_adapter
和/或transform_iterator
s 领域的东西,但我对它们不够熟悉,无法在这里应用它们。