--- include/frozen/unordered_set.h 2024-01-22 10:42:57.125966099 +0000 +++ include/frozen/unordered_set.h 2024-01-22 10:46:07.701159961 +0000 @@ -74,13 +74,19 @@ public: /* constructors */ unordered_set(unordered_set const &) = default; - constexpr unordered_set(container_type keys, Hash const &hash, + constexpr unordered_set(container_type&& keys, Hash const &hash, + KeyEqual const &equal) + : equal_{equal} + , keys_{std::move(keys)} + , tables_{bits::make_pmh_tables( + keys_, hash, bits::Get{}, default_prg_t{})} {} + constexpr unordered_set(const container_type& keys, Hash const &hash, KeyEqual const &equal) : equal_{equal} , keys_{keys} , tables_{bits::make_pmh_tables( keys_, hash, bits::Get{}, default_prg_t{})} {} - explicit constexpr unordered_set(container_type keys) + explicit constexpr unordered_set(const container_type& keys) : unordered_set{keys, Hash{}, KeyEqual{}} {} constexpr unordered_set(std::initializer_list keys)