From fcf9c6adcb4de8a983d24a4d60cea0e5daa90a03 Mon Sep 17 00:00:00 2001 From: Medusa Slockbower Date: Sun, 17 Aug 2025 11:55:53 -0400 Subject: [PATCH] - Fixed naming issue from copying set as multiset.h --- include/fennec/containers/multiset.h | 98 ++++++++++++++-------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/include/fennec/containers/multiset.h b/include/fennec/containers/multiset.h index 7d65b96..f579740 100644 --- a/include/fennec/containers/multiset.h +++ b/include/fennec/containers/multiset.h @@ -22,7 +22,7 @@ // https://programming.guide/robin-hood-hashing.html #include -#include +#include #include #include #include @@ -33,9 +33,9 @@ namespace fennec /// /// -/// \brief wrapper for sets of elements +/// \brief wrapper for multisets of elements /// \details -/// This data-structure behaves like a set, but does not use pointers, instead storing the table in-array +/// This data-structure behaves like a multiset, but does not use pointers, instead storing the table in-array /// /// | Property | Value | /// |:----------|:----------:| @@ -47,7 +47,7 @@ namespace fennec /// /// \tparam TypeT The type to contain template, class Equals = equality, class Alloc = allocator> -struct set { +struct multiset { // Definitions ========================================================================================================= public: @@ -74,8 +74,8 @@ private: public: /// - /// \brief Default Constructor, initializes empty set - constexpr set() + /// \brief Default Constructor, initializes empty multiset + constexpr multiset() : _alloc() , _hash() , _size(0) @@ -84,8 +84,8 @@ public: }; /// - /// \brief Hash Copy Constructor, initializes empty set with a hash - constexpr set(const hash_t& hash) + /// \brief Hash Copy Constructor, initializes empty multiset with a hash + constexpr multiset(const hash_t& hash) : _alloc() , _hash(hash) , _size(0) @@ -94,8 +94,8 @@ public: } /// - /// \brief Hash Move Constructor, initializes empty set with a hash - constexpr set(hash_t&& hash) noexcept + /// \brief Hash Move Constructor, initializes empty multiset with a hash + constexpr multiset(hash_t&& hash) noexcept : _alloc() , _hash(hash) , _size(0) @@ -104,8 +104,8 @@ public: } /// - /// \brief Alloc Copy Constructor, initializes empty set with an allocator - constexpr set(const alloc_t& alloc) + /// \brief Alloc Copy Constructor, initializes empty multiset with an allocator + constexpr multiset(const alloc_t& alloc) : _alloc(alloc) , _hash() , _size(0) @@ -114,8 +114,8 @@ public: } /// - /// \brief Alloc Move Constructor, initializes empty set with an allocator - constexpr set(alloc_t&& alloc) noexcept + /// \brief Alloc Move Constructor, initializes empty multiset with an allocator + constexpr multiset(alloc_t&& alloc) noexcept : _alloc(alloc) , _hash() , _size(0) @@ -124,8 +124,8 @@ public: } /// - /// \brief Hash Alloc Copy Constructor, initializes empty set with a hash and allocator - constexpr set(const hash_t& hash, const alloc_t& alloc) + /// \brief Hash Alloc Copy Constructor, initializes empty multiset with a hash and allocator + constexpr multiset(const hash_t& hash, const alloc_t& alloc) : _alloc(alloc) , _hash(hash) , _size(0) @@ -134,8 +134,8 @@ public: } /// - /// \brief Hash Copy Alloc Move Constructor, initializes empty set with a hash and allocator - constexpr set(const hash_t& hash, alloc_t&& alloc) noexcept + /// \brief Hash Copy Alloc Move Constructor, initializes empty multiset with a hash and allocator + constexpr multiset(const hash_t& hash, alloc_t&& alloc) noexcept : _alloc(alloc) , _hash(hash) , _size(0) @@ -144,8 +144,8 @@ public: } /// - /// \brief Hash Move Alloc Move Constructor, initializes empty set with a hash and allocator - constexpr set(hash_t&& hash, alloc_t&& alloc) noexcept + /// \brief Hash Move Alloc Move Constructor, initializes empty multiset with a hash and allocator + constexpr multiset(hash_t&& hash, alloc_t&& alloc) noexcept : _alloc(alloc) , _hash(hash) , _size(0) @@ -154,8 +154,8 @@ public: } /// - /// \brief Hash Move Alloc Copy Constructor, initializes empty set with a hash and allocator - constexpr set(hash_t&& hash, const alloc_t& alloc) noexcept + /// \brief Hash Move Alloc Copy Constructor, initializes empty multiset with a hash and allocator + constexpr multiset(hash_t&& hash, const alloc_t& alloc) noexcept : _alloc(alloc) , _hash(hash) , _size(0) @@ -165,29 +165,29 @@ public: /// /// \brief Set Copy Constructor - /// \param set Set to copy - constexpr set(const set& set) - : _alloc(set._alloc) - , _hash(set._hash) - , _size(set._size) - , _sumpsl(set._sumpsl) - , _load(set._load) { + /// \param multiset Set to copy + constexpr multiset(const multiset& multiset) + : _alloc( multiset._alloc) + , _hash( multiset._hash) + , _size( multiset._size) + , _sumpsl( multiset._sumpsl) + , _load( multiset._load) { } /// /// \brief Set Move Constructor - /// \param set Set to move - constexpr set(set&& set) noexcept - : _alloc(fennec::move(set._alloc)) - , _hash(fennec::move(set._hash)) - , _size(fennec::move(set._size)) - , _sumpsl(set._sumpsl) - , _load(set._load) { + /// \param multiset Set to move + constexpr multiset(multiset&& multiset) noexcept + : _alloc(fennec::move( multiset._alloc)) + , _hash(fennec::move( multiset._hash)) + , _size(fennec::move( multiset._size)) + , _sumpsl( multiset._sumpsl) + , _load( multiset._load) { } /// /// \brief Destructor, destructs all elements and releases the allocation - constexpr ~set() { + constexpr ~multiset() { for (size_t i = 0; i < capacity(); ++i) { _alloc[i].value = nullopt; } @@ -197,13 +197,13 @@ public: // Properties ========================================================================================================== /// - /// \returns Size of the set in elements + /// \returns Size of the multiset in elements constexpr size_t size() const { return _size; } /// - /// \returns Capacity of the set in elements + /// \returns Capacity of the multiset in elements constexpr size_t capacity() const { return _alloc.capacity(); } @@ -264,7 +264,7 @@ public: } /// - /// \brief Check if a set contains a value + /// \brief Check if a multiset contains a value /// \param val Value to check /// \returns `true` if `val` can be found, `false` otherwise constexpr bool contains(const elem_t& val) const { @@ -398,12 +398,12 @@ public: } private: - const set* _set; + const multiset* _set; size_t _i; - friend set; + friend multiset; - constexpr iterator(const set* set, size_t i) - : _set(set) + constexpr iterator(const multiset* multiset, size_t i) + : _set(multiset) , _i(i) { } }; @@ -449,14 +449,14 @@ public: } private: - const set* _set; + const multiset* _set; size_t _i; int _psl; elem_t _value; - friend set; + friend multiset; - constexpr value_iterator(const set* set, size_t i, int psl, const elem_t& value) - : _set(set) + constexpr value_iterator(const multiset* multiset, size_t i, int psl, const elem_t& value) + : _set(multiset) , _i(i) , _value(value) { } @@ -479,7 +479,7 @@ public: private: constexpr void _expand() { - set cpy; // Create a new set + multiset cpy; // Create a new multiset cpy._alloc.callocate( fennec::next_prime2(_alloc.capacity()) );