summaryrefslogtreecommitdiff
path: root/libartbase/base/bit_vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'libartbase/base/bit_vector.h')
-rw-r--r--libartbase/base/bit_vector.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libartbase/base/bit_vector.h b/libartbase/base/bit_vector.h
index 56a8f0f612..369f9171a2 100644
--- a/libartbase/base/bit_vector.h
+++ b/libartbase/base/bit_vector.h
@@ -112,6 +112,13 @@ class BitVectorView {
return std::any_of(storage_, storage_ + SizeInWords(), [](WordType w) { return w != 0u; });
}
+ // Union with another bit vector view of the same size.
+ bool Union(BitVectorView<const StorageType> union_with);
+
+ // Union with the bits in `union_with` but not in `not_in`. All views must have the same size.
+ bool UnionIfNotIn(BitVectorView<const StorageType> union_with,
+ BitVectorView<const StorageType> not_in);
+
// `BitVectorView` wrapper class for iteration across indexes of set bits.
class IndexContainerImpl;
using IndexContainer = BitVectorView<const StorageType>::IndexContainerImpl;