У меня есть std :: набор std :: пар, а вторая пара - строка. Я хочу проверить, существует ли пара в наборе.
std::set< std::pair<size_t, std::string> > set_;
bool exists(size_t x, const std::string& s)
{
std::set< std::pair<size_t, std::string> >::iterator i = set_.find(std::make_pair(x, s)); // copy of s is constructed by make_pair!
return i != set_.end();
}
Я вызываю эту функцию часто (да, очень часто), поэтому я хочу выполнить эту проверку, не делая временную копию строки. Есть ли способ сделать это, который так же прост и лаконичен, как у меня здесь, но который не делает временную копию строки? Было бы неплохо любое решение с контейнерами STL или Boost.