Blender V4.3
blender::Span< T > Class Template Reference

#include <BLI_span.hh>

Inherited by blender::VArraySpan< T >.

Public Types

using value_type = T
 
using pointer = T *
 
using const_pointer = const T *
 
using reference = T &
 
using const_reference = const T &
 
using iterator = const T *
 
using size_type = int64_t
 

Public Member Functions

constexpr Span ()=default
 
constexpr Span (const T *start, int64_t size)
 
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< U, T >)) >
constexpr Span (const U *start, int64_t size)
 
constexpr Span (const std::initializer_list< T > &list)
 
constexpr Span (const std::vector< T > &vector)
 
template<std::size_t N>
constexpr Span (const std::array< T, N > &array)
 
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< U, T >)) >
constexpr Span (Span< U > span)
 
constexpr Span slice (int64_t start, int64_t size) const
 
constexpr Span slice (IndexRange range) const
 
constexpr Span slice_safe (const int64_t start, const int64_t size) const
 
constexpr Span slice_safe (IndexRange range) const
 
constexpr Span drop_front (int64_t n) const
 
constexpr Span drop_back (int64_t n) const
 
constexpr Span take_front (int64_t n) const
 
constexpr Span take_back (int64_t n) const
 
constexpr const Tdata () const
 
constexpr const Tbegin () const
 
constexpr const Tend () const
 
constexpr std::reverse_iterator< const T * > rbegin () const
 
constexpr std::reverse_iterator< const T * > rend () const
 
constexpr const Toperator[] (int64_t index) const
 
constexpr int64_t size () const
 
constexpr bool is_empty () const
 
constexpr int64_t size_in_bytes () const
 
constexpr bool contains (const T &value) const
 
constexpr bool contains_ptr (const T *ptr) const
 
constexpr int64_t count (const T &value) const
 
constexpr const Tfirst () const
 
constexpr const Tlast (const int64_t n=0) const
 
constexpr bool has_duplicates__linear_search () const
 
constexpr bool intersects__linear_search (Span other) const
 
constexpr int64_t first_index (const T &search_value) const
 
constexpr int64_t first_index_try (const T &search_value) const
 
constexpr IndexRange index_range () const
 
constexpr uint64_t hash () const
 
template<typename NewT >
Span< NewT > constexpr cast () const
 

Protected Attributes

const Tdata_ = nullptr
 
int64_t size_ = 0
 

Friends

bool operator== (const Span< T > a, const Span< T > b)
 
bool operator!= (const Span< T > a, const Span< T > b)
 

Detailed Description

template<typename T>
class blender::Span< T >

References an array of type T that is owned by someone else. The data in the array cannot be modified.

Definition at line 75 of file BLI_span.hh.

Member Typedef Documentation

◆ const_pointer

template<typename T >
using blender::Span< T >::const_pointer = const T *

Definition at line 79 of file BLI_span.hh.

◆ const_reference

template<typename T >
using blender::Span< T >::const_reference = const T &

Definition at line 81 of file BLI_span.hh.

◆ iterator

template<typename T >
using blender::Span< T >::iterator = const T *

Definition at line 82 of file BLI_span.hh.

◆ pointer

template<typename T >
using blender::Span< T >::pointer = T *

Definition at line 78 of file BLI_span.hh.

◆ reference

template<typename T >
using blender::Span< T >::reference = T &

Definition at line 80 of file BLI_span.hh.

◆ size_type

template<typename T >
using blender::Span< T >::size_type = int64_t

Definition at line 83 of file BLI_span.hh.

◆ value_type

template<typename T >
using blender::Span< T >::value_type = T

Definition at line 77 of file BLI_span.hh.

Constructor & Destructor Documentation

◆ Span() [1/7]

◆ Span() [2/7]

template<typename T >
blender::Span< T >::Span ( const T * start,
int64_t size )
inlineconstexpr

Definition at line 95 of file BLI_span.hh.

References BLI_assert.

◆ Span() [3/7]

template<typename T >
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< U, T >)) >
blender::Span< T >::Span ( const U * start,
int64_t size )
inlineconstexpr

Definition at line 101 of file BLI_span.hh.

References BLI_assert.

◆ Span() [4/7]

template<typename T >
blender::Span< T >::Span ( const std::initializer_list< T > & list)
inlineconstexpr

Reference an initializer_list. Note that the data in the initializer_list is only valid until the expression containing it is fully computed.

Do: call_function_with_array({1, 2, 3, 4});

Don't: Span<int> span = {1, 2, 3, 4}; call_function_with_array(span);

Definition at line 117 of file BLI_span.hh.

◆ Span() [5/7]

template<typename T >
blender::Span< T >::Span ( const std::vector< T > & vector)
inlineconstexpr

Definition at line 121 of file BLI_span.hh.

◆ Span() [6/7]

template<typename T >
template<std::size_t N>
blender::Span< T >::Span ( const std::array< T, N > & array)
inlineconstexpr

Definition at line 123 of file BLI_span.hh.

◆ Span() [7/7]

template<typename T >
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< U, T >)) >
blender::Span< T >::Span ( Span< U > span)
inlineconstexpr

Support implicit conversions like the one below: Span<T *> -> Span<const T *>

Definition at line 130 of file BLI_span.hh.

Member Function Documentation

◆ begin()

template<typename T >
const T * blender::Span< T >::begin ( ) const
inlineconstexpr

Definition at line 221 of file BLI_span.hh.

References blender::Span< T >::data_.

