OpenVDB
10.0.1
|
Bit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression. More...
#include <nanovdb/NanoVDB.h>
Classes | |
class | Iterator |
Public Types | |
using | OnIterator = Iterator< true > |
using | OffIterator = Iterator< false > |
Public Member Functions | |
uint32_t | countOn () const |
Return the total number of set bits in this Mask. More... | |
uint32_t | countOn (uint32_t i) const |
Return the number of lower set bits in mask up to but excluding the i'th bit. More... | |
OnIterator | beginOn () const |
OffIterator | beginOff () const |
Mask () | |
Initialize all bits to zero. More... | |
Mask (bool on) | |
Mask (const Mask &other) | |
Copy constructor. More... | |
template<typename WordT > | |
const WordT & | getWord (int n) const |
Return a const reference to the nth word of the bit mask, for a word of arbitrary size. More... | |
template<typename WordT > | |
WordT & | getWord (int n) |
Return a reference to the nth word of the bit mask, for a word of arbitrary size. More... | |
template<typename MaskT > | |
Mask & | operator= (const MaskT &other) |
Assignment operator that works with openvdb::util::NodeMask. More... | |
bool | operator== (const Mask &other) const |
bool | operator!= (const Mask &other) const |
bool | isOn (uint32_t n) const |
Return true if the given bit is set. More... | |
bool | isOff (uint32_t n) const |
Return true if the given bit is NOT set. More... | |
bool | isOn () const |
Return true if all the bits are set in this Mask. More... | |
bool | isOff () const |
Return true if none of the bits are set in this Mask. More... | |
void | setOn (uint32_t n) |
Set the specified bit on. More... | |
void | setOff (uint32_t n) |
Set the specified bit off. More... | |
void | set (uint32_t n, bool On) |
Set the specified bit on or off. More... | |
void | setOn () |
Set all bits on. More... | |
void | setOff () |
Set all bits off. More... | |
void | set (bool on) |
Set all bits off. More... | |
void | toggle () |
brief Toggle the state of all bits in the mask More... | |
void | toggle (uint32_t n) |
Mask & | operator&= (const Mask &other) |
Bitwise intersection. More... | |
Mask & | operator|= (const Mask &other) |
Bitwise union. More... | |
Mask & | operator-= (const Mask &other) |
Bitwise difference. More... | |
Mask & | operator^= (const Mask &other) |
Bitwise XOR. More... | |
Static Public Member Functions | |
static size_t | memUsage () |
Return the memory footprint in bytes of this Mask. More... | |
static uint32_t | bitCount () |
Return the number of bits available in this Mask. More... | |
static uint32_t | wordCount () |
Return the number of machine words used by this Mask. More... | |
Bit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression.
using OffIterator = Iterator<false> |
using OnIterator = Iterator<true> |
|
inline |
Initialize all bits to zero.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Return the number of bits available in this Mask.
|
inline |
Return the total number of set bits in this Mask.
|
inline |
Return the number of lower set bits in mask up to but excluding the i'th bit.
|
inline |
Return a const reference to the nth word of the bit mask, for a word of arbitrary size.
|
inline |
Return a reference to the nth word of the bit mask, for a word of arbitrary size.
|
inline |
Return true if the given bit is NOT set.
|
inline |
Return true if none of the bits are set in this Mask.
|
inline |
Return true if the given bit is set.
|
inline |
Return true if all the bits are set in this Mask.
|
inlinestatic |
Return the memory footprint in bytes of this Mask.
|
inline |
|
inline |
Assignment operator that works with openvdb::util::NodeMask.
|
inline |
|
inline |
Set the specified bit on or off.
|
inline |
Set all bits off.
|
inline |
Set the specified bit off.
|
inline |
Set all bits off.
|
inline |
Set the specified bit on.
|
inline |
Set all bits on.
|
inline |
brief Toggle the state of all bits in the mask
|
inline |
|
inlinestatic |
Return the number of machine words used by this Mask.