Самое близкое, что вы можете получить, это вернуть итератор.Проблема в том, что вам действительно нужны два итератора для определения диапазона.Одним из способов обойти это является использование итератора вывода:
template<class output_iterator_type>
void getPropertyURIs(output_iterator_type out) {
// loop copied from @dalle
for (props_t::const_iterator i = keys.begin(); i != keys.end(); ++i)
{
*out = i->first;
++out;
}
}
Если вы хотите сохранить все ключи в vector
, вы можете сделать это следующим образом:
std::vector<std::string> keys;
getPropertyURIs(std::back_inserter(keys));