|
Blender V4.3
|
#include <BLI_array.hh>
Public Types | |
| using | value_type = T |
| using | pointer = T * |
| using | const_pointer = const T * |
| using | reference = T & |
| using | const_reference = const T & |
| using | iterator = T * |
| using | const_iterator = const T * |
| using | size_type = int64_t |
Public Member Functions | |
| Array (Allocator allocator={}) noexcept | |
| Array (NoExceptConstructor, Allocator allocator={}) noexcept | |
| template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) > | |
| Array (Span< U > values, Allocator allocator={}) | |
| template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) > | |
| Array (const std::initializer_list< U > &values, Allocator allocator={}) | |
| Array (const std::initializer_list< T > &values, Allocator allocator={}) | |
| Array (int64_t size, Allocator allocator={}) | |
| Array (int64_t size, const T &value, Allocator allocator={}) | |
| Array (int64_t size, NoInitialization, Allocator allocator={}) | |
| Array (const Array &other) | |
| Array (Array &&other) noexcept(std::is_nothrow_move_constructible_v< T >) | |
| ~Array () | |
| Array & | operator= (const Array &other) |
| Array & | operator= (Array &&other) noexcept(std::is_nothrow_move_constructible_v< T >) |
| T & | operator[] (int64_t index) |
| const T & | operator[] (int64_t index) const |
| operator Span< T > () const | |
| operator MutableSpan< T > () | |
| template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< T, U >)) > | |
| operator Span< U > () const | |
| template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< T, U >)) > | |
| operator MutableSpan< U > () | |
| Span< T > | as_span () const |
| MutableSpan< T > | as_mutable_span () |
| int64_t | size () const |
| bool | is_empty () const |
| void | fill (const T &value) const |
| const T & | first () const |
| T & | first () |
| const T & | last (const int64_t n=0) const |
| T & | last (const int64_t n=0) |
| const T * | data () const |
| T * | data () |
| const T * | begin () const |
| const T * | end () const |
| T * | begin () |
| T * | end () |
| std::reverse_iterator< T * > | rbegin () |
| std::reverse_iterator< T * > | rend () |
| std::reverse_iterator< const T * > | rbegin () const |
| std::reverse_iterator< const T * > | rend () const |
| IndexRange | index_range () const |
| void | clear_without_destruct () |
| Allocator & | allocator () |
| const Allocator & | allocator () const |
| void | reinitialize (const int64_t new_size) |
Static Public Member Functions | |
| static int64_t | inline_buffer_capacity () |
Definition at line 50 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::const_iterator = const T * |
Definition at line 58 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::const_pointer = const T * |
Definition at line 54 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::const_reference = const T & |
Definition at line 56 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::iterator = T * |
Definition at line 57 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::pointer = T * |
Definition at line 53 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::reference = T & |
Definition at line 55 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::size_type = int64_t |
Definition at line 59 of file BLI_array.hh.
| using blender::Array< T, InlineBufferCapacity, Allocator >::value_type = T |
Definition at line 52 of file BLI_array.hh.
|
inlinenoexcept |
By default an empty array is created.
Definition at line 78 of file BLI_array.hh.
|
inlinenoexcept |
Definition at line 84 of file BLI_array.hh.
|
inline |
Create a new array that contains copies of all values.
Definition at line 90 of file BLI_array.hh.
|
inline |
Create a new array that contains copies of all values.
Definition at line 102 of file BLI_array.hh.
|
inline |
Definition at line 107 of file BLI_array.hh.
|
inlineexplicit |
Create a new array with the given size. All values will be default constructed. For trivial types like int, default construction does nothing.
We might want another version of this in the future, that does not do default construction even for non-trivial types. This should not be the default though, because one can easily mess up when dealing with uninitialized memory.
Definition at line 120 of file BLI_array.hh.
|
inline |
Create a new array with the given size. All values will be initialized by copying the given default.
Definition at line 131 of file BLI_array.hh.
|
inline |
Create a new array with uninitialized elements. The caller is responsible for constructing the elements. Moving, copying or destructing an Array with uninitialized elements invokes undefined behavior.
This should be used very rarely. Note, that the normal size-constructor also does not initialize the elements when T is trivially constructible. Therefore, it only makes sense to use this with non trivially constructible types.
Usage: Array<std::string> my_strings(10, NoInitialization());
Definition at line 152 of file BLI_array.hh.
|
inline |
Definition at line 160 of file BLI_array.hh.
|
inlinenoexcept |
Definition at line 162 of file BLI_array.hh.
References blender::uninitialized_relocate_n().
|
inline |
Definition at line 180 of file BLI_array.hh.
References blender::destruct_n().
Referenced by blender::MutableVArraySpan< T >::MutableVArraySpan(), and blender::VArraySpan< T >::VArraySpan().
|
inline |
Access the allocator used by this array.
Definition at line 366 of file BLI_array.hh.
|
inline |
Definition at line 370 of file BLI_array.hh.
|
inline |
Definition at line 237 of file BLI_array.hh.
Referenced by blender::nodes::node_geo_duplicate_elements_cc::accumulate_counts_to_offsets(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_smoothing(), blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::bke::Instances::almost_unique_ids(), blender::ed::sculpt_paint::cloth::apply_grab_brush(), blender::ed::sculpt_paint::cloth::apply_snake_hook_brush(), blender::build_drawing(), blender::nodes::node_geo_extrude_mesh_cc::build_vert_to_edge_map(), blender::nodes::node_geo_blur_attribute_cc::build_vert_to_vert_by_edge_map(), blender::io::obj::OBJMesh::calc_face_order(), blender::nodes::node_geo_distribute_points_on_faces_cc::calc_full_density_factors_with_selection(), blender::geometry::calc_new_edges(), blender::bke::curves::nurbs::calculate_basis_for_point(), blender::nodes::node_geo_uv_pack_islands_cc::construct_uv_gvarray(), blender::create_envelope_strokes(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::deform_drawing(), blender::ed::sculpt_paint::face_set::duplicate_face_sets(), blender::ed::curves::duplicate_points(), blender::nodes::execute_geometry_nodes_on_geometry(), blender::geometry::extend_curves(), blender::io::grease_pencil::extend_curves_geometry(), blender::draw::extract_vert_normals(), blender::draw::extract_vert_normals_mesh(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_vertices(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::nodes::node_geo_scale_elements_cc::gather_edge_islands(), blender::nodes::node_geo_scale_elements_cc::gather_face_islands(), blender::nodes::node_geo_scale_elements_cc::gather_groups(), blender::ed::greasepencil::get_reordered_indices(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::PointsOfCurveInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::CornersOfEdgeInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::CornersOfFaceInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::CornersOfVertInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::EdgesOfVertInput::get_varray_for_context(), blender::ed::sculpt_paint::pose::grow_pose_factor(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::bke::mesh_calc_edges(), blender::draw::mesh_render_data_faces_sorted_build(), blender::geometry::mesh_to_curve_convert(), meshdeformModifier_do(), blender::nodes::node_geo_volume_cube_cc::node_geo_exec(), blender::ed::sculpt_paint::greasepencil::CloneOperation::on_stroke_begin(), blender::ed::greasepencil::remove_points_and_split(), blender::geometry::resample_to_uniform(), blender::ed::sculpt_paint::mask::scatter_mask_grids(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::geometry::simplify_curve_attribute(), blender::ed::sculpt_paint::greasepencil::simplify_stroke(), blender::geometry::smooth_curve_positions(), blender::ed::sculpt_paint::cloth::solve_verts_simulation(), blender::nodes::node_geo_sort_elements_cc::sorted_indices(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::bke::mesh::split_corner_normal_fan_do(), blender::ed::sculpt_paint::undo::store_face_sets(), blender::ed::sculpt_paint::undo::store_mask_grids(), blender::ed::sculpt_paint::undo::store_mask_mesh(), blender::gpu::VKFrameBuffer::subpass_transition_impl(), blender::bke::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::tests::TEST(), blender::fn::tests::TEST(), blender::fn::tests::TEST(), blender::bke::bake::try_load_grease_pencil(), blender::ed::sculpt_paint::hide::DualBuffer::write_buffer(), and blender::ed::sculpt_paint::expand::write_mask_data().
|
inline |
Definition at line 232 of file BLI_array.hh.
Referenced by blender::InplacePriorityQueue< T, FirstHasHigherPriority >::active_indices(), BKE_editmesh_cache_calc_minmax(), BKE_editmesh_vert_coords_when_deformed(), BKE_mesh_legacy_convert_uvs_to_generic(), blender::ed::sculpt_paint::greasepencil::brush_point_influence_mask(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::filter::calc_erase_displacement_filter(), blender::ed::sculpt_paint::cloth::calc_forces_bmesh(), blender::ed::sculpt_paint::cloth::calc_forces_grids(), blender::ed::sculpt_paint::cloth::calc_forces_mesh(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::bke::curves::nurbs::calculate_basis_for_point(), blender::bke::curves_copy_point_selection(), blender::geometry::debug_randomize_curve_order(), blender::geometry::debug_randomize_face_order(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::deform_drawing_as_envelope(), blender::ed::curves::duplicate_points(), blender::geometry::edges_to_curve_point_indices(), blender::nodes::node_geo_index_switch_cc::LazyFunctionForIndexSwitchNode::execute_field(), blender::nodes::node_geo_menu_switch_cc::LazyFunctionForMenuSwitchNode::execute_field(), blender::geometry::execute_instances_tasks(), blender::draw::extract_edituv_stretch_area(), blender::draw::extract_vert_normals(), blender::draw::extract_vert_normals_mesh(), blender::geometry::fillet_curves(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::nodes::node_geo_scale_elements_cc::gather_edge_islands(), blender::nodes::node_geo_scale_elements_cc::gather_face_islands(), blender::bke::mesh::gather_groups(), blender::nodes::node_geo_scale_elements_cc::gather_groups(), blender::ed::sculpt_paint::mask::gather_mask_grids(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::get_bake_state_from_inputs(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::get_bake_state_from_inputs(), blender::io::obj::OBJMesh::get_face_normal_indices(), blender::io::obj::OBJMesh::get_face_uv_indices(), blender::ed::greasepencil::grease_pencil_dissolve_exec(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::hard_eraser(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::inactive_indices(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::geometry::join_instances(), blender::geometry::lookup_tris_in_cell(), blender::draw::mesh_render_data_loose_edges_bm(), blender::draw::mesh_render_data_loose_verts_bm(), blender::nodes::node_geo_scale_elements_cc::node_geo_exec(), blender::ed::sculpt_paint::greasepencil::VertexAverageOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexPaintOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexReplaceOperation::on_stroke_extended(), blender::ed::sculpt_paint::orig_face_set_data_lookup_grids(), blender::ed::sculpt_paint::orig_face_set_data_lookup_mesh(), blender::ed::sculpt_paint::orig_mask_data_lookup_grids(), blender::ed::sculpt_paint::orig_mask_data_lookup_mesh(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::pass_through(), blender::ed::sculpt_paint::hide::DualBuffer::read_buffer(), blender::ed::greasepencil::remove_points_and_split(), blender::bke::Instances::remove_unused_references(), blender::geometry::reorder_mesh_edges_exec(), blender::geometry::reorder_mesh_verts_exec(), blender::reorder_strokes(), blender::geometry::resample_to_uniform(), blender::ed::sculpt_paint::undo::restore_mask_grids(), blender::ed::sculpt_paint::undo::restore_mask_mesh(), blender::ed::curves::retrieve_selected_curves(), blender::ed::sculpt_paint::select_grow::select_grow_update(), blender::ed::sculpt_paint::mask::sharpen_mask_grids(), blender::ed::sculpt_paint::mask::smooth_mask_grids(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), blender::ed::sculpt_paint::cloth::solve_verts_simulation(), blender::bke::compare_meshes::sort_edges(), blender::bke::compare_meshes::sort_faces_based_on_corners(), blender::nodes::node_geo_sort_elements_cc::sorted_indices(), blender::geometry::split_edges(), blender::ed::sculpt_paint::undo::store_mask_grids(), blender::ed::sculpt_paint::undo::store_mask_mesh(), blender::io::obj::OBJMesh::store_normal_coords_and_indices(), blender::ed::sculpt_paint::undo::store_positions_mesh(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::fn::multi_function::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), and blender::length_parameterize::tests::TEST().
|
inline |
Definition at line 319 of file BLI_array.hh.
|
inline |
Definition at line 310 of file BLI_array.hh.
Referenced by blender::bke::pbvh::uv_islands::TriangleToEdgeMap::add(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_validate_arrays(), blender::io::obj::OBJMesh::calc_face_order(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::PointsOfCurveInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::CornersOfEdgeInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::CornersOfFaceInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::CornersOfVertInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::EdgesOfVertInput::get_varray_for_context(), blender::draw::grease_pencil_edit_batch_ensure(), blender::draw::grease_pencil_weight_batch_ensure(), blender::bke::compare_meshes::IndexMapping::IndexMapping(), initial_triangulation(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::ed::greasepencil::merge_layers(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::geometry::pack_islands_scale_margin(), blender::Array< T, InlineBufferCapacity, Allocator >::rend(), blender::Array< T, InlineBufferCapacity, Allocator >::rend(), blender::reorder_strokes(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), and blender::ed::space_node::tree_draw_order_update().
|
inline |
Sets the size to zero. This should only be used when you have manually destructed all elements in the array beforehand. Use with care.
Definition at line 358 of file BLI_array.hh.
|
inline |
Definition at line 305 of file BLI_array.hh.
|
inline |
Get a pointer to the beginning of the array.
Definition at line 301 of file BLI_array.hh.
Referenced by blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::begin(), BKE_mesh_validate_arrays(), BKE_sculptsession_free_vwpaint_data(), BKE_subdiv_ccg_start_face_grid_index_ensure(), BKE_subdiv_ccg_start_face_grid_index_get(), blendthumb_extract_from_file_impl(), blf_glyph_cache_add_svg(), blf_svg_icon_bitmap(), BLI_uniquename_cb(), BM_face_uv_calc_cross(), BM_face_uv_point_inside_test(), BPy_BoolVectorProperty(), BPy_FloatVectorProperty(), BPy_IntVectorProperty(), blender::realtime_compositor::MorphologicalDistanceFeatherWeights::compute_distance_falloffs(), blender::realtime_compositor::MorphologicalDistanceFeatherWeights::compute_weights(), construct_param_handle_face_add(), blender::nodes::node_geo_uv_pack_islands_cc::construct_uv_gvarray(), blender::nodes::node_geo_uv_unwrap_cc::construct_uv_gvarray(), convexhull_2d_as_array(), blender::geometry::create_merged_mesh(), blender::ed::greasepencil::curve_merge_by_distance(), blender::string_search::damerau_levenshtein_distance(), deformVert(), do_glow_effect_byte(), do_weight_paint_vertex_multi(), do_weight_paint_vertex_single(), draw_strip_thumbnails(), draw_text_outline(), draw_text_shadow(), blender::draw::DRW_mesh_batch_cache_get_surface_shaded(), blender::draw::DRW_mesh_batch_cache_get_surface_texpaint(), EDBM_verts_mirror_get_face(), blender::ed::sculpt_paint::face_set::edit_fairing(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::end(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::execute(), blender::bke::mesh::face_area_calc(), file_seek(), blender::ed::seq::StripsDrawBatch::flush_batch(), ThumbsDrawBatch::flush_batch(), blender::ed::sculpt_paint::trim::generate_geometry(), blender::index_mask::get_static_index_mask_for_min_size(), CBlendThumb::GetThumbnail(), image_load_image_file(), image_load_movie_file(), blender::ed::sculpt_paint::vwpaint::init_session_data(), blender::gpu::VKBackend::is_supported(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), knife_bvh_raycast_cb(), knife_find_line_hits(), blender::bke::subdiv::loop_interpolation_init(), blender::geometry::mesh_merge_by_distance_all(), blender::geometry::mesh_merge_by_distance_connected(), mesh_separate_loose(), mesh_uv_reset_bmface(), mesh_uv_reset_mface(), meshdeform_ray_tree_intersect(), meshdeformModifier_do(), blender::gpu::missing_capabilities_get(), modify_mesh(), multiresModifier_reshapeFromDeformModifier(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::nodes::node_geo_volume_cube_cc::node_geo_exec(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), operator_search_update_fn(), blender::io::obj::OBJParser::parse(), blender::geometry::point_merge_by_distance(), blender::geometry::poly_find_doubles(), RE_bake_pixels_populate_from_objects(), blender::io::ply::PlyReadBuffer::read_bytes(), blender::io::ply::PlyReadBuffer::read_line(), blender::io::stl::read_stl_binary(), blender::MutableVArraySpan< T >::save(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::bke::shrinkwrap::shrinkwrap_build_boundary_data(), blender::ed::object::sorted_selected_editable_objects(), blender::realtime_compositor::SymmetricBlurWeights::SymmetricBlurWeights(), blender::realtime_compositor::SymmetricSeparableBlurWeights::SymmetricSeparableBlurWeights(), blender::tests::TEST(), blender::tests::TEST(), TEST(), thumb_data_vertical_flip(), ui_item_enum_expand_tabs(), ui_litem_layout_grid_flow(), UI_svg_icon_bitmap(), um_arraystore_cd_compact(), uv_cylinder_project(), uv_sphere_project(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values(), blender::VArraySpan< T >::VArraySpan(), blender::VArraySpan< T >::VArraySpan(), blender::bke::subdiv::vertex_interpolation_init(), blender::ed::object::vgroup_array_copy(), blender::ed::object::vgroup_smooth_subset(), and wpaint_stroke_test_start().
|
inline |
Definition at line 323 of file BLI_array.hh.
|
inline |
Definition at line 314 of file BLI_array.hh.
Referenced by blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_validate_arrays(), blender::io::obj::OBJMesh::calc_face_order(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::PointsOfCurveInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::CornersOfEdgeInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::CornersOfFaceInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::CornersOfVertInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::EdgesOfVertInput::get_varray_for_context(), blender::draw::grease_pencil_edit_batch_ensure(), blender::draw::grease_pencil_weight_batch_ensure(), blender::bke::compare_meshes::IndexMapping::IndexMapping(), initial_triangulation(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::ed::greasepencil::merge_layers(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::geometry::pack_islands_scale_margin(), blender::Array< T, InlineBufferCapacity, Allocator >::rbegin(), blender::Array< T, InlineBufferCapacity, Allocator >::rbegin(), blender::reorder_strokes(), and blender::ed::space_node::tree_draw_order_update().
|
inline |
Copies the given value to every element in the array.
Definition at line 261 of file BLI_array.hh.
References blender::initialized_fill_n().
Referenced by blender::geometry::add_curves_on_mesh(), blender::gpu::VKFrameBuffer::bind(), BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_sculpt_get_first_deform_matrices(), blender::draw::calc_face_tri_starts_bmesh(), blender::draw::calc_face_tri_starts_mesh(), blender::deform_drawing(), blender::bke::compare_meshes::IndexMapping::IndexMapping(), blender::nodes::LazyFunctionForMutedNode::LazyFunctionForMutedNode(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), blender::geometry::point_merge_by_distance(), blender::bke::Instances::reference_user_counts(), blender::ed::sculpt_paint::undo::store_face_sets(), blender::ed::sculpt_paint::undo::store_mask_grids(), blender::ed::sculpt_paint::undo::store_mask_mesh(), blender::geometry::subdivide_curves(), blender::gpu::VKFrameBuffer::subpass_transition_impl(), blender::ed::sculpt_paint::expand::topology_from_state_boundary(), blender::geometry::toposort_connected_curves(), blender::ed::object::vgroup_smooth_subset(), and vpaint_proj_dm_map_cosnos_update().
|
inline |
Definition at line 275 of file BLI_array.hh.
References BLI_assert.
|
inline |
Return a reference to the first element in the array. This invokes undefined behavior when the array is empty.
Definition at line 270 of file BLI_array.hh.
References BLI_assert.
Referenced by blender::build_concurrent(), blender::ed::greasepencil::curve_merge_by_distance(), blender::io::obj::fixup_invalid_face(), blender::ed::greasepencil::gpencil_stroke_subdivide_exec(), M_Geometry_delaunay_2d_cdt(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::meshintersect::operator<<(), blender::geometry::preprocess_meshes(), blender::nodes::node_geo_dual_mesh_cc::sort_vertex_faces(), and blender::geometry::uv_parametrizer_face_add().
|
inline |
Get an index range containing all valid indices for this array.
Definition at line 349 of file BLI_array.hh.
Referenced by blender::geometry::add_curves_on_mesh(), blender::ed::greasepencil::add_materials_to_map(), apply_weights_vertex_normal(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_legacy_convert_uvs_to_generic(), BKE_subdiv_ccg_average_grids(), BKE_subdiv_ccg_average_stitch_faces(), blender::bm_face_loop_table_build(), blender::nodes::node_geo_extrude_mesh_cc::build_vert_to_edge_map(), blender::geometry::calc_position_with_interpolation(), blender::geometry::calc_radius_with_interpolation(), calcEdgeSlide_mval_range(), blender::realtime_compositor::MorphologicalDistanceFeatherWeights::compute_distance_falloffs(), blender::realtime_compositor::MorphologicalDistanceFeatherWeights::compute_weights(), blender::AtomicDisjointSet::count_sets(), blender::ed::greasepencil::create_curves_outline(), blender::nodes::execute_geometry_nodes_on_geometry(), blender::draw::extract_weights_mesh(), blender::ed::sculpt_paint::greasepencil::GrabOperation::foreach_grabbed_drawing(), blender::ed::sculpt_paint::trim::generate_geometry(), blender::render::texturemargin::generate_margin(), blender::ed::greasepencil::get_reordered_indices(), blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsNextVertFieldInput::get_varray_for_context(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::BoundaryFieldInput::get_varray_for_context(), blender::ed::sculpt_paint::gesture::init_from_lasso(), M_Geometry_delaunay_2d_cdt(), blender::geometry::merge_customdata_all(), blender::ed::greasepencil::merge_layers(), blender::bke::mesh_calc_edges(), blender::draw::mesh_render_data_mat_tri_len_build(), blender::bke::bake::move_socket_values_to_bake_items(), blender::noise_table(), blender::ed::sculpt_paint::greasepencil::AverageWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::BlurWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::DrawWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::SmearWeightPaintOperation::on_stroke_begin(), blender::meshintersect::operator<<(), blender::bke::pbvh::pbvh_bmesh_split_edge(), blender::ed::sculpt_paint::undo::restore_vert_visibility_mesh(), blender::realtime_compositor::SymmetricSeparableBlurWeights::SymmetricSeparableBlurWeights(), blender::bke::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), blender::length_parameterize::tests::TEST(), track_mask_gpencil_layer_rasterize(), transform_mesh_edge_slide_data_create(), transform_mesh_uv_edge_slide_data_create(), blender::ed::space_node::tree_draw_order_update(), blender::nodes::LazyFunctionForForeachGeometryElementZone::try_extract_element_geometries(), VertSlideData::update_active_edges(), VertSlideData::update_active_vert(), blender::ed::sculpt_paint::islands::vert_disjoint_set_to_islands(), blender::ed::greasepencil::vertex_group_normalize_exec(), and SubdivCCG::~SubdivCCG().
|
inlinestatic |
Get the value of the InlineBufferCapacity template argument. This is the number of elements that can be stored without doing an allocation.
Definition at line 379 of file BLI_array.hh.
|
inline |
Returns true when the number of elements in the array is zero.
Definition at line 253 of file BLI_array.hh.
Referenced by blender::ed::sculpt_paint::cloth::add_constraints_for_verts(), blender::ed::object::apply_eval_grease_pencil_data(), BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_editmesh_cache_calc_minmax(), BKE_editmesh_cache_ensure_face_centers(), BKE_editmesh_cache_ensure_face_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_editmesh_looptris_calc_with_partial_ex(), BKE_mesh_wrapper_ensure_mdata(), BKE_mesh_wrapper_vert_coords_copy(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), BKE_sculpt_get_first_deform_matrices(), BKE_sculptsession_free_vwpaint_data(), BKE_subdiv_ccg_start_face_grid_index_ensure(), blendthumb_create_png_data_from_thumb(), BM_mesh_bm_from_me(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), clip_lasso_select_exec(), clip_lasso_select_exec(), createEdgeSlideVerts(), createVertSlideVerts(), blender::ed::sculpt_paint::do_brush_action(), blender::ed::sculpt_paint::do_displacement_smear_brush(), blender::ed::sculpt_paint::do_layer_brush(), blender::draw::DRW_subdivide_loose_geom(), blender::ed::sculpt_paint::mask::duplicate_mask(), ensure_non_lazy_normals(), blender::draw::extract_normals_bm(), blender::bke::greasepencil::convert::AnimDataConvertor::fcurves_convert(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::mask::gather_mask_grids(), blender::io::obj::OBJMesh::get_face_normal_indices(), blender::ed::greasepencil::grease_pencil_stroke_trim(), blender::nodes::node_geo_curve_to_mesh_cc::grease_pencil_to_mesh(), blender::ed::sculpt_paint::boundary::init_falloff_grids(), blender::ed::sculpt_paint::vwpaint::init_session_data(), blender::GVectorArray::is_empty(), blender::geometry::lookup_tris_in_cell(), blender::bke::mesh_calc_edges(), mesh_data_from_duplicator_object(), blender::draw::mesh_render_data_loose_geom_ensure(), multires_reshape_assign_final_coords_from_ccg(), blender::ed::space_node::node_find_indicated_socket(), blender::ed::space_node::node_lasso_select_exec(), OVERLAY_sculpt_cache_populate(), SCULPT_fake_neighbors_ensure(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), blender::bke::greasepencil::convert::AnimDataConvertor::source_has_animation_to_convert(), blender::ed::sculpt_paint::undo::store_mask_grids(), UI_svg_icon_bitmap(), blender::bke::pbvh::update_mask_grids(), uv_lasso_select_exec(), blender::ed::sculpt_paint::islands::vert_id_get(), blender::ed::sculpt_paint::expand::vert_to_face_falloff(), view3d_lasso_select_exec(), and wpaint_stroke_test_start().
|
inline |
Definition at line 291 of file BLI_array.hh.
References BLI_assert.
|
inline |
Return a reference to the nth last element. This invokes undefined behavior when the array is too short.
Definition at line 285 of file BLI_array.hh.
References BLI_assert.
Referenced by blender::bke::mesh::build_edge_to_face_map(), blender::bke::mesh::build_vert_to_face_map(), blender::bke::curve_to_mesh_sweep(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves_CurveGeometry(), blender::index_mask::get_static_index_mask_for_min_size(), blender::draw::mesh_render_data_faces_sorted_build(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::geometry::point_merge_by_distance(), blender::io::usd::USDCurvesReader::read_curve_sample(), and blender::geometry::weld_edge_find_doubles().
|
inline |
Definition at line 215 of file BLI_array.hh.
|
inline |
Definition at line 227 of file BLI_array.hh.
|
inline |
Definition at line 210 of file BLI_array.hh.
|
inline |
Definition at line 221 of file BLI_array.hh.
|
inlinenoexcept |
Definition at line 191 of file BLI_array.hh.
References blender::move_assign_container().
|
inline |
Definition at line 186 of file BLI_array.hh.
References blender::copy_assign_container().
|
inline |
Definition at line 196 of file BLI_array.hh.
References BLI_assert.
|
inline |
Definition at line 203 of file BLI_array.hh.
References BLI_assert.
|
inline |
Definition at line 328 of file BLI_array.hh.
References blender::Array< T, InlineBufferCapacity, Allocator >::end().
|
inline |
Definition at line 337 of file BLI_array.hh.
References blender::Array< T, InlineBufferCapacity, Allocator >::end().
|
inline |
Destruct values and create a new array of the given size. The values in the new array are default constructed.
Definition at line 388 of file BLI_array.hh.
References BLI_assert, blender::default_construct_n(), and blender::destruct_n().
Referenced by blender::nodes::node_geo_duplicate_elements_cc::accumulate_counts_to_offsets(), blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), blender::bke::Instances::almost_unique_ids(), apply_weights_vertex_normal(), BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_editmesh_cache_ensure_face_centers(), BKE_editmesh_cache_ensure_face_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_editmesh_looptris_calc_ex(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_sculpt_get_first_deform_matrices(), BKE_subdiv_ccg_start_face_grid_index_ensure(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me_compact(), BPy_BoolVectorProperty(), BPy_FloatVectorProperty(), BPy_IntVectorProperty(), blender::bke::mesh::build_edge_to_face_map(), blender::bke::mesh::build_vert_to_edge_map(), blender::bke::mesh::build_vert_to_face_map(), blender::io::obj::OBJMesh::calc_face_order(), blender::geometry::calc_vert_ranges_per_old_vert(), blender::ed::sculpt_paint::create_node_vert_offsets(), blender::ed::sculpt_paint::create_node_vert_offsets(), blender::ed::sculpt_paint::create_node_vert_offsets_bmesh(), blender::ed::sculpt_paint::do_enhance_details_brush(), DRW_select_buffer_context_create(), blender::draw::DRW_subdivide_loose_geom(), ED_vpaint_proj_handle_create(), blender::bke::pbvh::uv_islands::EdgeToPrimitiveMap::EdgeToPrimitiveMap(), blender::ed::sculpt_paint::CombOperationExecutor::execute(), blender::draw::extract_tan_init_common(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::ed::sculpt_paint::undo::fill_node_data_grids(), blender::ed::sculpt_paint::undo::fill_node_data_mesh(), blender::geometry::fillet_curves(), blender::ed::greasepencil::find_curve_segments(), blender::bke::greasepencil::convert::find_used_vertex_groups(), blender::bke::pbvh::Tree::from_grids(), blender::bke::pbvh::Tree::from_mesh(), blender::nodes::node_geo_scale_elements_cc::gather_groups(), blender::get_pattern_info(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::PointsOfCurveInput::get_varray_for_context(), blender::nodes::node_geo_index_of_nearest_cc::IndexOfNearestFieldInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::CornersOfEdgeInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::CornersOfFaceInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::CornersOfVertInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::EdgesOfVertInput::get_varray_for_context(), blender::ed::sculpt_paint::hide::grow_shrink_visibility_mesh(), blender::nodes::node_geo_index_switch_cc::IndexSwitchFunction::IndexSwitchFunction(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::init_weight_data_for_drawings(), blender::ed::sculpt_paint::CurvesConstraintSolver::initialize(), knifetool_init(), blender::nodes::LazyFunctionForMutedNode::LazyFunctionForMutedNode(), blender::geometry::merge_customdata_all(), blender::geometry::merge_groups_create(), blender::bke::mesh_calc_edges(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::ed::sculpt_paint::filter::mesh_filter_surface_smooth_init(), blender::draw::mesh_render_data_update_corner_normals(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), normalEditModifier_do(), blender::ed::sculpt_paint::greasepencil::GrabOperation::on_stroke_begin(), op_generic_value_invoke(), blender::nodes::node_geo_interpolate_curves_cc::parameterize_guide_curves(), pose_slide_init(), blender::geometry::preprocess_grease_pencils(), blender::geometry::preprocess_meshes(), blender::bke::Instances::reference_user_counts(), blender::nodes::node_geo_sample_nearest_surface_cc::SampleNearestSurfaceFunction::SampleNearestSurfaceFunction(), blender::ed::sculpt_paint::filter::sculpt_filter_specific_init(), blender::ed::sculpt_paint::select_grow::select_grow_invoke_per_curve(), blender::ed::sculpt_paint::expand::topology_from_state_boundary(), blender::bke::pbvh::uv_islands::TriangleToEdgeMap::TriangleToEdgeMap(), um_arraystore_cd_compact(), blender::ed::sculpt_paint::expand::vert_to_face_falloff(), blender::bke::pbvh::uv_islands::VertToEdgeMap::VertToEdgeMap(), and blender::geometry::weld_mesh_context_create().
|
inline |
Definition at line 332 of file BLI_array.hh.
References blender::Array< T, InlineBufferCapacity, Allocator >::begin().
|
inline |
Definition at line 341 of file BLI_array.hh.
References blender::Array< T, InlineBufferCapacity, Allocator >::begin().
|
inline |
Returns the number of elements in the array.
Definition at line 245 of file BLI_array.hh.
Referenced by blender::bke::Instances::almost_unique_ids(), blender::ed::object::apply_eval_grease_pencil_data(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::begin(), BKE_editmesh_loop_tangent_calc(), BKE_editmesh_looptris_calc_with_partial_ex(), BKE_mesh_validate_arrays(), BKE_sculptsession_free_vwpaint_data(), blf_svg_icon_bitmap(), blender::build_concurrent(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::capacity(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::capacity(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::compute_plane(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::compute_plane_mask(), blender::ed::transform::curves::createTransCurvesVerts(), createTransEditVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), drawEdgeSlide(), drawVertSlide(), DRW_select_buffer_elem_get(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), EDBM_verts_mirror_get_face(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::end(), blender::draw::pbvh::DrawCacheImpl::ensure_material_indices(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::execute(), blender::ed::sculpt_paint::undo::fill_node_data_grids(), blender::ed::sculpt_paint::undo::fill_node_data_mesh(), blender::io::obj::fixup_invalid_face(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::foreach_item(), blender::ed::sculpt_paint::trim::generate_geometry(), blender::render::texturemargin::generate_margin(), blender::draw::grease_pencil_geom_batch_ensure(), blender::bke::compare_meshes::IndexMapping::IndexMapping(), blender::ed::sculpt_paint::gesture::init_from_lasso(), blender::ed::sculpt_paint::vwpaint::init_session_data(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), knife_bvh_init(), knife_bvh_raycast_cb(), knife_find_line_hits(), knife_ray_intersect_face(), knifetool_init_obinfo(), M_Geometry_delaunay_2d_cdt(), blender::geometry::merge_groups_create(), blender::ed::greasepencil::merge_layers(), blender::bke::mesh_calc_edges(), blender::draw::mesh_render_data_update_loose_geom(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), multiresModifier_reshapeFromDeformModifier(), blender::compositor::MultiThreadedRowOperation::PixelCursor::next(), blender::ed::sculpt_paint::greasepencil::AverageWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::BlurWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::DrawWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::SmearWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::SmoothOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::ThicknessOperation::on_stroke_extended(), blender::meshintersect::operator<<(), blender::io::ply::PlyReadBuffer::read_line(), blender::io::obj::OBJMesh::remap_face_index(), blender::string_search::score_query_against_words(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), seq_snap_source_points_build_preview(), seq_snap_source_points_build_timeline(), seq_snap_target_points_build_preview(), seq_snap_target_points_build_timeline(), blender::GVectorArray::size(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size_in_bytes(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size_in_bytes(), blender::geometry::split_edges(), stats_object_edit(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), TEST(), TEST(), transform_mesh_uv_vert_slide_data_create(), transform_mesh_vert_slide_data_create(), blender::nodes::LazyFunctionForForeachGeometryElementZone::try_extract_element_geometries(), um_arraystore_cd_expand(), um_arraystore_cd_free(), VertSlideData::update_active_edges(), uvprojectModifier_do(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values(), and blender::ed::sculpt_paint::islands::vert_disjoint_set_to_islands().