summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-03-14 18:53:37 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-03-14 18:53:37 +0100
commit4630cb5237aea7749ac9938c738146c798e305cb (patch)
tree38ba9e41c3bf8408df97b7548ef112e2af61cd13
parentdce2c187ec96aedcfa703ffec9c4c91f0a49ca69 (diff)
Add missing is_empty methods
-rw-r--r--asl/containers/buffer.hpp2
-rw-r--r--asl/containers/hash_map.hpp2
-rw-r--r--asl/containers/hash_set.hpp2
-rw-r--r--asl/strings/string.hpp3
4 files changed, 9 insertions, 0 deletions
diff --git a/asl/containers/buffer.hpp b/asl/containers/buffer.hpp
index 0cad78f..bb32f89 100644
--- a/asl/containers/buffer.hpp
+++ b/asl/containers/buffer.hpp
@@ -273,6 +273,8 @@ public:
return decode_size(load_size_encoded());
}
+ [[nodiscard]] constexpr bool is_empty() const { return size() == 0; }
+
[[nodiscard]] constexpr isize_t capacity() const
{
if constexpr (kInlineCapacity == 0)
diff --git a/asl/containers/hash_map.hpp b/asl/containers/hash_map.hpp
index cf2f0b2..8c201a9 100644
--- a/asl/containers/hash_map.hpp
+++ b/asl/containers/hash_map.hpp
@@ -96,6 +96,8 @@ public:
using Base::size;
+ using Base::is_empty;
+
using Base::remove;
using Base::contains;
diff --git a/asl/containers/hash_set.hpp b/asl/containers/hash_set.hpp
index 5422d5e..6e6f851 100644
--- a/asl/containers/hash_set.hpp
+++ b/asl/containers/hash_set.hpp
@@ -386,6 +386,8 @@ public:
[[nodiscard]] constexpr isize_t size() const { return m_size; }
+ [[nodiscard]] constexpr bool is_empty() const { return m_size == 0; }
+
template<typename... Args>
void insert(Args&&... args)
requires constructible_from<T, Args&&...>
diff --git a/asl/strings/string.hpp b/asl/strings/string.hpp
index 7254762..c95e151 100644
--- a/asl/strings/string.hpp
+++ b/asl/strings/string.hpp
@@ -45,6 +45,9 @@ public:
constexpr string& operator=(string&&) = default;
[[nodiscard]] constexpr isize_t size() const { return m_buffer.size(); }
+
+ [[nodiscard]] constexpr bool is_empty() const { return m_buffer.is_empty(); }
+
[[nodiscard]] constexpr const char* data() const { return m_buffer.data(); }
// NOLINTNEXTLINE(*explicit*)