const Entry *i = qBinaryFind(entries, end, family);
if (i == end)
return "";
return i->givenName;
}
Функция givenName возвращает имя человека с данной фамилией. Например, если мы передаем в качестве аргумента "Torvalds", мы получаем "Linus"; если мы передаем "Deitel", функция возвращает "Harvey" или "Paul".
QStringList givenNames(const QString &family)
{
const Entry *i = qLowerBound(entries, end, family);
const Entry *j = qUpperBound(entries, end, family);
QStringList result;
while (i != j)
result += (i++)->givenName + (" " + family);
return result;
}
Функция givenNames возвращает список людей, принадлежащих определенной семье. Здесь показано использование qLowerBound и qUpperBound.