diff --git a/deps/ox/src/ox/std/hashmap.hpp b/deps/ox/src/ox/std/hashmap.hpp index 48d0db8f..514a4338 100644 --- a/deps/ox/src/ox/std/hashmap.hpp +++ b/deps/ox/src/ox/std/hashmap.hpp @@ -25,30 +25,30 @@ class HashMap { Vector m_pairs; public: - explicit HashMap(std::size_t size = 100) noexcept; + explicit HashMap(std::size_t size = 100); - HashMap(HashMap &other) noexcept; + HashMap(HashMap &other); - ~HashMap() noexcept; + ~HashMap(); - HashMap &operator=(HashMap &other) noexcept; + HashMap &operator=(HashMap &other); /** * K is assumed to be a null terminated string. */ - T &operator[](K key) noexcept; + T &operator[](K key); /** * K is assumed to be a null terminated string. */ - T &at(K key) noexcept; + T &at(K key); - bool contains(K key) noexcept; + bool contains(K key); std::size_t size() const noexcept; private: - void expand() noexcept; + void expand(); /** * K is assumed to be a null terminated string. @@ -58,28 +58,28 @@ class HashMap { /** * K is assumed to be a null terminated string. */ - Pair *&access(Vector &pairs, K key) noexcept; + Pair *&access(Vector &pairs, K key); }; template -HashMap::HashMap(std::size_t size) noexcept: m_pairs(size) { +HashMap::HashMap(std::size_t size): m_pairs(size) { } template -HashMap::HashMap(HashMap &other) noexcept { +HashMap::HashMap(HashMap &other) { m_pairs = other.m_pairs; } template -HashMap::~HashMap() noexcept { +HashMap::~HashMap() { for (std::size_t i = 0; i < m_pairs.size(); i++) { delete m_pairs[i]; } } template -HashMap &HashMap::operator=(HashMap &other) noexcept { +HashMap &HashMap::operator=(HashMap &other) { this->~HashMap(); m_keys = other.m_keys; m_pairs = other.m_pairs; @@ -87,7 +87,7 @@ HashMap &HashMap::operator=(HashMap &other) noexcept { } template -T &HashMap::operator[](K k) noexcept { +T &HashMap::operator[](K k) { auto &p = access(m_pairs, k); if (p == nullptr) { if (m_pairs.size() * 0.7 < m_keys.size()) { @@ -101,12 +101,12 @@ T &HashMap::operator[](K k) noexcept { } template -T &HashMap::at(K k) noexcept { +T &HashMap::at(K k) { return operator[](k); } template -bool HashMap::contains(K k) noexcept { +bool HashMap::contains(K k) { return access(m_pairs, k) != nullptr; } @@ -116,7 +116,7 @@ std::size_t HashMap::size() const noexcept { } template -void HashMap::expand() noexcept { +void HashMap::expand() { Vector r; for (std::size_t i = 0; i < m_keys.size(); i++) { auto k = m_keys[i]; @@ -135,7 +135,7 @@ std::uint64_t HashMap::hash(K k, int len) noexcept { } template -typename HashMap::Pair *&HashMap::access(Vector &pairs, K k) noexcept { +typename HashMap::Pair *&HashMap::access(Vector &pairs, K k) { auto h = hash(k) % pairs.size(); auto hashStr = reinterpret_cast(&h); while (1) {