|
Blender V4.3
|
#include <BLI_bit_span.hh>
Inherited by blender::bits::MutableBoundedBitSpan.
Public Member Functions | |
| MutableBitSpan ()=default | |
| MutableBitSpan (BitInt *data, const int64_t size) | |
| MutableBitSpan (BitInt *data, const IndexRange bit_range) | |
| int64_t | size () const |
| bool | is_empty () const |
| IndexRange | index_range () const |
| MutableBitRef | operator[] (const int64_t index) const |
| MutableBitSpan | slice (const IndexRange range) const |
| MutableBitSpan | take_front (const int64_t n) const |
| MutableBitSpan | take_back (const int64_t n) const |
| BitInt * | data () const |
| const IndexRange & | bit_range () const |
| MutableBitIterator | begin () const |
| MutableBitIterator | end () const |
| operator BitSpan () const | |
| void | set_all () |
| void | reset_all () |
| void | copy_from (const BitSpan other) |
| void | copy_from (const BoundedBitSpan other) |
| void | set_all (const bool value) |
| void | fill (const bool value) |
Protected Attributes | |
| BitInt * | data_ = nullptr |
| IndexRange | bit_range_ = {0, 0} |
Same as #BitSpan, but also allows modifying the referenced bits.
Definition at line 217 of file BLI_bit_span.hh.
|
default |
Definition at line 225 of file BLI_bit_span.hh.
|
inline |
Definition at line 227 of file BLI_bit_span.hh.
|
inline |
Definition at line 276 of file BLI_bit_span.hh.
References bit_range_, data_, and blender::IndexRange::start().
|
inline |
Definition at line 271 of file BLI_bit_span.hh.
References bit_range_.
Referenced by blender::bits::or_bools_into_bits(), and blender::bits::tests::TEST().
| void blender::bits::MutableBitSpan::copy_from | ( | const BitSpan | other | ) |
Definition at line 62 of file bit_span.cc.
References BLI_assert, blender::bits::copy_from_or(), blender::bits::BitSpan::size(), and size().
Referenced by arrayModifier_doArray(), and blender::bits::tests::TEST().
| void blender::bits::MutableBitSpan::copy_from | ( | const BoundedBitSpan | other | ) |
Definition at line 68 of file bit_span.cc.
References BLI_assert, blender::bits::copy_from_or(), blender::bits::BitSpan::size(), and size().
|
inline |
Definition at line 266 of file BLI_bit_span.hh.
References data_.
Referenced by blender::bits::or_bools_into_bits(), blender::bits::tests::TEST(), and blender::bits::tests::TEST().
|
inline |
Definition at line 281 of file BLI_bit_span.hh.
References bit_range_, data_, and blender::IndexRange::one_after_last().
|
inline |
Same as set_all to mirror #MutableSpan.
Definition at line 312 of file BLI_bit_span.hh.
References set_all().
Referenced by blender::ed::sculpt_paint::hide::partialvis_all_update_grids(), and blender::ed::sculpt_paint::hide::partialvis_masked_update_grids().
|
inline |
Definition at line 239 of file BLI_bit_span.hh.
References bit_range_, and blender::IndexRange::size().
Referenced by blender::bits::tests::TEST(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), and blender::bits::tests::TEST().
|
inline |
Definition at line 234 of file BLI_bit_span.hh.
References bit_range_, and blender::IndexRange::is_empty().
Referenced by blender::bits::tests::TEST().
|
inline |
Definition at line 286 of file BLI_bit_span.hh.
References bit_range_, and data_.
|
inline |
Definition at line 244 of file BLI_bit_span.hh.
References bit_range_, BLI_assert, data_, blender::IndexRange::size(), and blender::IndexRange::start().
| void blender::bits::MutableBitSpan::reset_all | ( | ) |
Sets all referenced bits to 0.
Definition at line 37 of file bit_span.cc.
References bit_range_, blender::bits::BitIndexMask, blender::bits::BitsPerInt, data_, blender::initialized_fill_n(), blender::bits::int_containing_bit(), blender::IndexRange::is_empty(), blender::bits::mask_first_n_bits(), blender::bits::mask_range_bits(), blender::IndexRange::one_after_last(), blender::split_index_range_by_alignment(), and blender::IndexRange::start().
Referenced by set_all(), and blender::index_mask::IndexMask::to_bits().
| void blender::bits::MutableBitSpan::set_all | ( | ) |
Sets all referenced bits to 1.
Definition at line 12 of file bit_span.cc.
References bit_range_, blender::bits::BitIndexMask, blender::bits::BitsPerInt, data_, blender::initialized_fill_n(), blender::bits::int_containing_bit(), blender::IndexRange::is_empty(), blender::bits::mask_first_n_bits(), blender::bits::mask_range_bits(), blender::IndexRange::one_after_last(), blender::split_index_range_by_alignment(), and blender::IndexRange::start().
Referenced by arrayModifier_doArray(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::fill(), fill(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize(), set_all(), blender::index_mask::IndexMask::set_bits(), blender::bits::tests::TEST(), and blender::bits::tests::TEST().
|
inline |
Sets all referenced bits to either 0 or 1.
Definition at line 301 of file BLI_bit_span.hh.
References reset_all(), and set_all().
|
inline |
Definition at line 229 of file BLI_bit_span.hh.
References bit_range_, and blender::IndexRange::size().
Referenced by copy_from(), copy_from(), blender::bits::MutableBoundedBitSpan::copy_from(), blender::bits::MutableBoundedBitSpan::copy_from(), blender::bits::or_bools_into_bits(), blender::bke::reset_bits_and_count(), blender::index_mask::IndexMask::set_bits(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), and blender::index_mask::IndexMask::to_bits().
|
inline |
Definition at line 251 of file BLI_bit_span.hh.
References bit_range_, data_, and blender::IndexRange::slice().
Referenced by arrayModifier_doArray(), blender::index_mask::IndexMask::set_bits(), and blender::bits::tests::TEST().
|
inline |
Definition at line 261 of file BLI_bit_span.hh.
References bit_range_, data_, and blender::IndexRange::take_back().
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier().
|
inline |
Definition at line 256 of file BLI_bit_span.hh.
References bit_range_, data_, and blender::IndexRange::take_front().
|
protected |
Definition at line 220 of file BLI_bit_span.hh.
Referenced by blender::bits::MutableBoundedBitSpan::as_span(), begin(), bit_range(), end(), blender::bits::MutableBoundedBitSpan::final_bits_num(), blender::bits::MutableBoundedBitSpan::full_ints_num(), index_range(), is_empty(), blender::bits::MutableBoundedBitSpan::offset(), operator BitSpan(), operator[](), reset_all(), set_all(), size(), slice(), take_back(), take_front(), and blender::bits::MutableBoundedBitSpan::take_front().
|
protected |
Definition at line 219 of file BLI_bit_span.hh.
Referenced by blender::bits::MutableBoundedBitSpan::as_span(), begin(), data(), end(), operator BitSpan(), operator[](), reset_all(), set_all(), slice(), take_back(), take_front(), and blender::bits::MutableBoundedBitSpan::take_front().