Referenced by blender::array_utils::all_equal(), blender::ed::greasepencil::attributes_elements_are_equal(), blender::OffsetSpan< T, BaseT >::begin(), BKE_mesh_legacy_convert_mpoly_to_material_indices(), BKE_mesh_legacy_sharp_faces_from_flags(), blender::ed::sculpt_paint::hide::calc_face_hide(), blender::draw::calc_face_visibility_mesh(), blender::Span< T >::contains_ptr(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::draw::extract_edituv_face_dots_mesh(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::greasepencil::find_frames_interval(), blender::io::grease_pencil::get_average(), blender::io::usd::get_loops_polys(), blender::ed::sculpt_paint::hide::grids_show_all(), blender::ed::curves::has_anything_selected(), blender::geometry::lookup_point_bezier(), blender::geometry::boolean::mesh_bm_concat(), blender::offset_indices::OffsetIndices< T >::OffsetIndices(), blender::nodes::partial_eval::NodeInContextDownstreamComparator::operator()(), blender::nodes::partial_eval::NodeInContextUpstreamComparator::operator()(), blender::Span< T >::rend(), blender::bke::mesh::reverse_indices_in_groups(), blender::nodes::node_geo_scale_elements_cc::reverse_indices_in_groups(), blender::length_parameterize::sample_at_lengths(), blender::length_parameterize::sample_uniform(), blender::length_parameterize::sample_uniform_reverse(), blender::index_mask::segments_is_equal(), blender::ed::sculpt_paint::select_grow::select_grow_update(), blender::ed::sculpt_paint::expand::snap_init_from_enabled(), blender::tests::TEST(), text_format_string_literals_check_sorted_array(), transform_mesh_uv_vert_slide_data_create(), WM_drag_get_single_path(), and blender::io::ply::FileBuffer::write_bytes().

◆ cast()

◆ contains()

◆ contains_ptr()

template<typename T >
bool blender::Span< T >::contains_ptr ( const T * ptr) const
inlineconstexpr

Does a constant time check to see if the pointer points to a value in the referenced array. Return true if it is, otherwise false.

Definition at line 292 of file BLI_span.hh.

References blender::Span< T >::begin(), blender::Span< T >::end(), and ptr.

Referenced by BKE_attribute_data_length(), BKE_attribute_domain(), and blender::tests::TEST().

◆ count()

template<typename T >
int64_t blender::Span< T >::count ( const T & value) const
inlineconstexpr

Does a linear search to count how often the value is in the array. Returns the number of occurrences.

Definition at line 301 of file BLI_span.hh.

Referenced by createFaceRingMap(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), and blender::tests::TEST().

◆ data()

template<typename T >
const T * blender::Span< T >::data ( ) const
inlineconstexpr

Returns the pointer to the beginning of the referenced array. This may be nullptr when the size is zero.

Definition at line 216 of file BLI_span.hh.

References blender::Span< T >::data_.

Referenced by blender::geometry::PackIsland::add_polygon(), armature_deform_coords_impl(), blender::bke::CurvesGeometry::bezier_evaluated_offsets_for_curve(), BKE_mesh_calc_loop_tangent_single(), BKE_mesh_calc_loop_tangents(), BKE_mesh_is_valid(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_remap_find_best_match_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_validate(), BKE_object_data_transfer_ex(), BLI_lasso_is_point_inside(), calcEdgeSlide_mval_range(), closest_point_on_surface(), blender::gpu::combine_sources(), blender::LinearAllocator< Allocator >::construct_array_copy(), create_mesh(), blender::bke::greasepencil::Drawing::curve_plane_normals(), CustomData_blend_write(), blender::draw::Manager::data_debug(), blender::index_mask::difference_index_mask_segments(), do_multires_bake(), blender::io::alembic::ABCCurveWriter::do_write(), dynamicPaint_createUVSurface(), ED_mesh_pick_face_vert(), export_hair_curves(), export_pointcloud(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend_unchecked(), blender::geometry::extract_mesh_faces(), blender::draw::extract_tan_init_common(), face_edge_loop_islands_calc(), blender::draw::pbvh::fill_vbo_mask_grids(), blender::draw::pbvh::fill_vbo_position_grids(), find_all_ranges_test(), find_internal_spring_target_vertex(), get_dupliface_transform_from_coords(), blender::io::ply::load_face_element(), blender::io::ply::load_tristrips_element(), mesh_tris_nearest_point_dp(), mesh_tris_spherecast_dp(), mix_normals(), MOD_solidify_nonmanifold_modifyMesh(), blender::ed::object::modifier_skin_armature_create(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), blender::bits::or_bools_into_bits(), blender::io::ply::parse_row_ascii(), blender::bke::pbvh::pbvh_bmesh_face_create(), blender::bke::subdiv::precalc_uv_layer(), blender::gpu::Shader::print_log(), psys_particle_on_dm(), blender::Stack< T, InlineBufferCapacity, Allocator >::push_multiple(), RE_engine_get_current_tiles(), blender::bke::bake::MemoryBlobReader::read(), blender::io::usd::USDCurvesReader::read_curve_sample(), blender::io::ply::read_header(), sculpt_update_object(), blender::index_mask::detail::segments_from_predicate_filter(), blender::VMutableArrayImpl< T >::set_all(), shrinkwrapParams_deform(), blender::bke::greasepencil::Layer::sorted_keys(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_thickness(), blender::draw::Manager::submit_debug(), blender::draw::Manager::submit_debug(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::geometry::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::draw::test_eevee_lut_gen(), blender::gpu::GLShader::transform_feedback_names_set(), blender::io::ply::type_from_string(), blender::ed::sculpt_paint::undo::update_shapekeys(), and view3d_lasso_select().

◆ drop_back()

◆ drop_front()

◆ end()

template<typename T >
const T * blender::Span< T >::end ( ) const
inlineconstexpr

Definition at line 225 of file BLI_span.hh.

References blender::Span< T >::data_, and blender::Span< T >::size_.

Referenced by blender::array_utils::all_equal(), blender::ed::greasepencil::attributes_elements_are_equal(), BKE_mesh_legacy_convert_mpoly_to_material_indices(), BKE_mesh_legacy_sharp_faces_from_flags(), blender::ed::sculpt_paint::hide::calc_face_hide(), blender::draw::calc_face_visibility_mesh(), blender::Span< T >::contains_ptr(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::OffsetSpan< T, BaseT >::end(), blender::draw::extract_edituv_face_dots_mesh(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::greasepencil::find_frames_interval(), blender::io::grease_pencil::get_average(), blender::io::usd::get_loops_polys(), blender::ed::sculpt_paint::hide::grids_show_all(), blender::ed::curves::has_anything_selected(), blender::geometry::lookup_point_bezier(), blender::offset_indices::OffsetIndices< T >::OffsetIndices(), blender::nodes::partial_eval::NodeInContextDownstreamComparator::operator()(), blender::nodes::partial_eval::NodeInContextUpstreamComparator::operator()(), blender::Span< T >::rbegin(), blender::bke::mesh::reverse_indices_in_groups(), blender::nodes::node_geo_scale_elements_cc::reverse_indices_in_groups(), blender::length_parameterize::sample_at_lengths(), blender::length_parameterize::sample_uniform(), blender::length_parameterize::sample_uniform_reverse(), blender::index_mask::segments_is_equal(), blender::ed::sculpt_paint::select_grow::select_grow_update(), blender::ed::sculpt_paint::expand::snap_init_from_enabled(), text_format_string_literals_check_sorted_array(), transform_mesh_uv_vert_slide_data_create(), WM_drag_get_single_path(), and blender::io::ply::FileBuffer::write_bytes().

◆ first()

template<typename T >
const T & blender::Span< T >::first ( ) const
inlineconstexpr

Return a reference to the first element in the array. This invokes undefined behavior when the array is empty.

Definition at line 316 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, and blender::Span< T >::size_.

Referenced by blender::draw::accumululate_material_counts_mesh(), blender::fn::multi_function::ProcedureBuilder::add_call(), blender::array_utils::booleans_mix_calc(), blender::bke::build_mesh_positions(), blender::bke::pbvh::calc_face_bounds(), blender::ed::sculpt_paint::islands::calc_topology_islands_mesh(), blender::geometry::calculate_angles(), blender::bke::curves::bezier::calculate_auto_handles(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::bke::curves::poly::calculate_normals_minimum(), blender::geometry::catmull_rom_to_bezier_handles(), blender::ed::sculpt_paint::greasepencil::compute_auto_flip(), blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::connect_node_to_surface_output(), blender::ed::space_node::connect_nodes_to_aovs(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::execute_realize_grease_pencil_tasks(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::execute_realize_pointcloud_tasks(), blender::bke::fill_mesh_positions(), blender::fill_scene_range_chain(), blender::array_utils::find_all_ranges(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::ed::curves::convert_to_particle_system::find_mface_for_root_position(), blender::ed::greasepencil::get_visible_frames_for_layer(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::length_parameterize::interpolate_to_masked(), blender::bke::curves::bezier::last_cyclic_segment_is_vector(), blender::nodes::LazyFunctionForViewerNode::LazyFunctionForViewerNode(), blender::io::obj::linked_sockets_to_dest_id(), blender::ed::greasepencil::merge_layers(), blender::geometry::nurbs_to_bezier_assign(), proj_paint_add_slot(), blender::ed::greasepencil::stroke_simplify(), blender::tests::TEST(), blender::tests::TEST(), blender::offset_indices::OffsetIndices< T >::total_size(), blender::bke::node_tree_runtime::update_dangling_reroute_nodes(), blender::geometry::update_unselected_edges(), version_geometry_nodes_extrude_smooth_propagation(), and blender::io::usd::world_material_to_dome_light().

◆ first_index()

◆ first_index_try()

template<typename T >
int64_t blender::Span< T >::first_index_try ( const T & search_value) const
inlineconstexpr

Returns the index of the first occurrence of the given value or -1 if it does not exist.

Definition at line 388 of file BLI_span.hh.

References blender::Span< T >::data_, and blender::Span< T >::size_.

Referenced by blender::nodes::node_geo_set_material_cc::assign_material_to_id_geometry(), blender::Span< T >::first_index(), and blender::ed::greasepencil::merge_layers().

◆ has_duplicates__linear_search()

template<typename T >
bool blender::Span< T >::has_duplicates__linear_search ( ) const
inlineconstexpr

Check if the array contains duplicates. Does a linear search for every element. So the total running time is O(n^2). Only use this for small arrays.

Definition at line 337 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, and blender::Span< T >::size_.

Referenced by blender::tests::TEST().

◆ hash()

template<typename T >
uint64_t blender::Span< T >::hash ( ) const
inlineconstexpr

Definition at line 407 of file BLI_span.hh.

References blender::get_default_hash(), and blender::Span< T >::hash().

Referenced by blender::Span< T >::hash().

◆ index_range()

template<typename T >
IndexRange blender::Span< T >::index_range ( ) const
inlineconstexpr

Utility to make it more convenient to iterate over all indices that can be used with this array.

Definition at line 402 of file BLI_span.hh.

References blender::Span< T >::size_.

Referenced by add_face_constraints(), blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), add_interpolated_faces_to_new_mesh(), blender::add_missing_data_block_mappings(), animsys_blend_in_fcurves(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::apply_translations(), attr_create_generic(), attr_create_random_per_island(), attr_create_uv_map(), blender::ed::sculpt_paint::smooth::average_data_grids(), blender::io::grease_pencil::average_gradient_color(), blender::geometry::bezier_generic_to_nurbs(), blender::geometry::bezier_positions_to_nurbs(), BKE_brush_calc_curve_factors(), BKE_mesh_legacy_convert_edges_to_generic(), BKE_mesh_legacy_convert_mpoly_to_material_indices(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_legacy_sharp_faces_from_flags(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_to_curve_nurblist(), BLI_lasso_boundbox(), BLI_lasso_is_edge_inside(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::bm_to_mesh_faces(), blender::ed::greasepencil::build_curves_2d_bvh_from_visible(), blender::ed::spreadsheet::GeometryInstancesTreeView::build_tree_for_instances(), bvhtree_from_mesh_corner_tris_create_tree(), C_BVHTree_FromObject(), blender::draw::calc_adjacency_bm(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::pose::calc_average_face_set_center(), blender::bke::pbvh::calc_boundary_face_normals(), blender::ed::sculpt_paint::calc_distances(), blender::nodes::node_geo_dual_mesh_cc::calc_dual_mesh(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::hide::calc_face_hide(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::mask::calc_new_masks(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_grids(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::islands::calc_topology_islands_mesh(), blender::ed::sculpt_paint::cloth::calc_vert_indices_grids(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::ed::sculpt_paint::cloth::calc_visible_vert_indices_grids(), blender::geometry::calculate_angles(), blender::geometry::calculate_bezier_handles_bezier_mode(), blender::geometry::calculate_bezier_handles_poly_mode(), blender::geometry::calculate_fillet_positions(), blender::geometry::catmull_rom_to_bezier_handles(), blender::nodes::node_geo_distribute_points_on_faces_cc::compute_attribute_outputs(), compute_interpolated_faces(), blender::nodes::node_geo_distribute_points_on_faces_cc::compute_legacy_normal_outputs(), blender::nodes::node_geo_distribute_points_on_faces_cc::compute_normal_outputs(), construct_param_handle_subsurfed(), blender::draw::convert_normals_impl(), blender::array_utils::copy(), blender::bke::bake::copy_bake_items_to_socket_values(), blender::bke::greasepencil::copy_drawing_array(), blender::nodes::node_geo_duplicate_elements_cc::copy_hashed_ids(), blender::bke::copy_indices_to_offset_ranges(), blender::bke::copy_main_point_data_to_mesh_edges(), blender::bke::copy_main_point_data_to_mesh_verts(), copy_masked_verts_to_new_mesh(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_grids(), blender::bke::copy_profile_point_data_to_mesh_edges(), blender::bke::copy_profile_point_data_to_mesh_verts(), blender::geometry::copy_transformed_normals(), blender::geometry::copy_transformed_positions(), correctivesmooth_modifier_do(), blender::geometry::create_id_index_map(), blender::ed::space_node::create_inspection_string_for_field_info(), create_mesh(), blender::ed::space_node::create_multi_input_log_inspection_string(), create_subd_mesh(), createFaceRingMap(), blender::ed::transform::curves::createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), blender::bke::curve_legacy_to_curves(), curve_populate_trans_data_structs(), blender::bke::calc_edges::deselect_known_edges(), blender::bke::discover_tree_zones(), blender::ed::sculpt_paint::geodesic::distances_create(), DRW_select_buffer_context_create(), blender::draw::DRW_subdivide_loose_geom(), dynamic_paint_create_uv_surface_direct_cb(), dynamicPaint_createUVSurface(), dynamicPaint_setInitialColor(), EDBM_unified_findnearest_from_raycast(), blender::fn::evaluate_fields(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::geometry::execute_instances_tasks(), blender::nodes::execute_multi_function_on_value_variant(), blender::nodes::execute_multi_function_on_value_variant__field(), blender::nodes::execute_multi_function_on_value_variant__single(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::execute_realize_grease_pencil_task(), blender::geometry::execute_realize_grease_pencil_tasks(), blender::geometry::execute_realize_mesh_task(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::execute_realize_pointcloud_tasks(), blender::io::usd::export_deform_verts(), export_pointcloud(), blender::draw::extract_attributes(), blender::draw::extract_attributes_subdiv(), blender::draw::extract_edge_idx_loose_geom_subdiv(), blender::draw::extract_edge_index_mesh(), blender::draw::extract_edituv_tris_bm(), blender::draw::extract_lines_bm(), blender::draw::extract_lines_loose_geom_subdiv(), blender::draw::extract_loose_positions_subdiv(), blender::draw::extract_mesh_loose_edge_data(), blender::draw::extract_orco(), blender::draw::extract_points_subdiv_bm(), blender::draw::extract_points_subdiv_mesh(), blender::draw::extract_vert_idx_loose_geom_subdiv(), blender::draw::extract_vert_index_mesh(), blender::ed::curves::extrude_curves(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::bke::mesh::face_area_calc(), blender::bke::mesh::face_center_calc_ngon(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::nodes::node_geo_extrude_mesh_cc::fill_quad_consistent_direction(), blender::draw::pbvh::fill_vbo_face_set_grids(), blender::ed::sculpt_paint::filter_distances_with_radius(), blender::ed::sculpt_paint::filter_plane_side_factors(), blender::ed::sculpt_paint::filter_plane_trim_limit_factors(), blender::ed::sculpt_paint::face_set::filter_verts_with_unique_face_sets_grids(), blender::array_utils::find_all_ranges(), blender::geometry::find_connected_ranges(), blender::ed::view3d::geometry_nodes_gizmos::find_gizmo_geometry_transform_recursive(), blender::find_key_range(), blender::bke::find_nearest_verts(), blender::ed::sculpt_paint::face_set::find_next_available_id(), blender::nodes::node_geo_points_to_curves_cc::find_points_by_group_index(), blender::fn::find_varying_fields(), blender::geometry::finish_rows(), blender::io::obj::fixup_invalid_face(), blender::geometry::foreach_connected_curve(), blender::ed::curves::foreach_selectable_curve_range(), blender::ed::curves::foreach_selectable_point_range(), blender::index_mask::IndexMask::from_bools(), blender::index_mask::IndexMask::from_segments(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::face_set::gather_hidden_face_sets(), blender::bke::generate_unique_instance_ids(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::get_bake_state_from_inputs(), blender::io::usd::get_loops_polys(), blender::ed::greasepencil::get_root_and_tips_of_bones(), blender::io::alembic::get_vert_creases(), blender::io::usd::get_vert_creases(), blender::ed::greasepencil::get_visible_frames_for_layer(), blender::string_search::get_word_index_that_fuzzy_matches(), blender::ed::sculpt_paint::hide::grid_hide_update(), blender::ed::sculpt_paint::pose::grow_factors_grids(), blender::ed::sculpt_paint::mask::grow_mask_grids(), blender::nodes::id_property_int_update_enum_items(), blender::OffsetSpan< T, BaseT >::index_range(), blender::ed::curves::init_selection_writers(), blender::ed::sculpt_paint::paint::image::init_uv_primitives_brush_test(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::init_weight_data_for_drawings(), blender::insert_keys_forward(), blender::insert_keys_reverse(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::geometry::invert_permutation(), blender::nodes::node_geo_sort_elements_cc::invert_permutation(), blender::ed::greasepencil::join_curves(), blender::geometry::join_curves(), blender::geometry::join_instances(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::LazyFunctionForBakeNode(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::LazyFunctionForSimulationInputNode(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::LazyFunctionForSimulationOutputNode(), blender::ed::space_node::link_path_intersection(), blender::io::ply::load_custom_attributes(), blender::nodes::node_geo_bake_cc::make_bake_socket_config(), blender::nodes::node_geo_simulation_cc::make_bake_socket_config(), make_duplis_geometry_set_impl(), blender::ed::sculpt_paint::mask::mask_equals_array_grids(), blender::geometry::merge_groups_create(), blender::geometry::merge_layers(), blender::geometry::boolean::mesh_bm_concat(), blender::geometry::boolean::mesh_boolean_float(), blender::bke::pbvh::uv_islands::mesh_data_init_edges(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), mesh_get_x_mirror_faces(), blender::ed::object::mesh_is_manifold_consistent(), blender::bke::mesh::mesh_normals_corner_custom_set(), blender::bke::bake::move_bake_items_to_socket_values(), blender::bke::bake::move_socket_values_to_bake_items(), blender::nodes::node_geo_simulation_cc::move_values_to_simulation_state(), blender::ed::sculpt_paint::mask::multiply_add(), multires_reshape_apply_base_update_mesh_coords(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::nodes::node_geo_index_switch_cc::node_declare(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_get_invalid_links_extra_info(), blender::bke::pbvh::node_raycast_grids(), blender::bke::pbvh::node_raycast_mesh(), blender::ed::space_node::node_select_same_type_step_exec(), blender::bke::pbvh::pixels::NonManifoldUVEdges::NonManifoldUVEdges(), blender::bke::mesh::normal_calc_ngon(), ntree_exec_begin(), blender::draw::overlay::Prepass::object_sync(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_cached_state(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_mixed_cached_state(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::output_simulation_state_copy(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::output_simulation_state_move(), blender::bke::node_interface::item_types::panel_init(), blender::ed::sculpt_paint::hide::partialvis_gesture_update_grids(), blender::ed::sculpt_paint::hide::partialvis_masked_update_grids(), blender::ed::curves::convert_from_particle_system::particles_to_curves(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::pass_through(), blender::bke::pbvh::pbvh_faces_node_nearest_to_ray(), blender::bke::pbvh::pbvh_grids_node_nearest_to_ray(), poly_loops_orders_match(), blender::bke::greasepencil::Layer::prepare_for_dna_write(), blender::draw::process_ibo_verts_mesh(), blender::ed::greasepencil::DrawingPlacement::project(), blender::bke::bake::MemoryBlobReader::read(), remake_graph_transdata(), blender::geometry::reorder_and_flip_attributes_group_to_group(), blender::geometry::reorder_attributes_group_to_group(), blender::geometry::reorder_customdata(), reorder_customdata(), blender::ed::greasepencil::DrawingPlacement::reproject(), blender::ed::sculpt_paint::undo::restore_face_sets(), blender::ed::sculpt_paint::undo::restore_mask_grids(), blender::ed::sculpt_paint::undo::restore_position_grids(), blender::ed::sculpt_paint::undo::restore_vert_visibility_grids(), blender::geometry::retrieve_attribute_spans(), blender::geometry::retrieve_attribute_spans(), blender::bke::mesh::reverse_indices_in_groups(), blender::nodes::node_geo_scale_elements_cc::reverse_indices_in_groups(), blender::geometry::ReverseUVSampler::sample_many(), blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), blender::ed::sculpt_paint::scatter_data_grids(), blender::string_search::score_query_against_words(), blender::nodes::search_link_ops_for_declarations(), blender::bke::curves::bezier::segment_is_vector(), blender::ed::greasepencil::select_set_mode_exec(), selected_indices_from_vertex_group(), selection_array_from_vertex_group(), blender::bke::VArrayImpl_For_VertexWeights::set_all(), blender::fn::multi_function::CallInstruction::set_params(), blender::ed::sculpt_paint::mask::sharpen_masks(), blender::ed::sculpt_paint::mask::shrink_mask_grids(), blender::bke::shrinkwrap::shrinkwrap_build_boundary_data(), blender::offset_indices::OffsetIndices< T >::slice(), blender::ed::sculpt_paint::SlideOperationExecutor::slide(), blender::geometry::sort_tris_into_rows(), blender::geometry::split_edges(), blender::draw::statvis_calc_thickness(), blender::io::obj::OBJMesh::store_normal_coords_and_indices(), blender::ed::sculpt_paint::undo::store_vert_visibility_grids(), blender::animrig::StripKeyframeData::StripKeyframeData(), blender::geometry::subdivide_attribute_linear(), blender::geometry::subdivide_bezier_positions(), blender::draw::detail::PassBase< DrawCommandBufType >::subpass_transition(), blender::gpu::GLFrameBuffer::subpass_transition_impl(), blender::gpu::MTLFrameBuffer::subpass_transition_impl(), blender::ed::sculpt_paint::smooth::surface_smooth_displace_step(), blender::ui::template_breadcrumbs(), blender::bke::greasepencil::tests::TEST(), blender::bke::greasepencil::tests::TEST(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::geometry::toposort_connected_curves(), blender::ed::sculpt_paint::transform_positions(), transform_positions(), blender::ed::sculpt_paint::translations_from_new_positions(), blender::ed::sculpt_paint::translations_from_offset_and_factors(), blender::bke::try_capture_fields_on_geometry(), blender::ed::space_node::ui_node_link_items(), blender::nodes::node_geo_distribute_points_on_faces_cc::update_elimination_mask_based_on_density_factors(), blender::nodes::update_input_properties_from_node_tree(), blender::nodes::update_output_properties_from_node_tree(), blender::bke::compare_meshes::update_set_ids(), blender::bke::compare_meshes::update_set_ids_with_id_maps(), update_transdata_bezt_pointers(), blender::bke::update_zone_per_node(), blender::bke::pbvh::uv_islands::UVIslands::UVIslands(), VoronoiVertexWeight::VoronoiVertexWeight(), and blender::geometry::weld_edge_find_doubles().

◆ intersects__linear_search()

template<typename T >
bool blender::Span< T >::intersects__linear_search ( Span< T > other) const
inlineconstexpr

Returns true when this and the other array have an element in common. This should only be called on small arrays, because it has a running time of O(n*m) where n and m are the sizes of the arrays.

Definition at line 359 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, and blender::Span< T >::size_.

◆ is_empty()

template<typename T >
bool blender::Span< T >::is_empty ( ) const
inlineconstexpr

Returns true if the size is zero.

Definition at line 261 of file BLI_span.hh.

References blender::Span< T >::size_.

Referenced by blender::draw::accumululate_material_counts_mesh(), achannel_is_part_of_disconnected_slot(), blender::fn::multi_function::ProcedureBuilder::add_call(), blender::bke::add_orco_mesh(), blender::nodes::GeometryNodesLazyFunctionLogger::add_thread_id_debug_message(), attr_create_random_per_island(), blender::io::grease_pencil::average_gradient_color(), blender::ed::object::bake_objects_check(), BKE_crazyspace_set_quats_editmesh(), BKE_crazyspace_set_quats_mesh(), BKE_mesh_calc_loop_tangent_single(), BKE_mesh_calc_smoothgroups(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_loop(), BLI_lasso_is_edge_inside(), BLI_lasso_is_point_inside(), bm_edge_tag_from_smooth(), bm_edge_tag_from_smooth_and_set_sharp(), blender::draw::bm_face_no_get(), BM_mesh_bm_from_me(), bm_mesh_edges_sharp_tag(), bm_mesh_loops_calc_normals__multi_threaded(), bm_mesh_loops_calc_normals__single_threaded(), bm_mesh_loops_calc_normals_for_loop(), bm_mesh_loops_calc_normals_no_autosmooth(), bm_mesh_verts_calc_normals(), blender::draw::bm_vert_co_get(), blender::draw::bm_vert_no_get(), blender::bke::mesh::build_edge_to_corner_map_with_flip_and_sharp(), blender::bke::build_mesh_positions(), blender::draw::calc_adjacency_mesh(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_mesh(), blender::draw::calc_face_tri_starts_mesh(), blender::draw::calc_face_visibility_mesh(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::draw::calc_mesh_edge_visibility(), calc_ortho_extent(), blender::ed::sculpt_paint::islands::calc_topology_islands_mesh(), blender::draw::pbvh::calc_use_flat_layout(), blender::draw::calc_vert_visibility_mapped_mesh(), blender::draw::calc_vert_visibility_mesh(), blender::draw::calc_visible_loose_edge_indices(), calcEdgeSlide_mval_range(), calculate_weld(), blender::ed::object::catalog_assets_draw(), blender::nodes::GeoNodeExecParams::check_input_geometry_set(), blender::ed::sculpt_paint::face_set::check_single_face_set(), cloth_apply_vgroup(), blender::ed::sculpt_paint::expand::colors_update_task(), blender::ed::space_node::connect_nodes_to_aovs(), blender::LinearAllocator< Allocator >::construct_array_copy(), blender::geometry::convert_curves_to_nurbs(), blender::compositor::NodeOperationBuilder::convert_to_operations(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_mesh(), blender::io::hydra::copy_submesh(), blender::bke::mesh::corner_fan_space_define(), blender::bke::mesh::corner_tris_calc_impl(), blender::bke::mesh::corner_tris_calc_with_normals(), blender::draw::pbvh::create_index_faces(), blender::ed::space_node::create_inspection_string_for_default_socket_value(), blender::ed::space_node::create_inspection_string_for_field_info(), blender::ed::space_node::create_inspection_string_for_geometry_info(), blender::ed::space_node::create_inspection_string_for_geometry_socket(), create_mesh(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::bke::create_orco_mesh(), blender::geometry::create_result_ids(), create_subd_mesh(), blender::geometry::tests::create_test_curves(), blender::draw::pbvh::create_tri_index_mesh(), curve_point_as_float4(), curve_rename_fcurves(), blender::ed::sculpt_paint::face_set::delete_geometry(), blender::index_mask::difference_index_mask_segments(), blender::ed::sculpt_paint::geodesic::distances_create(), blender::ed::sculpt_paint::do_layer_brush(), do_vpaint_brush_blur_loops(), do_vpaint_brush_blur_verts(), do_vpaint_brush_smear(), draw_pbvh_nodes(), blender::draw::DebugDraw::draw_polygon(), blender::draw::draw_subdiv_cache_extra_coarse_face_data_mapped(), blender::draw::draw_subdiv_cache_extra_coarse_face_data_mesh(), blender::draw::DRW_subdivide_loose_geom(), DRW_text_edit_mesh_measure_stats(), EDBM_preselect_edgering_update_from_edge(), EDBM_preselect_elem_update_from_single(), EDBM_unified_findnearest_from_raycast(), edgering_vcos_get(), edgering_vcos_get_pair(), blender::ed::sculpt_paint::boundary::edit_data_init_mesh(), blender::ed::sculpt_paint::face_set::edit_grow_shrink(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), blender::draw::pbvh::DrawCacheImpl::ensure_tris_batches(), blender::bke::subdiv::eval_refine_from_mesh(), blender::fn::evaluate_fields(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::evaluated_positions(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::ed::sculpt_paint::DensityAddOperationExecutor::execute(), blender::nodes::LazyFunctionForSimulationInputsUsage::execute_impl(), blender::geometry::execute_instances_tasks(), blender::geometry::execute_realize_curve_task(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::execute_realize_edit_data_tasks(), blender::geometry::execute_realize_grease_pencil_tasks(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::execute_realize_pointcloud_tasks(), export_hair_curves(), export_pointcloud(), export_pointcloud_motion(), blender::draw::extract_edge_idx_loose_geom_subdiv(), blender::draw::extract_edituv_lines_mesh(), blender::draw::extract_edituv_lines_subdiv_mesh(), blender::draw::extract_edituv_points_mesh(), blender::draw::extract_lines_loose_geom_subdiv(), blender::draw::extract_lines_paint_mask_subdiv(), blender::draw::extract_loose_positions_subdiv(), blender::draw::extract_normals_mesh(), blender::draw::extract_paint_overlay_flags(), blender::draw::extract_points_bm(), blender::draw::extract_points_subdiv_mesh(), blender::draw::extract_tan_init_common(), blender::draw::extract_vert_idx_loose_geom_subdiv(), blender::draw::extract_vertex_flags(), blender::draw::extract_weights_mesh(), face_dupli_from_editmesh(), blender::ed::sculpt_paint::expand::face_state_get(), blender::ed::sculpt_paint::fake_neighbor_search_mesh(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::fill_mesh_face_or_corner_attribute(), blender::fill_scene_range_chain(), blender::draw::pbvh::fill_vbo_normal_grids(), blender::draw::pbvh::fill_vbo_normal_mesh(), blender::draw::pbvh::fill_vbos_mesh(), blender::array_utils::find_all_ranges(), fix_geometry_nodes_object_info_scale(), blender::index_mask::IndexMask::foreach_range(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::bke::pbvh::Tree::from_mesh(), blender::index_mask::IndexMask::from_segments(), blender::ed::sculpt_paint::face_set::gather_hidden_face_sets(), blender::geometry::gather_realize_tasks_for_instances(), blender::geometry::gather_vert_attributes(), blender::geometry::gaussian_blur_1D(), blender::io::ply::generate_vertex_map(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), blender::ed::sculpt_paint::boundary::get_closest_boundary_vert_mesh(), blender::bke::subdiv::get_edge_sharpness(), blender::io::obj::OBJMesh::get_face_deform_group_index(), blender::bke::CurvesVertexGroupsAttributeProvider::get_for_vertex_group_index(), blender::bke::MeshVertexGroupsAttributeProvider::get_for_vertex_group_index(), blender::ed::sculpt_paint::mask::get_hidden_verts(), blender::ed::object::get_vert_def_nr(), blender::bke::subdiv::get_vertex_sharpness(), blender::ed::greasepencil::get_visible_frames_for_layer(), getname_anim_fcurve_for_slot(), gradientVertInit__mapFunc(), blender::ed::sculpt_paint::pose::grow_factors_bmesh(), blender::ed::sculpt_paint::pose::grow_factors_grids(), blender::ed::sculpt_paint::pose::grow_factors_mesh(), harmonic_ray_callback(), blender::ed::sculpt_paint::auto_mask::init_face_sets_masking(), blender::ed::sculpt_paint::face_set::init_flood_fill(), blender::geometry::interpolate_curves(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::index_mask::intersect_index_mask_segments(), blender::OffsetSpan< T, BaseT >::is_empty(), blender::animrig::Action::is_slot_animated(), blender::ed::sculpt_paint::boundary::is_vert_in_editable_boundary_mesh(), blender::nodes::LazyFunctionForViewerNode::LazyFunctionForViewerNode(), blender::bke::pbvh::leaf_needs_material_split(), lineart_identify_corner_tri_feature_edges(), lineart_load_tri_task(), blender::bke::mesh::lnor_space_for_single_fan(), blender::nodes::GeometryNodesLazyFunctionLogger::log_socket_value(), make_child_duplis_faces_from_editmesh(), make_child_duplis_verts_from_editmesh(), make_duplis_faces(), make_duplis_verts(), blender::geometry::merge_layers(), blender::geometry::boolean::mesh_boolean_float(), mesh_calc_tri_tessface(), blender::bke::mesh::mesh_edges_sharp_tag(), blender::bke::mesh::mesh_normals_corner_custom_set(), blender::ed::sculpt_paint::hide::mesh_show_all(), MOD_solidify_nonmanifold_modifyMesh(), blender::modify_curves(), blender::modify_drawing(), modify_mesh(), blender::modifyGeometry(), blender::ed::object::multiresbake_check(), blender::ed::sculpt_paint::nearest_vert_calc_mesh(), blender::ed::sculpt_paint::smooth::neighbor_data_average_mesh_check_loose(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_bmesh(), blender::ed::space_node::node_add_catalog_assets_draw(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), blender::ed::space_node::node_get_invalid_links_extra_info(), blender::bke::pbvh::node_raycast_grids(), blender::bke::pbvh::node_raycast_mesh(), blender::bke::pbvh::node_update_visibility_mesh(), blender::ed::sculpt_paint::hide::node_visible_verts(), object_mouse_select_menu(), blender::bits::or_bools_into_bits(), paintvert_select_ungrouped(), blender::bke::pbvh::pbvh_faces_node_nearest_to_ray(), blender::bke::pbvh::pbvh_grids_node_nearest_to_ray(), proj_paint_add_slot(), blender::Stack< T, InlineBufferCapacity, Allocator >::push_multiple(), query_right_side_strips(), RE_bake_pixels_populate(), blender::bke::mesh::reverse_indices_in_groups(), blender::nodes::node_geo_scale_elements_cc::reverse_indices_in_groups(), blender::geometry::ReverseUVSampler::ReverseUVSampler(), blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), blender::draw::sculpt_batches_get_ex(), blender::index_mask::segments_from_indices(), blender::bke::greasepencil::select_from_group(), SEQ_transform_seqbase_shuffle_time(), sequencer_retiming_keys_draw(), shrinkwrapParams_deform(), blender::ed::curves::snap_curves_to_surface::snap_curves_to_surface_exec_object(), blender::bke::greasepencil::Layer::sorted_keys_iterator_at(), blender::bke::mesh::split_corner_normal_fan_do(), blender::unique_sorted_indices::split_to_ranges_and_spans(), blender::draw::statvis_calc_distort(), blender::ed::sculpt_paint::undo::store_face_sets(), blender::ed::sculpt_paint::undo::store_face_visibility(), blender::io::obj::OBJMesh::store_uv_coords_and_indices(), blender::ed::sculpt_paint::undo::store_vert_visibility_mesh(), blender::tests::TEST(), blender::tests::TEST(), timeline_cache_draw_geometry_nodes(), blender::bke::crazyspace::GeometryDeformation::translation_from_deformed_to_original(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), ui_litem_grid_flow_compute(), blender::index_mask::union_index_mask_segments(), blender::bke::node_tree_runtime::update_dangling_reroute_nodes(), blender::bke::node_tree_runtime::update_group_output_node(), blender::bke::NodeTreeMainUpdater::update_rooted(), blender::geometry::update_unselected_edges(), blender::bke::pbvh::update_visibility_faces(), vcos_get(), vcos_get_pair(), version_geometry_nodes_extrude_smooth_propagation(), blender::ed::sculpt_paint::hide::vert_all_faces_visible_get(), blender::ed::sculpt_paint::face_set::vert_has_face_set(), blender::ed::sculpt_paint::face_set::vert_has_face_set(), blender::ed::sculpt_paint::face_set::vert_has_unique_face_set(), blender::ed::sculpt_paint::face_set::vert_has_unique_face_set(), blender::ed::sculpt_paint::vert_neighbors_get_mesh(), blender::ed::object::vgroup_select_verts(), vpaint_do_draw(), waveModifier_do(), weight_paint_set(), blender::geometry::weld_edge_find_doubles(), blender::io::usd::world_material_to_dome_light(), and blender::io::hydra::CurvesData::write_curves().

◆ last()

template<typename T >
const T & blender::Span< T >::last ( const int64_t n = 0) const
inlineconstexpr

Returns a reference to the nth last element. This invokes undefined behavior when the span is too short.

Definition at line 326 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, and blender::Span< T >::size_.

Referenced by BLI_lasso_is_edge_inside(), blender::geometry::calculate_angles(), blender::bke::curves::bezier::calculate_auto_handles(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::bke::curves::poly::calculate_normals_minimum(), blender::geometry::catmull_rom_to_bezier_handles(), blender::ed::curves::compress_intervals(), blender::ed::sculpt_paint::greasepencil::compute_auto_flip(), blender::ed::space_node::connect_nodes_to_aovs(), blender::ed::greasepencil::create_drawing_data(), blender::ed::space_node::create_inspection_string_for_geometry_info(), blender::ed::space_node::create_inspection_string_for_geometry_socket(), blender::geometry::tests::create_test_curves(), blender::draw::DebugDraw::draw_polygon(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::execute_realize_grease_pencil_tasks(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::fillet_curves(), blender::index_mask::IndexMask::from_segments(), blender::ed::greasepencil::get_visible_frames_for_layer(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::length_parameterize::interpolate_to_masked(), blender::OffsetSpan< T, BaseT >::last(), blender::bke::curves::bezier::last_cyclic_segment_is_vector(), blender::bke::mesh::mesh_normals_corner_custom_set(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), blender::bke::mesh::normal_calc_ngon(), blender::geometry::nurbs_to_bezier_assign(), blender::ed::viewer_path::parse_geometry_nodes_viewer(), blender::ed::greasepencil::primitive_calulate_curve_positions(), blender::ed::curves::resize_curves(), blender::nodes::node_geo_curve_sample_cc::sample_indices_and_factors_to_compressed(), blender::nodes::node_geo_curve_sample_cc::sample_indices_and_lengths(), blender::length_parameterize::sample_uniform(), blender::length_parameterize::sample_uniform_reverse(), blender::ed::greasepencil::stroke_simplify(), blender::geometry::subdivide_curves(), blender::tests::TEST(), blender::tests::TEST(), blender::offset_indices::OffsetIndices< T >::total_size(), blender::geometry::trim_curves(), blender::geometry::trim_sample_length(), and ui_layout_introspect_items().

◆ operator[]()

template<typename T >
const T & blender::Span< T >::operator[] ( int64_t index) const
inlineconstexpr

Access an element in the array. This invokes undefined behavior when the index is out of bounds.

Definition at line 243 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, and blender::Span< T >::size_.

◆ rbegin()

template<typename T >
std::reverse_iterator< const T * > blender::Span< T >::rbegin ( ) const
inlineconstexpr

Definition at line 230 of file BLI_span.hh.

References blender::Span< T >::end().

Referenced by blender::tests::TEST().

◆ rend()

template<typename T >
std::reverse_iterator< const T * > blender::Span< T >::rend ( ) const
inlineconstexpr

Definition at line 234 of file BLI_span.hh.

References blender::Span< T >::begin().

Referenced by blender::tests::TEST().

◆ size()

template<typename T >
int64_t blender::Span< T >::size ( ) const
inlineconstexpr

Returns the number of elements in the referenced array.

Definition at line 253 of file BLI_span.hh.

References blender::Span< T >::size_.

Referenced by blender::ed::sculpt_paint::accumulate_weighted_average_position(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_smoothing(), blender::io::alembic::add_bezier_control_point(), blender::io::usd::add_bezier_control_point(), blender::ed::curves::add_curves(), add_face_constraints(), blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), add_interp_verts_copy_edges_to_new_mesh(), add_interpolated_faces_to_new_mesh(), blender::add_missing_data_block_mappings(), blender::geometry::PackIsland::add_polygon(), blender::bke::Instances::almost_unique_ids(), animsys_blend_fcurves_quaternion(), animsys_quaternion_evaluate_fcurves(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::mask::apply_mask_grids(), blender::ed::sculpt_paint::apply_translations(), blender::ed::sculpt_paint::apply_translations(), blender::ed::sculpt_paint::apply_translations(), apply_weights_vertex_normal(), armature_deform_coords_impl(), arrayModifier_doArray(), blender::ed::asset::asset_operation_get_id_vec_stats_from_ids(), blender::ed::sculpt_paint::smooth::average_data_bmesh(), blender::ed::sculpt_paint::smooth::average_data_grids(), blender::io::grease_pencil::average_gradient_color(), blender::ed::sculpt_paint::smooth::average_positions(), blender::gpu::MTLParallelShaderCompiler::batch_compile(), blender::gpu::ShaderCompilerGeneric::batch_compile(), blender::gpu::VKShaderCompiler::batch_compile(), BKE_armature_deform_coords_with_curves(), BKE_brush_calc_curve_factors(), BKE_bvhtree_from_mesh_get(), BKE_mesh_calc_loop_tangents(), BKE_mesh_is_valid(), BKE_mesh_legacy_convert_polys_to_offsets(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_runtime_is_valid(), BKE_mesh_to_curve_nurblist(), BKE_mesh_validate(), BKE_object_as_kdtree(), BKE_object_data_transfer_ex(), BLI_lasso_is_point_inside(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), bm_face_create_from_mpoly(), blender::animrig::bonecolls_copy_expanded_flag(), blender::ed::greasepencil::build_curves_2d_bvh_from_visible(), blender::nodes::node_geo_interpolate_curves_cc::build_kdtrees_for_root_positions(), blender::bke::build_mesh_positions(), blender::fn::build_multi_function_procedure_for_fields(), bvhtree_from_mesh_corner_tris_create_tree(), C_BVHTree_FromObject(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::boundary::calc_bend_grids(), blender::ed::sculpt_paint::boundary::calc_bend_position(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::geometry::calc_corner_groups_for_vertex(), calc_deltas(), blender::ed::sculpt_paint::calc_distances(), blender::bke::pbvh::calc_face_bounds(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::io::obj::OBJMesh::calc_face_order(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::boundary::calc_grab_grids(), blender::ed::sculpt_paint::boundary::calc_grab_position(), blender::ed::sculpt_paint::boundary::calc_inflate_grids(), blender::ed::sculpt_paint::boundary::calc_inflate_position(), blender::geometry::calc_new_edges(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_mesh(), blender::geometry::calc_position_with_interpolation(), blender::geometry::calc_position_without_interpolation(), blender::geometry::calc_radius_with_interpolation(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_bmesh(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_faces(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_grids(), blender::ed::sculpt_paint::boundary::calc_slide_grids(), blender::ed::sculpt_paint::boundary::calc_slide_position(), blender::ed::sculpt_paint::boundary::calc_smooth_grids(), blender::io::obj::OBJMesh::calc_smooth_groups(), blender::ed::sculpt_paint::boundary::calc_smooth_position(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::boundary::calc_twist_grids(), blender::ed::sculpt_paint::boundary::calc_twist_position(), blender::ed::sculpt_paint::cloth::calc_vert_indices_grids(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::draw::calc_visible_loose_edge_indices(), blender::ed::sculpt_paint::cloth::calc_visible_vert_indices_grids(), blender::bke::curves::nurbs::calculate_basis_for_point(), blender::bke::curves::bezier::calculate_evaluated_offsets(), blender::bke::curves::poly::calculate_normals_minimum(), blender::bke::curves::poly::calculate_normals_z_up(), blender::geometry::catmull_rom_to_bezier_handles(), blender::geometry::catmull_rom_to_nurbs_positions(), cloth_from_mesh(), blender::gpu::combine_sources(), blender::ed::curves::compress_intervals(), blender::ed::sculpt_paint::greasepencil::compute_auto_flip(), compute_interpolated_faces(), compute_masked_verts(), computed_masked_faces(), blender::ed::space_node::connect_nested_node_to_node(), blender::LinearAllocator< Allocator >::construct_array_copy(), construct_param_handle_subsurfed(), blender::nodes::node_geo_uv_unwrap_cc::construct_uv_gvarray(), blender::bke::compare_meshes::construct_vertex_mapping(), blender::gpu::convert(), convexhull_points_from_map(), blender::array_utils::copy(), blender::array_utils::copy(), blender::bke::greasepencil::copy_drawing_array(), copy_masked_edges_to_new_mesh(), copy_masked_verts_to_new_mesh(), blender::bke::copy_profile_point_data_to_mesh_verts(), blender::io::hydra::copy_submesh(), blender::bke::mesh::corner_fan_space_define(), blender::bke::mesh::corner_split_generator(), correctivesmooth_modifier_do(), count_fcurves_hidden_by_filter(), blender::bke::pbvh::count_grid_quads(), blender::geometry::create_curve_from_vert_indices(), blender::ed::greasepencil::create_curves_outline(), blender::ed::greasepencil::create_drawing_data(), blender::draw::create_edit_points_position_and_data(), blender::geometry::create_id_index_map(), blender::ed::space_node::create_inspection_string_for_field_info(), blender::draw::pbvh::create_lines_index_grids(), blender::geometry::create_merged_mesh(), create_mesh(), blender::geometry::create_nurbs_to_bezier_handles(), blender::geometry::tests::create_test_curves(), blender::draw::pbvh::create_tri_index_grids(), blender::draw::pbvh::create_tri_index_mesh(), curve_populate_trans_data_structs(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::curves_intersections_and_points_sides(), blender::geometry::curves_merge_endpoints(), blender::gpu::ShaderInterface::debug_print(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), deform_verts(), blender::index_mask::difference_index_mask_segments(), blender::bke::discover_tree_zones(), blender::ed::sculpt_paint::geodesic::distances_create(), do_multires_bake(), blender::ed::sculpt_paint::cloth::do_simulation_step(), DRW_select_buffer_context_create(), blender::draw::DRW_subdivide_loose_geom(), dynamicPaint_createUVSurface(), dynamicPaint_Modifier_apply(), dynamicPaint_setInitialColor(), EDBM_edge_find_nearest_ex(), EDBM_face_find_nearest_ex(), EDBM_vert_find_nearest_ex(), blender::ed::sculpt_paint::boundary::edit_data_init_mesh(), blender::fn::evaluate_fields(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::geometry::execute_instances_tasks(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::execute_realize_grease_pencil_task(), blender::geometry::execute_realize_grease_pencil_tasks(), blender::geometry::execute_realize_mesh_task(), blender::geometry::execute_realize_mesh_tasks(), blender::geometry::execute_realize_pointcloud_tasks(), blender::io::usd::export_deform_verts(), export_hair_curves_motion(), export_pointcloud(), export_pointcloud_motion(), blender::draw::extract_edge_idx_loose_geom_subdiv(), blender::draw::extract_edge_index(), blender::draw::extract_edge_index_bm(), blender::draw::extract_edge_index_mesh(), blender::draw::extract_edit_data_bm(), blender::draw::extract_edit_data_mesh(), blender::draw::extract_edit_subdiv_data_bm(), blender::draw::extract_edit_subdiv_data_mesh(), blender::draw::extract_lines_bm(), blender::draw::extract_lines_mesh(), blender::draw::extract_loose_positions_subdiv(), blender::draw::extract_points_bm(), blender::draw::extract_points_mesh(), blender::draw::extract_points_subdiv_bm(), blender::draw::extract_points_subdiv_mesh(), blender::draw::extract_positions_bm(), blender::draw::extract_positions_mesh(), blender::draw::extract_sculpt_data_subdiv(), blender::draw::extract_tan_init_common(), blender::draw::extract_tris_mesh(), blender::draw::extract_vert_idx_loose_geom_subdiv(), blender::draw::extract_vert_index_bm(), blender::draw::extract_vert_index_mesh(), blender::draw::extract_vert_normals(), blender::draw::extract_vert_normals_bm(), blender::draw::extract_vert_normals_mesh(), blender::draw::extract_weights_mesh(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::bke::mesh::face_angles_calc(), blender::bke::mesh::face_area_calc(), blender::bke::mesh::face_area_centroid_calc(), blender::bke::mesh::face_center_calc(), blender::bke::mesh::face_center_calc_ngon(), face_dupli_from_mesh(), face_edge_loop_islands_calc(), blender::bke::mesh::face_normal_calc(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_mesh(), blender::draw::pbvh::fill_vbo_mask_grids(), blender::draw::pbvh::fill_vbo_position_grids(), blender::ed::sculpt_paint::filter_plane_side_factors(), blender::ed::sculpt_paint::boundary::filter_uninitialized_verts(), blender::ed::sculpt_paint::face_set::filter_verts_with_unique_face_sets_grids(), blender::array_utils::find_all_ranges(), find_all_ranges_test(), blender::geometry::find_connected_ranges(), blender::geometry::find_curve_neighbors(), blender::bke::subdiv::find_edge_neighbors(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::ed::curves::convert_to_particle_system::find_mface_for_root_position(), blender::io::obj::fixup_invalid_face(), blender::ed::sculpt_paint::hide::flush_face_changes_node(), blender::index_mask::IndexMask::from_bools(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::index_mask::IndexMask::from_segments(), blender::geometry::gather_attribute_propagation_components_with_custom_depths(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_grids_positions(), blender::nodes::node_geo_scale_elements_cc::gather_groups(), blender::geometry::gaussian_blur_1D(), blender::render::texturemargin::generate_margin(), blender::ed::greasepencil::generate_stroke_perimeter(), blender::bke::generate_unique_instance_ids(), blender::io::ply::generate_vertex_map(), blender::ed::sculpt_paint::expand::geodesic_falloff_create(), blender::nodes::DOutputSocket::get_active_corresponding_group_output_socket(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::get_bake_state_from_inputs(), blender::ed::sculpt_paint::boundary::get_closest_boundary_vert_mesh(), get_dupliface_transform_from_coords(), blender::bke::crazyspace::get_evaluated_grease_pencil_drawing_deformation(), blender::ed::spreadsheet::get_geometry_set_for_instance_ids(), blender::nodes::ForeachGeometryElementZoneSideEffectProvider::get_nodes_with_side_effects(), blender::nodes::RepeatZoneSideEffectProvider::get_nodes_with_side_effects(), blender::io::alembic::get_topology(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::CornersOfEdgeInput::get_varray_for_context(), blender::nodes::node_geo_mesh_topology_edges_of_corner_cc::CornerPreviousEdgeFieldInput::get_varray_for_context(), gpu_select_query_end(), blender::draw::grease_pencil_geom_batch_ensure(), blender::ed::sculpt_paint::hide::grid_hide_update(), blender::nodes::id_property_int_update_enum_items(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_mesh(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::boundary::indices_init_mesh(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_mesh(), blender::ed::sculpt_paint::face_set::init_flood_fill(), blender::ed::curves::init_selectable_foreach(), blender::ed::sculpt_paint::paint::image::init_uv_primitives_brush_test(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::init_weight_data_for_drawings(), initSystem(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::InplacePriorityQueue(), blender::animrig::insert_keyframes(), blender::insert_keys_reverse(), blender::geometry::interpolate_catmull_rom(), blender::geometry::interpolate_curves(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::length_parameterize::interpolate_to_masked(), blender::index_mask::intersect_index_mask_segments(), blender::geometry::invert_permutation(), blender::nodes::node_geo_sort_elements_cc::invert_permutation(), blender::offset_indices::GroupedSpan< T >::is_empty(), blender::ed::greasepencil::join_curves(), blender::geometry::join_curves(), blender::ed::greasepencil::join_geometries_with_transform(), blender::geometry::join_instances(), blender::eevee::LightBake::LightBake(), lineart_geometry_object_load(), blender::io::obj::linked_sockets_to_dest_id(), blender::io::ply::load_custom_attributes(), blender::gpu::FrameBuffer::load_store_config_array(), blender::nodes::node_geo_bake_cc::make_bake_socket_config(), blender::nodes::node_geo_simulation_cc::make_bake_socket_config(), blender::ed::sculpt_paint::mask::mask_equals_array_grids(), blender::string_search::match_word_initials(), memset_laplacian_system(), blender::geometry::merge_customdata_all(), blender::geometry::merge_groups_create(), blender::ed::greasepencil::merge_layers(), blender::geometry::merge_layers(), merge_uvs_for_vertex(), blender::geometry::boolean::mesh_bm_concat(), blender::geometry::boolean::mesh_boolean_float(), blender::bke::mesh::mesh_calc_face_volume_centroid_with_reference_center(), mesh_calc_islands_loop_face_uv(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_verts(), blender::bke::pbvh::uv_islands::mesh_data_init_edges(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::bke::mesh::mesh_normals_corner_custom_set(), blender::bke::mesh_remesh_reproject_attributes(), blender::ed::sculpt_paint::mask::mix_new_masks(), mix_normals(), modify_mesh(), modify_mesh(), modify_mesh(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), blender::fn::multi_function::procedure_optimization::move_destructs_up(), blender::bke::bake::move_socket_values_to_bake_items(), blender::ed::sculpt_paint::smooth::neighbor_color_average(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::nodes::node_geo_index_switch_cc::node_declare(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), normalEditModifier_do_radial(), blender::ed::greasepencil::normalize_vertex_weights(), blender::bke::mesh::normals_calc_corners(), ntree_exec_begin(), blender::geometry::nurbs_to_bezier_assign(), blender::offset_indices::OffsetIndices< T >::OffsetIndices(), blender::offset_indices::OffsetIndices< T >::operator[](), blender::bits::or_bools_into_bits(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_cached_state(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_mixed_cached_state(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::output_simulation_state_copy(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::output_simulation_state_move(), paintvert_select_less(), blender::bke::node_interface::item_types::panel_init(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::pass_through(), blender::interface::internal::paste_property_drivers(), blender::bke::pbvh::uv_islands::Fan::path_between(), blender::geometry::poly_find_doubles(), blender::io::usd::populate_curve_verts_for_bezier(), blender::ed::sculpt_paint::DensityAddOperationExecutor::prepare_curve_roots_kdtrees(), blender::gpu::Shader::print_log(), proj_paint_state_seam_bleed_init(), project_paint_prepare_all_faces(), blender::geometry::propagate_edge_attributes(), blender::geometry::propagate_vert_attributes(), blender::Stack< T, InlineBufferCapacity, Allocator >::push_multiple(), RE_engine_get_current_tiles(), blender::io::ply::read_header(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::rebuild(), blender::bke::remember_deformed_grease_pencil_if_necessary(), blender::geometry::reorder_customdata(), reorder_customdata(), blender::geometry::reorder_customdata_groups(), blender::reorder_cyclic_curve_points(), blender::ed::sculpt_paint::reset_translations_to_original(), blender::ed::curves::resize_curves(), blender::bke::mesh::reverse_indices_in_groups(), blender::nodes::node_geo_scale_elements_cc::reverse_indices_in_groups(), blender::geometry::ReverseUVSampler::ReverseUVSampler(), blender::length_parameterize::sample_at_lengths(), blender::geometry::sample_curve_attribute(), blender::geometry::ReverseUVSampler::sample_many(), blender::length_parameterize::sample_uniform(), blender::length_parameterize::sample_uniform_reverse(), blender::ed::sculpt_paint::scale_factors(), blender::array_utils::scatter(), blender::array_utils::scatter(), blender::ed::sculpt_paint::scatter_data_bmesh(), blender::ed::sculpt_paint::scatter_data_grids(), blender::ed::sculpt_paint::scatter_data_mesh(), blender::bke::pbvh::uv_islands::Fan::score(), blender::ed::sculpt_paint::face_set::sculpt_check_unique_face_set_for_edge_in_base_mesh(), blender::index_mask::segments_from_indices(), selection_array_from_vertex_group(), blender::ed::curves::selection_attribute_writer_by_name(), seq_get_snap_source_points_count_preview(), seq_get_snap_source_points_count_timeline(), seq_get_snap_target_points_count_preview(), seq_get_snap_target_points_count_timeline(), blender::VMutableArray< T >::set_all(), blender::fn::multi_function::CallInstruction::set_params(), blender::ed::sculpt_paint::mask::sharpen_mask_grids(), blender::bke::shrinkwrap::shrinkwrap_build_boundary_data(), blender::offset_indices::OffsetIndices< T >::size(), blender::OffsetSpan< T, BaseT >::size(), blender::geometry::curve_constraints::solve_length_constraints(), blender::bke::compare_meshes::sort_edges(), blender::bke::compare_meshes::sort_per_set_based_on_attributes(), blender::geometry::split_edges(), blender::unique_sorted_indices::split_to_ranges_and_spans(), blender::io::obj::OBJMesh::store_normal_coords_and_indices(), blender::io::obj::OBJMesh::store_uv_coords_and_indices(), blender::ed::sculpt_paint::undo::store_vert_visibility_grids(), blender::draw::subdiv_full_vbo_size(), blender::draw::subdiv_loose_edges_num(), blender::gpu::FrameBuffer::subpass_transition(), blender::gpu::VKFrameBuffer::subpass_transition_impl(), blender::ed::sculpt_paint::smooth::surface_smooth_displace_step(), blender::ed::sculpt_paint::smooth::surface_smooth_laplacian_step(), blender::ed::space_node::target_for_reroute(), blender::bke::greasepencil::tests::TEST(), blender::bke::greasepencil::tests::TEST(), blender::bke::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::bke::idprop::tests::test_array_to_value(), blender::draw::test_eevee_lut_gen(), blender::tests::test_ref_from_initializer_list(), blender::geometry::toposort_connected_curves(), blender::bke::node_tree_runtime::toposort_from_start_node(), blender::offset_indices::OffsetIndices< T >::total_size(), blender::gpu::GLShader::transform_feedback_names_set(), blender::gpu::MTLShader::transform_feedback_names_set(), blender::ed::sculpt_paint::transform_node_grids(), blender::ed::sculpt_paint::transform_positions(), transform_positions(), blender::ed::sculpt_paint::translations_from_new_positions(), blender::ed::sculpt_paint::translations_from_new_positions(), blender::ed::sculpt_paint::translations_from_offset_and_factors(), blender::bke::try_capture_fields_on_geometry(), blender::io::grease_pencil::GreasePencilExporter::try_get_uniform_point_width(), blender::io::ply::type_from_string(), blender::index_mask::union_index_mask_segments(), blender::bke::node_tree_runtime::update_dangling_reroute_nodes(), blender::bke::pbvh::pixels::update_geom_primitives(), blender::bke::node_tree_runtime::update_group_output_node(), blender::bke::NodeTreeMainUpdater::update_rooted(), blender::bke::compare_meshes::update_set_sizes(), version_geometry_nodes_extrude_smooth_propagation(), version_nodes_find_valid_insert_position_for_item(), blender::nodes::node_geo_extrude_mesh_cc::vert_indices_from_edges(), view3d_lasso_select(), blender::geometry::weld_edge_find_doubles(), blender::geometry::weld_mesh_context_create(), blender::geometry::weld_poly_find_doubles(), blender::geometry::weld_poly_loop_ctx_alloc(), wn_corner_angle(), wn_face_with_angle(), blender::bke::curves::bezier::write_all_positions(), blender::io::ply::FileBuffer::write_bytes(), blender::io::obj::write_mesh_objects(), blender::io::obj::OBJWriter::write_normals(), and blender::io::obj::OBJWriter::write_uv_coords().

◆ size_in_bytes()

template<typename T >
int64_t blender::Span< T >::size_in_bytes ( ) const
inlineconstexpr

◆ slice() [1/2]

template<typename T >
Span blender::Span< T >::slice ( IndexRange range) const
inlineconstexpr

Definition at line 146 of file BLI_span.hh.

References blender::Span< T >::slice(), and blender::IndexRange::start().

◆ slice() [2/2]

template<typename T >
Span blender::Span< T >::slice ( int64_t start,
int64_t size ) const
inlineconstexpr

Returns a contiguous part of the array. This invokes undefined behavior when the start or size is negative.

Definition at line 138 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, blender::Span< T >::size_, and blender::Span< T >::Span().

Referenced by blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_jitter(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_smoothing(), blender::bke::adapt_mesh_domain_face_to_edge_impl(), blender::bke::adapt_mesh_domain_face_to_point_impl(), add_interpolated_faces_to_new_mesh(), blender::ed::sculpt_paint::mask::apply_new_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_new_mask_grids(), blender::ed::sculpt_paint::mask::apply_new_mask_mesh(), blender::ed::sculpt_paint::apply_translations(), blender::bke::CurvesGeometry::bezier_evaluated_offsets_for_curve(), BKE_mesh_calc_area(), BKE_mesh_center_median_from_faces(), BKE_mesh_center_of_surface(), BKE_mesh_center_of_volume(), BKE_mesh_foreach_mapped_face_center(), BKE_mesh_foreach_mapped_subdiv_face_center(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_to_curve_nurblist(), BKE_sculpt_mask_layers_ensure(), BM_mesh_bm_from_me(), blender::array_utils::booleans_mix_calc(), blender::bke::build_mesh_positions(), buildAdjacencyMap(), blender::draw::calc_adjacency_mesh(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::bke::pbvh::calc_face_bounds(), blender::bke::calc_face_centers(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::hide::calc_face_hide(), blender::io::obj::OBJMesh::calc_face_vert_indices(), blender::draw::calc_face_visibility_mesh(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::islands::calc_topology_islands_mesh(), blender::bke::calculate_evaluated_offsets(), blender::ed::sculpt_paint::color::color_vert_set(), compute_interpolated_faces(), computed_masked_faces(), blender::nodes::node_geo_input_mesh_face_area_cc::construct_face_area_varray(), construct_param_handle_subsurfed(), blender::ed::curves::contains(), blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_nurbs(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_grids(), blender::geometry::copy_point_data_between_endpoints(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_curves(), blender::nodes::node_geo_input_mesh_edge_angle_cc::create_edge_map(), GeometryExporter::create_normals(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::draw::pbvh::create_tri_index_mesh(), blender::ed::sculpt_paint::expand::delete_face_set_id(), blender::ed::sculpt_paint::expand::diagonals_falloff_create(), blender::nodes::node_geo_dual_mesh_cc::dissolve_redundant_verts(), blender::ed::sculpt_paint::geodesic::distances_create(), blender::ed::sculpt_paint::cloth::do_simulation_step(), do_vpaint_brush_blur_verts(), do_wpaint_brush_blur(), do_wpaint_brush_smear(), blender::geometry::duplicate_fillet_point_data(), dynamicPaint_initAdjacencyData(), ed_object_select_pick(), blender::ed::sculpt_paint::face_set::edit_grow_shrink(), blender::bke::CurvesGeometry::ensure_evaluated_lengths(), blender::bke::evaluate_generic_data_for_curve(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::evaluated_positions(), blender::bke::CurvesGeometry::evaluated_tangents(), blender::ed::sculpt_paint::CombOperationExecutor::execute(), blender::geometry::execute_realize_curve_task(), blender::draw::pbvh::extract_data_vert_mesh(), blender::draw::extract_edituv_face_dots_mesh(), blender::draw::extract_edituv_tris_mesh(), blender::draw::extract_loose_positions_subdiv(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::bke::mesh::face_find_corner_from_vert(), blender::geometry::face_selection_from_mapped_corner(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::fill_scene_range_fixed(), blender::fill_scene_range_forward(), blender::fill_scene_range_ping_pong(), blender::fill_scene_range_reverse(), blender::draw::pbvh::fill_vbo_mask_grids(), blender::draw::pbvh::fill_vbo_mask_mesh(), blender::draw::pbvh::fill_vbo_normal_grids(), blender::draw::pbvh::fill_vbo_normal_mesh(), blender::draw::pbvh::fill_vbo_position_grids(), blender::geometry::fillet_curves(), blender::index_mask::IndexMask::foreach_segment_zipped(), blender::index_mask::IndexMask::from_bools(), blender::bke::pbvh::Tree::from_mesh(), blender::ed::sculpt_paint::gather_data_grids(), blender::array_utils::gather_group_to_group(), blender::ed::greasepencil::generate_stroke_perimeter(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), get_opposing_edge_index(), blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput::get_varray_for_context(), blender::draw::grease_pencil_geom_batch_ensure(), blender::ed::sculpt_paint::mask::grow_mask_grids(), heat_bone_weighting(), blender::ed::sculpt_paint::face_set::init_flood_fill(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::geometry::lookup_tris_in_cell(), loose_edges_no_hidden_mask_get(), blender::geometry::mapped_corner_selection_from_face(), mesh_calc_hq_normal(), mesh_calc_tri_tessface(), mesh_get_boundaries(), blender::bke::mesh_init_origspace(), mesh_island_to_astar_graph(), mesh_island_to_astar_graph_edge_process(), MOD_solidify_nonmanifold_modifyMesh(), blender::modify_curves(), blender::modify_drawing(), multires_subdivide_create_object_space_linear_grids(), blender::bke::pbvh::node_raycast_grids(), blender::bke::pbvh::normals_calc_faces(), blender::offset_indices::GroupedSpan< T >::operator[](), paintface_minmax(), paintface_select_less(), paintface_select_linked_faces(), paintface_select_loop(), paintvert_select_less(), paintvert_select_more(), blender::ed::sculpt_paint::hide::partialvis_gesture_update_grids(), blender::ed::sculpt_paint::hide::partialvis_masked_update_grids(), blender::bke::pbvh::pbvh_grids_node_nearest_to_ray(), blender::bke::bake::MemoryBlobReader::read(), blender::io::alembic::AbcCurveReader::read_curves_sample(), blender::ed::transform::curves::recent_position_offsets(), blender::geometry::resample_to_evaluated(), blender::geometry::resample_to_uniform(), blender::bke::mesh::reverse_group_indices_in_groups(), blender::ed::sculpt_paint::greasepencil::sample_curve_2d(), blender::geometry::sample_curve_attribute(), blender::geometry::sample_interval_bezier(), blender::ed::sculpt_paint::scatter_data_grids(), blender::index_mask::segments_from_batch_predicate(), blender::index_mask::detail::segments_from_predicate_filter(), blender::ed::sculpt_paint::mask::shrink_mask_grids(), blender::offset_indices::OffsetIndices< T >::slice(), blender::OffsetSpan< T, BaseT >::slice(), blender::OffsetSpan< T, BaseT >::slice(), blender::Span< T >::slice(), blender::geometry::smooth_curve_attribute(), blender::ed::sculpt_paint::expand::snap_init_from_enabled(), blender::geometry::curve_constraints::solve_length_and_collision_constraints(), blender::geometry::subdivide_attribute_catmull_rom(), blender::geometry::subdivide_attribute_linear(), blender::geometry::subdivide_curves(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::geometry::trim_bezier_curves(), blender::geometry::trim_catmull_rom_curves(), blender::geometry::trim_evaluated_curves(), blender::geometry::trim_polygonal_curves(), uv_warp_compute(), uvprojectModifier_do(), blender::bke::pbvh::MeshNode::verts(), weight_paint_set(), weight_sample_group_invoke(), wn_corner_angle(), wn_face_area(), and wn_face_with_angle().

◆ slice_safe() [1/2]

template<typename T >
Span blender::Span< T >::slice_safe ( const int64_t start,
const int64_t size ) const
inlineconstexpr

Returns a contiguous part of the array. This invokes undefined behavior when the start or size is negative. Clamps the size of the new span so it fits in the current one.

Definition at line 155 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, blender::Span< T >::size_, and blender::Span< T >::Span().

Referenced by animsys_blend_in_fcurves(), blender::bke::evaluate_generic_data_for_curve(), blender::bke::CurvesGeometry::evaluated_positions(), blender::index_mask::segments_from_indices(), blender::Span< T >::slice_safe(), and blender::tests::TEST().

◆ slice_safe() [2/2]

template<typename T >
Span blender::Span< T >::slice_safe ( IndexRange range) const
inlineconstexpr

Definition at line 163 of file BLI_span.hh.

References blender::Span< T >::slice_safe(), and blender::IndexRange::start().

◆ take_back()

template<typename T >
Span blender::Span< T >::take_back ( int64_t n) const
inlineconstexpr

Returns a new Span that only contains the last n elements. This invokes undefined behavior when n is negative.

Definition at line 205 of file BLI_span.hh.

References BLI_assert, blender::Span< T >::data_, blender::Span< T >::size_, and blender::Span< T >::Span().

Referenced by blender::geometry::propagate_edge_attributes(), blender::geometry::propagate_vert_attributes(), blender::tests::TEST(), and blender::tests::TEST().

◆ take_front()

Friends And Related Symbol Documentation

◆ operator!=

template<typename T >
bool operator!= ( const Span< T > a,
const Span< T > b )
friend

Definition at line 434 of file BLI_span.hh.

◆ operator==

template<typename T >
bool operator== ( const Span< T > a,
const Span< T > b )
friend

Definition at line 426 of file BLI_span.hh.

Member Data Documentation

◆ data_

◆ size_


The documentation for this class was generated from the following files: