CHashSet
CHashSet() noexcept(std::is_nothrow_default_constructible_v<HashSet>);
explicit CHashSet(size_type n, const hasher& hash = cContainerDefault<hasher>(), const key_equal& equal = cContainerDefault<key_equal>(), const allocator_type& a = cContainerDefault<allocator_type>());
explicit CHashSet(const allocator_type& a);
CHashSet(size_type n, const allocator_type& a);
CHashSet(size_type n, const hasher& hash, const allocator_type& a);
template<CInputIterator I> CHashSet(I first, I last, size_type n = 0, const hasher& hash = cContainerDefault<hasher>(), const key_equal& equal = cContainerDefault<key_equal>(), const allocator_type& a = cContainerDefault<allocator_type>());
template<CInputIterator I> CHashSet(I first, I last, size_type n, const allocator_type& a);
template<CInputIterator I> CHashSet(I first, I last, size_type n, const hasher& hash, const allocator_type& a);
template<CContainerRange<value_type> R> CHashSet(std::from_range_t, R&& range, size_type n = 0, const hasher& hash = cContainerDefault<hasher>(), const key_equal& equal = cContainerDefault<key_equal>(), const allocator_type& a = cContainerDefault<allocator_type>());
template<CContainerRange<value_type> R> CHashSet(std::from_range_t, R&& range, size_type n, const allocator_type& a);
template<CContainerRange<value_type> R> CHashSet(std::from_range_t, R&& range, size_type n, const hasher& hash, const allocator_type& a);
CHashSet(std::initializer_list<value_type> values, size_type n = 0, const hasher& hash = cContainerDefault<hasher>(), const key_equal& equal = cContainerDefault<key_equal>(), const allocator_type& a = cContainerDefault<allocator_type>());
CHashSet(std::initializer_list<value_type> values, size_type n, const allocator_type& a);
CHashSet(std::initializer_list<value_type> values, size_type n, const hasher& hash, const allocator_type& a);
CHashSet(const CHashSet& other);
CHashSet(CHashSet&& other) noexcept(std::is_nothrow_move_constructible_v<HashSet>);
CHashSet(const CHashSet& other, const allocator_type& a);
CHashSet(CHashSet&& other, const allocator_type& a);
CHashSet(const HashSet& other);
CHashSet(HashSet&& other) noexcept(std::is_nothrow_move_constructible_v<HashSet>);
CHashSet(const HashSet& other, const allocator_type& a);
CHashSet(HashSet&& other, const allocator_type& a);
CHashSet(CBuffer& b);
Creates an empty container or copies entries from a range, initializer list, or compatible container. Equivalent keys are stored once. The CBuffer overload restores the corresponding typed container format. Copy constructors preserve the hash function, equality predicate, and maximum load factor. Without an explicit allocator, copying uses select_on_container_copy_construction; allocator-taking copies use the supplied allocator. A failed copy releases partially constructed elements and leaves the source unchanged.