|
Blender V4.3
|
#include <BLI_bit_vector.hh>
Public Member Functions | |
| BitVector (Allocator allocator={}) noexcept | |
| BitVector (NoExceptConstructor, Allocator allocator={}) noexcept | |
| BitVector (const BoundedBitSpan span) | |
| BitVector (const BitVector &other) | |
| BitVector (BitVector &&other) noexcept | |
| BitVector (const int64_t size_in_bits, const bool value=false, Allocator allocator={}) | |
| BitVector (const Span< bool > values, Allocator allocator={}) | |
| ~BitVector () | |
| BitVector & | operator= (const BitVector &other) |
| BitVector & | operator= (BitVector &&other) |
| operator BoundedBitSpan () const | |
| operator MutableBoundedBitSpan () | |
| int64_t | size () const |
| int64_t | capacity () const |
| bool | is_empty () const |
| BitInt * | data () |
| const BitInt * | data () const |
| BitRef | operator[] (const int64_t index) const |
| MutableBitRef | operator[] (const int64_t index) |
| IndexRange | index_range () const |
| void | append (const bool value) |
| BitIterator | begin () const |
| BitIterator | end () const |
| MutableBitIterator | begin () |
| MutableBitIterator | end () |
| void | resize (const int64_t new_size_in_bits, const bool value=false) |
| void | fill (const bool value) |
| void | reserve (const int new_capacity_in_bits) |
| void | clear () |
| void | clear_and_shrink () |
Definition at line 57 of file BLI_bit_vector.hh.
|
inlinenoexcept |
Definition at line 87 of file BLI_bit_vector.hh.
|
inlinenoexcept |
Definition at line 95 of file BLI_bit_vector.hh.
|
inline |
Definition at line 97 of file BLI_bit_vector.hh.
References blender::bits::BitsPerInt, blender::bits::BitSpan::data(), blender::bits::BitSpan::size(), and blender::uninitialized_copy_n().
|
inline |
Definition at line 115 of file BLI_bit_vector.hh.
|
inlinenoexcept |
Definition at line 120 of file BLI_bit_vector.hh.
References blender::uninitialized_copy_n().
|
inline |
Create a new vector with the given size and fill it with #value.
Definition at line 150 of file BLI_bit_vector.hh.
|
inlineexplicit |
Create a bit vector based on an array of bools. Each byte of the input array maps to one bit.
Definition at line 159 of file BLI_bit_vector.hh.
|
inline |
Definition at line 166 of file BLI_bit_vector.hh.
|
inline |
Add a new bit to the end of the vector.
Definition at line 252 of file BLI_bit_vector.hh.
References blender::bits::MutableBitRef::set().
Referenced by blender::geometry::calc_corner_groups_for_vertex(), blender::bits::tests::TEST(), and blender::bits::tests::TEST().
|
inline |
Definition at line 270 of file BLI_bit_vector.hh.
|
inline |
Definition at line 260 of file BLI_bit_vector.hh.
|
inline |
Number of bits that can be stored before the BitVector has to grow.
Definition at line 204 of file BLI_bit_vector.hh.
Referenced by blender::index_mask::IndexMask::from_bools().
|
inline |
Reset the size of the vector to zero elements, but keep the same memory capacity to be refilled again.
Definition at line 319 of file BLI_bit_vector.hh.
Referenced by blender::ed::sculpt_paint::dynamic_topology_update().
|
inline |
Free memory and reset the vector to zero elements.
Definition at line 327 of file BLI_bit_vector.hh.
Referenced by blender::bke::bit_vector_with_reset_bits_or_empty(), BKE_sculptsession_free_pbvh(), blender::bke::pbvh::flush_bounds_to_parents(), blender::bke::try_tag_verts_no_face_none(), blender::bke::pbvh::update_normals(), and blender::bke::pbvh::update_visibility().
|
inline |
Definition at line 214 of file BLI_bit_vector.hh.
Referenced by blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::operator[](), and blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::operator[]().
|
inline |
Definition at line 219 of file BLI_bit_vector.hh.
|
inline |
Definition at line 275 of file BLI_bit_vector.hh.
|
inline |
Definition at line 265 of file BLI_bit_vector.hh.
|
inline |
Set #value on every element.
Definition at line 301 of file BLI_bit_vector.hh.
References blender::bits::MutableBitSpan::set_all().
Referenced by BKE_animsys_nla_remap_keyframe_values(), BKE_blendfile_library_relocate(), BKE_mesh_remap_calc_loops_from_mesh(), blender::ed::sculpt_paint::geodesic::distances_create(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), and blender::bke::mesh::mesh_normals_corner_custom_set().
|
inline |
Definition at line 244 of file BLI_bit_vector.hh.
Referenced by BKE_animsys_nla_remap_keyframe_values().
|
inline |
Definition at line 209 of file BLI_bit_vector.hh.
Referenced by blender::ed::sculpt_paint::boundary::ensure_boundary_info(), ShrinkwrapBoundaryData::has_boundary(), and blender::bke::subdiv::is_infinite_sharp_vertex().
|
inline |
Definition at line 183 of file BLI_bit_vector.hh.
|
inline |
Definition at line 188 of file BLI_bit_vector.hh.
|
inline |
Definition at line 178 of file BLI_bit_vector.hh.
References blender::move_assign_container().
|
inline |
Definition at line 173 of file BLI_bit_vector.hh.
References blender::copy_assign_container().
|
inlinenodiscard |
Get a mutable reference to a specific bit.
Definition at line 237 of file BLI_bit_vector.hh.
References BLI_assert.
|
inlinenodiscard |
Get a read-only reference to a specific bit.
Definition at line 227 of file BLI_bit_vector.hh.
References BLI_assert.
|
inline |
Make sure that the capacity of the vector is large enough to hold the given amount of bits. The actual size is not changed.
Definition at line 310 of file BLI_bit_vector.hh.
Referenced by blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize().
|
inline |
Change the size of the vector. If the new vector is larger than the old one, the new elements are filled with #value.
Definition at line 284 of file BLI_bit_vector.hh.
References BLI_assert, blender::IndexRange::from_begin_end(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::reserve(), and blender::bits::MutableBitSpan::set_all().
Referenced by blender::bke::bit_vector_with_reset_bits_or_empty(), blender::ed::sculpt_paint::boundary::ensure_boundary_info(), blender::index_mask::IndexMask::from_bools(), blender::bke::image::partial_update::TileChangeset::init_chunks(), blender::bke::subdiv::initialize_manifold_indices(), blender::eevee::SphereProbeAtlasCoord::LocationFinder::LocationFinder(), blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::tag_visibility_changed(), and blender::draw::pbvh::DrawCacheImpl::tag_visibility_changed().
|
inline |
Number of bits in the bit vector.
Definition at line 196 of file BLI_bit_vector.hh.
Referenced by blender::bke::image::partial_update::TileChangeset::init_chunks(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::size(), blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::tag_visibility_changed(), blender::draw::pbvh::DrawCacheImpl::tag_visibility_changed(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), blender::bits::tests::TEST(), and blender::bits::tests::TEST().