map :: lower_bound返回一个地图

时间:2010-05-16 13:35:38

标签: c++ stl

是否有一个函数与map::lower_bound做同样的事情,除了它返回一个新的子映射而不是迭代器?

编辑:该函数应返回一个子地图,其中包含键等于或大于的所有值,而不是某个值(给定作为函数的输入。)

1 个答案:

答案 0 :(得分:6)

这样的东西?

// Beware, brain-compiled code ahead!
template< typename K, typename V >
std::map<K,V> equal_or_greater(const std::map<K,V>& original, const K& k)
{
   return std::map<K,V>( original.lower_bound(k), original.end() );
}

编辑: 您似乎确实需要upper_bound()而不是lower_bound()