Нужен простой способ инициализировать один контейнер с помощью другого без лишних слов:
std::vector<int> v{1,2,3,4,5,5,6,6,6};
auto s = std::unordered_set{v};
Классический вариант:
std::vector<int> v{1,2,3,4,5,5,6,6,6};
std::unordered_set<int> s{v.begin(), v.end()};
В C++23 появился способ с указанием std::from_range:
std::vector<int> v{1,2,3,4,5,5,6,6,6};
auto s = std::unordered_set{std::from_range, v};