52 maskMap.insert({tableID, std::move(mask)});
57 for (
auto& [tableID, mask] : maskMap) {
58 result.emplace(tableID, mask.get());
66 return maskMap.at(tableID).get();
70 if (maskMap.contains(tableID)) {
71 pinnedMask = maskMap.at(tableID).get();
81 return pinnedMask->isMasked(offset);
#define KUZU_API
Definition api.h:25
#define KU_ASSERT(condition)
Definition assert.h:19
bool enabled() const
Definition mask.h:46
void enable()
Definition mask.h:45
bool hasPinnedMask() const
Definition mask.h:76
void addMask(table_id_t tableID, std::unique_ptr< SemiMask > mask)
Definition mask.h:50
NodeOffsetMaskMap()
Definition mask.h:43
table_id_map_t< SemiMask * > getMasks() const
Definition mask.h:55
offset_t getNumMaskedNode() const
bool containsTableID(table_id_t tableID) const
Definition mask.h:63
SemiMask * getPinnedMask() const
Definition mask.h:77
bool valid(offset_t offset) const
Definition mask.h:79
void pin(table_id_t tableID)
Definition mask.h:69
bool valid(nodeID_t nodeID) const
Definition mask.h:83
SemiMask * getOffsetMask(table_id_t tableID) const
Definition mask.h:64
void enable()
Definition mask.h:30
virtual offset_vec_t collectMaskedNodes(uint64_t size) const =0
virtual void mask(offset_t nodeOffset)=0
virtual bool isMasked(offset_t startNodeOffset)=0
virtual offset_vec_t range(uint32_t start, uint32_t end)=0
bool isEnabled() const
Definition mask.h:29
virtual ~SemiMask()=default
offset_t getMaxOffset() const
Definition mask.h:27
virtual uint64_t getNumMaskedNodes() const =0
virtual void maskRange(offset_t startNodeOffset, offset_t endNodeOffset)=0
SemiMask(offset_t maxOffset)
Definition mask.h:11
Definition array_utils.h:7
std::unordered_map< table_id_t, T > table_id_map_t
Definition types.h:76
oid_t table_id_t
Definition types.h:72
internalID_t nodeID_t
Definition types.h:83
std::vector< offset_t > offset_vec_t
Definition types.h:88
uint64_t offset_t
Definition types.h:79
Definition array_utils.h:7
static KUZU_API std::unique_ptr< SemiMask > createMask(offset_t maxOffset)
offset_t offset
Definition types.h:91
table_id_t tableID
Definition types.h:92