if (seen.find(lower) == std::end(seen)) {
seen.insert(lower);
return false;
}
You can just return
seen.insert(lower).second
as insert function return a pair<iterator, bool>
You can just return
seen.insert(lower).second
as insert function return a pair<iterator, bool>