summaryrefslogtreecommitdiffstats
path: root/source/core/slang-uint-set.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-11-20 17:24:35 -0500
committerGitHub <noreply@github.com>2020-11-20 17:24:35 -0500
commitc0fab438a565cb2134679af8830d11644668d6a2 (patch)
tree3eeccfd634c2853467f42abe51a0d7008dbb93a2 /source/core/slang-uint-set.cpp
parentee5842a01cdb2bd6cd4acee7214666f180b95d84 (diff)
Bug fixes: Memory leak/off by one on UIntSet (#1616)
* #include an absolute path didn't work - because paths were taken to always be relative. * Fix memory leak on ScopedAllocation. Fix off by one bug on UIntSet
Diffstat (limited to 'source/core/slang-uint-set.cpp')
-rw-r--r--source/core/slang-uint-set.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/core/slang-uint-set.cpp b/source/core/slang-uint-set.cpp
index 3ac1c530a..02e142706 100644
--- a/source/core/slang-uint-set.cpp
+++ b/source/core/slang-uint-set.cpp
@@ -64,6 +64,21 @@ void UIntSet::clear()
::memset(m_buffer.getBuffer(), 0, m_buffer.getCount() * sizeof(Element));
}
+bool UIntSet::isEmpty() const
+{
+ const Element*const src = m_buffer.getBuffer();
+ const Index count = m_buffer.getCount();
+
+ for (Index i = 0; i < count; ++i)
+ {
+ if (src[i])
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
void UIntSet::clearAndDeallocate()
{
m_buffer.clearAndDeallocate();