|
| TaggedBitSet (const BitSet &src) |
| copies all bits from another BitSet (or a descending class, e.g. TaggedBitSet)
|
|
| TaggedBitSet (BitSet &&src) |
| moves all bits from another BitSet (or a descending class, e.g. TaggedBitSet)
|
|
TaggedBitSet & | set (IndexType n, size_type len, bool val) |
|
TaggedBitSet & | set (IndexType n, bool val=true) |
|
TaggedBitSet & | set () |
|
TaggedBitSet & | reset (IndexType n, size_type len) |
|
TaggedBitSet & | reset (IndexType n) |
|
TaggedBitSet & | reset () |
|
TaggedBitSet & | flip (IndexType n, size_type len) |
|
TaggedBitSet & | flip (IndexType n) |
|
TaggedBitSet & | flip () |
|
bool | test (IndexType n) const |
|
bool | test_set (IndexType n, bool val=true) |
|
MR_BIND_IGNORE reference | operator[] (IndexType pos) |
|
bool | operator[] (IndexType pos) const |
|
IndexType | find_first () const |
|
IndexType | find_next (IndexType pos) const |
|
IndexType | find_last () const |
|
IndexType | nthSetBit (size_t n) const |
| returns the location of nth set bit (where the first bit corresponds to n=0) or IndexType(npos) if there are less bit set
|
|
TaggedBitSet & | operator&= (const TaggedBitSet &b) |
|
TaggedBitSet & | operator|= (const TaggedBitSet &b) |
|
TaggedBitSet & | operator^= (const TaggedBitSet &b) |
|
TaggedBitSet & | operator-= (const TaggedBitSet &b) |
|
TaggedBitSet & | subtract (const TaggedBitSet &b, int bShiftInBlocks) |
| subtracts b from this, considering that bits in b are shifted right on bShiftInBlocks*bits_per_block
|
|
void | autoResizeSet (IndexType pos, size_type len, bool val=true) |
|
void | autoResizeSet (IndexType pos, bool val=true) |
|
bool | autoResizeTestSet (IndexType pos, bool val=true) |
|
template<typename M > |
TaggedBitSet | getMapping (const M &map) const |
| constructs another bit set from this where every set bit index is transformed using given map
|
|
TaggedBitSet | getMapping (const Vector< IndexType, IndexType > &map) const |
|
TaggedBitSet | getMapping (const BMap< IndexType, IndexType > &map) const |
|
TaggedBitSet | getMapping (const HashMap< IndexType, IndexType > &map) const |
|
template<typename M > |
TaggedBitSet | getMapping (const M &map, size_t resSize) const |
| this is a faster version if the result size is known beforehand
|
|
TaggedBitSet | getMapping (const Vector< IndexType, IndexType > &map, size_t resSize) const |
|
TaggedBitSet | getMapping (const HashMap< IndexType, IndexType > &map, size_t resSize) const |
|
IndexType | backId () const |
| returns the identifier of the back() element
|
|
IndexType | endId () const |
|
template<typename M > |
TaggedBitSet< T > | getMapping (const M &map) const |
|
template<typename M > |
TaggedBitSet< T > | getMapping (const M &map, size_t resSize) const |
|
| BitSet (size_t numBits, bool fillValue) |
| creates bitset of given size filled with given value
|
|
bool | test (IndexType n) const |
|
bool | test_set (IndexType n, bool val=true) |
|
BitSet & | set (IndexType n, size_type len, bool val) |
|
BitSet & | set (IndexType n, bool val=true) |
|
BitSet & | set () |
|
BitSet & | reset (IndexType n, size_type len) |
|
BitSet & | reset (IndexType n) |
|
BitSet & | reset () |
|
BitSet & | flip (IndexType n, size_type len) |
|
BitSet & | flip (IndexType n) |
|
BitSet & | flip () |
|
const auto & | bits () const |
| read-only access to all bits stored as a vector of uint64 blocks
|
|
MRMESH_API BitSet & | operator&= (const BitSet &b) |
|
MRMESH_API BitSet & | operator|= (const BitSet &b) |
|
MRMESH_API BitSet & | operator^= (const BitSet &b) |
|
MRMESH_API BitSet & | operator-= (const BitSet &b) |
|
MRMESH_API BitSet & | subtract (const BitSet &b, int bShiftInBlocks) |
| subtracts b from this, considering that bits in b are shifted right on bShiftInBlocks*bits_per_block
|
|
MRMESH_API IndexType | find_last () const |
| return the highest index i such as bit i is set, or npos if *this has no on bits.
|
|
MRMESH_API size_t | nthSetBit (size_t n) const |
| returns the location of nth set bit (where the first bit corresponds to n=0) or npos if there are less bit set
|
|
void | resizeWithReserve (size_t newSize) |
| doubles reserved memory until resize(newSize) can be done without reallocation
|
|
void | autoResizeSet (size_t pos, size_type len, bool val=true) |
| sets elements [pos, pos+len) to given value, adjusting the size of the set to include new elements
|
|
void | autoResizeSet (size_t pos, bool val=true) |
|
bool | autoResizeTestSet (size_t pos, bool val=true) |
| same as autoResizeSet and returns previous value of pos-bit
|
|
size_t | heapBytes () const |
| returns the amount of memory this object occupies on heap
|
|
IndexType | backId () const |
| returns the identifier of the back() element
|
|
IndexType | endId () const |
|
template<typename T>
class MR::TaggedBitSet< T >
container of bits representing specific indices (faces, verts or edges)