C++ в равной степени Мультикарты ничего не найдено


Как я могу знать, что equal_range не нашел никаких совпадений?

Как:

multimap<string,string> mapdic;
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> ret;
// insert some string pairs


ret=mapdic.equal_range(thisUpperCaseName);


    if (???)//how to test equal_range find nothing?
    {       
}else{

     }

Кто-нибудь может помочь?

Спасибо

2 6

2 ответа:

:)

Скажите, что ваш equal_range возвращает результат типа pair

Если ваш result.first == result.second, то это означает, что нет ничего.

Если есть хотя бы один элемент, то result.first != result.second

if(ret.first == ret.second)
{
 // empty range
}
else
{
  //at least an element.
}

По существу то же самое, что и ответ Аджита :) ret.first == mapdic.end()