Blender V4.3
blender::Vector< T, InlineBufferCapacity, Allocator > Class Template Reference

#include <BLI_vector.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
 
using allocator_type = Allocator
 

Public Member Functions

 Vector (Allocator allocator={}) noexcept
 
 Vector (NoExceptConstructor, Allocator allocator={}) noexcept
 
 Vector (int64_t size, Allocator allocator={})
 
 Vector (int64_t size, const T &value, Allocator allocator={})
 
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
 Vector (Span< U > values, Allocator allocator={})
 
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
 Vector (MutableSpan< U > values, Allocator allocator={})
 
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
 Vector (const std::initializer_list< U > &values)
 
 Vector (const std::initializer_list< T > &values)
 
template<typename U , size_t N, BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
 Vector (const std::array< U, N > &values)
 
template<typename InputIt , BLI_ENABLE_IF((!std::is_convertible_v< InputIt, int >)) >
 Vector (InputIt first, InputIt last, Allocator allocator={})
 
 Vector (const Vector &other)
 
template<int64_t OtherInlineBufferCapacity>
 Vector (const Vector< T, OtherInlineBufferCapacity, Allocator > &other)
 
template<int64_t OtherInlineBufferCapacity>
 Vector (Vector< T, OtherInlineBufferCapacity, Allocator > &&other) noexcept(is_nothrow_move_constructible())
 
 ~Vector ()
 
Vectoroperator= (const Vector &other)
 
Vectoroperator= (Vector &&other)
 
const Toperator[] (int64_t index) const
 
Toperator[] (int64_t index)
 
 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< Tas_span () const
 
MutableSpan< Tas_mutable_span ()
 
void reserve (const int64_t min_capacity)
 
void resize (const int64_t new_size)
 
void resize (const int64_t new_size, const T &value)
 
void reinitialize (const int64_t new_size)
 
void clear ()
 
void clear_and_shrink ()
 
void append (const T &value)
 
void append (T &&value)
 
template<typename... ForwardValue>
void append_as (ForwardValue &&...value)
 
int64_t append_and_get_index (const T &value)
 
int64_t append_and_get_index (T &&value)
 
template<typename... ForwardValue>
int64_t append_and_get_index_as (ForwardValue &&...value)
 
void append_non_duplicates (const T &value)
 
void append_unchecked (const T &value)
 
void append_unchecked (T &&value)
 
template<typename... ForwardT>
void append_unchecked_as (ForwardT &&...value)
 
void append_n_times (const T &value, const int64_t n)
 
void increase_size_by_unchecked (const int64_t n) noexcept
 
void extend (Span< T > array)
 
void extend (const T *start, int64_t amount)
 
void extend_non_duplicates (Span< T > array)
 
void extend_unchecked (Span< T > array)
 
void extend_unchecked (const T *start, int64_t amount)
 
template<typename InputIt >
void extend (InputIt first, InputIt last)
 
void insert (const int64_t insert_index, const T &value)
 
void insert (const int64_t insert_index, T &&value)
 
void insert (const int64_t insert_index, Span< T > array)
 
template<typename InputIt >
void insert (const T *insert_position, InputIt first, InputIt last)
 
template<typename InputIt >
void insert (const int64_t insert_index, InputIt first, InputIt last)
 
void prepend (const T &value)
 
void prepend (T &&value)
 
void prepend (Span< T > values)
 
template<typename InputIt >
void prepend (InputIt first, InputIt last)
 
const Tlast (const int64_t n=0) const
 
Tlast (const int64_t n=0)
 
const Tfirst () const
 
Tfirst ()
 
int64_t size () const
 
bool is_empty () const
 
void remove_last ()
 
T pop_last ()
 
void remove_and_reorder (const int64_t index)
 
void remove_first_occurrence_and_reorder (const T &value)
 
void remove (const int64_t index)
 
void remove (const int64_t start_index, const int64_t amount)
 
template<typename Predicate >
int64_t remove_if (Predicate &&predicate)
 
int64_t first_index_of_try (const T &value) const
 
int64_t first_index_of (const T &value) const
 
bool contains (const T &value) const
 
void fill (const T &value) const
 
Tdata ()
 
const Tdata () const
 
Tbegin ()
 
Tend ()
 
const Tbegin () const
 
const Tend () const
 
std::reverse_iterator< T * > rbegin ()
 
std::reverse_iterator< T * > rend ()
 
std::reverse_iterator< const T * > rbegin () const
 
std::reverse_iterator< const T * > rend () const
 
int64_t capacity () const
 
bool is_at_capacity () const
 
IndexRange index_range () const
 
uint64_t hash () const
 
void print_stats (const char *name) const
 

Static Public Member Functions

static uint64_t hash_as (const Span< T > values)
 

Friends

template<typename OtherT , int64_t OtherInlineBufferCapacity, typename OtherAllocator >
class Vector
 
bool operator== (const Vector &a, const Vector &b)
 
bool operator!= (const Vector &a, const Vector &b)
 

Detailed Description

template<typename T, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
class blender::Vector< T, InlineBufferCapacity, Allocator >

Definition at line 65 of file BLI_vector.hh.

Member Typedef Documentation

◆ allocator_type

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::allocator_type = Allocator

Definition at line 75 of file BLI_vector.hh.

◆ const_iterator

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::const_iterator = const T *

Definition at line 73 of file BLI_vector.hh.

◆ const_pointer

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::const_pointer = const T *

Definition at line 69 of file BLI_vector.hh.

◆ const_reference

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::const_reference = const T &

Definition at line 71 of file BLI_vector.hh.

◆ iterator

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::iterator = T *

Definition at line 72 of file BLI_vector.hh.

◆ pointer

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::pointer = T *

Definition at line 68 of file BLI_vector.hh.

◆ reference

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::reference = T &

Definition at line 70 of file BLI_vector.hh.

◆ size_type

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::size_type = int64_t

Definition at line 74 of file BLI_vector.hh.

◆ value_type

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
using blender::Vector< T, InlineBufferCapacity, Allocator >::value_type = T

Definition at line 67 of file BLI_vector.hh.

Constructor & Destructor Documentation

◆ Vector() [1/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( Allocator allocator = {})
inlinenoexcept

Create an empty vector. This does not do any memory allocation.

Definition at line 129 of file BLI_vector.hh.

◆ Vector() [2/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( NoExceptConstructor ,
Allocator allocator = {} )
inlinenoexcept

Definition at line 137 of file BLI_vector.hh.

◆ Vector() [3/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( int64_t size,
Allocator allocator = {} )
inlineexplicit

Create a vector with a specific size. The elements will be default constructed. If T is trivially constructible, the elements in the vector are not touched.

Definition at line 144 of file BLI_vector.hh.

◆ Vector() [4/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( int64_t size,
const T & value,
Allocator allocator = {} )
inline

Create a vector filled with a specific value.

Definition at line 153 of file BLI_vector.hh.

◆ Vector() [5/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( Span< U > values,
Allocator allocator = {} )
inline

Create a vector from a span. The values in the vector are copy constructed.

Definition at line 163 of file BLI_vector.hh.

◆ Vector() [6/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( MutableSpan< U > values,
Allocator allocator = {} )
inlineexplicit

Definition at line 172 of file BLI_vector.hh.

◆ Vector() [7/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( const std::initializer_list< U > & values)
inline

Create a vector that contains copies of the values in the initialized list.

This allows you to write code like: Vector<int> vec = {3, 4, 5};

Definition at line 184 of file BLI_vector.hh.

◆ Vector() [8/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( const std::initializer_list< T > & values)
inline

Definition at line 188 of file BLI_vector.hh.

◆ Vector() [9/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , size_t N, BLI_ENABLE_IF((std::is_convertible_v< U, T >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( const std::array< U, N > & values)
inline

Definition at line 191 of file BLI_vector.hh.

◆ Vector() [10/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename InputIt , BLI_ENABLE_IF((!std::is_convertible_v< InputIt, int >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( InputIt first,
InputIt last,
Allocator allocator = {} )
inline

Definition at line 199 of file BLI_vector.hh.

◆ Vector() [11/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( const Vector< T, InlineBufferCapacity, Allocator > & other)
inline

Create a copy of another vector. The other vector will not be changed. If the other vector has less than InlineBufferCapacity elements, no allocation will be made.

Definition at line 211 of file BLI_vector.hh.

◆ Vector() [12/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<int64_t OtherInlineBufferCapacity>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( const Vector< T, OtherInlineBufferCapacity, Allocator > & other)
inline

Create a copy of a vector with a different InlineBufferCapacity. This needs to be handled separately, so that the other one is a valid copy constructor.

Definition at line 218 of file BLI_vector.hh.

◆ Vector() [13/13]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<int64_t OtherInlineBufferCapacity>
blender::Vector< T, InlineBufferCapacity, Allocator >::Vector ( Vector< T, OtherInlineBufferCapacity, Allocator > && other)
inlinenoexcept

Steal the elements from another vector. This does not do an allocation. The other vector will have zero elements afterwards.

Definition at line 228 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::capacity(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::uninitialized_relocate_n(), and UPDATE_VECTOR_SIZE.

◆ ~Vector()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::~Vector ( )
inline

Member Function Documentation

◆ append() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append ( const T & value)
inline

Insert a new element at the end of the vector. This might cause a reallocation with the capacity is exceeded.

This is similar to std::vector::push_back.

Definition at line 430 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append_as().

Referenced by blender::eevee::ShadowTileMapPool::acquire(), blender::draw::Manager::acquire_texture(), blender::deg::sync_writeback::add(), blender::fn::FieldEvaluator::add(), blender::fn::FieldEvaluator::add(), blender::fn::FieldEvaluator::add(), blender::ResourceScope::add(), blender::realtime_compositor::Operation::add_and_evaluate_input_processor(), add_bezt_vertices(), blender::fn::multi_function::ProcedureBuilder::add_call(), blender::geometry::add_curves_on_mesh(), blender::compositor::NodeOperationBuilder::add_datatype_conversions(), blender::nodes::node_geo_dual_mesh_cc::add_edge(), add_extrapolation_point_left(), add_extrapolation_point_right(), blender::deg::Depsgraph::add_id_node(), blender::deg::DepsgraphNodeBuilder::add_id_node(), blender::dot::NodeWithSockets::add_input(), blender::fn::lazy_function::Graph::add_input(), blender::nodes::GatherLinkSearchOpParams::add_item(), CryptomatteSession::add_layer(), blender::nodes::LinkSearchOpParams::add_node(), blender::compositor::CryptomatteOperation::add_object_index(), OpaqueQuadTracker::add_occluder(), blender::compositor::NodeOperationBuilder::add_operation_input_constants(), blender::deg::DepsgraphNodeBuilder::add_operation_node(), blender::dot::NodeWithSockets::add_output(), blender::fn::lazy_function::Graph::add_output(), blender::nodes::NodeDeclarationBuilder::add_panel(), blender::ed::space_node::add_reroute_exec(), blender::nodes::NodeDeclarationBuilder::add_separator(), blender::fn::FieldEvaluator::add_with_destination(), blender::bke::all_zone_input_node_types(), blender::bke::all_zone_node_types(), blender::bke::all_zone_output_node_types(), blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), ANIM_relative_keyingset_add_source(), ANIM_relative_keyingset_add_source(), animsys_blend_in_fcurves(), appdir_app_template_directories(), blender::io::serialize::DictionaryValue::append(), UV_ClipboardBuffer::append(), blender::draw::detail::SubPassVector< T, block_size >::append_and_get_index(), blender::draw::command::DrawCommandBuf::append_draw(), blender::draw::command::DrawMultiBuf::append_draw(), blender::draw::overlay::append_line_loop(), blender::ed::transform::curves::append_positions_to_custom_data(), GPUCodegenCreateInfo::NameBuffer::append_sampler_name(), blender::draw::overlay::append_sphere(), blender::ed::object::apply_eval_grease_pencil_data(), blender::nodes::gizmos::apply_gizmo_change(), blender::attribute_search_update_fn(), blender::nodes::inverse_eval::backpropagate_socket_values(), blender::nodes::inverse_eval::backpropagate_socket_values_through_node(), blender::ed::object::bake_simulation::bake_simulation_gather_requests(), blender::ed::object::bake_simulation::bake_simulation_invoke(), blender::ed::object::bake_simulation::bake_single_node_gather_bake_request(), blender::gpu::MTLParallelShaderCompiler::batch_finalize(), blender::gpu::VKQueryPool::begin_query(), blender::gpu::render_graph::CommandBufferLog::begin_rendering(), bev_rebuild_polygon(), bevel_build_poly(), bevel_edge_order_extend(), blender::gpu::render_graph::CommandBufferLog::bind_descriptor_sets(), blender::gpu::render_graph::CommandBufferLog::bind_pipeline(), BKE_blendfile_link_append_context_library_add(), BKE_id_ordered_list(), BKE_lib_override_library_create_from_tag(), BKE_library_main_rebuild_hierarchy(), BKE_view_layer_array_from_bases_in_mode_params(), blf_str_selection_boxes(), blender::gpu::render_graph::CommandBufferLog::blit_image(), BM_edge_split(), blender::bm_face_loop_table_build(), BM_face_split_edgenet(), BM_faces_join(), BM_mesh_bm_from_me(), bm_mesh_loops_calc_normals_for_loop(), bm_to_mesh_copy_info_calc(), BM_vert_collapse_faces(), bmo_dissolve_faces_exec(), build_center_ngon(), blender::ed::greasepencil::build_fill_boundary(), blender::ed::asset::build_filtered_all_catalog_tree(), blender::index_mask::build_result_mask_segments(), blender::nodes::gizmos::build_tree_gizmo_propagation(), button_section_bounds_calc(), blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::geometry::calc_vert_loose_edges(), blender::ed::sculpt_paint::min_distance_edit::calculate_points_per_side(), blender::nodes::node_fn_separate_color_cc::SeparateRGBAFunction::call(), blender::nodes::node_shader_sepcomb_xyz_cc::sep::MF_SeparateXYZ::call(), blender::animrig::legacy::channel_groups_all(), channels_bake_exec(), RetimingRange::claculate_speed_table_from_seq(), blender::geometry::clean_unused_attributes(), blender::nodes::node_geo_attribute_capture_cc::clean_unused_attributes(), blender::gpu::render_graph::CommandBufferLog::clear_attachments(), blender::gpu::render_graph::CommandBufferLog::clear_color_image(), blender::animrig::clear_keyframe(), blender::ed::sculpt_paint::cloth::cloth_brush_collider_cache_create(), blender::ed::object::bake_simulation::collect_simulations_to_bake(), blender::fn::combine_field_inputs(), blender::gpu::ShaderCompiler::compile(), blender::nodes::compute_attributes_to_store(), blender::index_mask::compute_eval_order(), compute_interpolated_faces(), blender::realtime_compositor::compute_marker_points(), compute_vertex_mask__armature_mode(), blender::Pool< T, ChunkLen >::construct(), blender::bke::compare_meshes::construct_vertex_mapping(), blender::ui::context_path_add_generic(), blender::geometry::convert_curves_to_bezier(), blender::ed::space_node::NodeClipboard::copy_add_node(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::copy_bake_state_to_values(), blender::gpu::render_graph::CommandBufferLog::copy_buffer(), blender::gpu::render_graph::CommandBufferLog::copy_buffer_to_image(), blender::gpu::render_graph::CommandBufferLog::copy_image(), blender::gpu::render_graph::CommandBufferLog::copy_image_to_buffer(), blender::nodes::node_geo_simulation_cc::copy_simulation_state_to_values(), blender::bke::mesh::corner_split_generator(), blender::draw::detail::PassBase< DrawCommandBufType >::create_command(), create_curves_transform_custom_data(), blender::fn::multi_function::ProcedureDotExport::create_entry_node(), blender::ed::space_node::create_multi_input_log_inspection_string(), blender::geometry::create_nurbs_to_bezier_handles(), blender::ed::greasepencil::trim::Segments::create_segment(), blender::ed::transform::curves::createTransCurvesVerts(), createTransGraphEditData(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), CTX_store_add(), CTX_store_add(), CTX_store_add_all(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::curve_legacy_to_curves(), curve_rename_fcurves(), CustomData_blend_write_prepare(), CustomData_shallow_copy_remove_non_bmesh_attributes(), blender::ed::space_node::cut_links_exec(), blender::deg::deg_graph_remove_unused_noops(), blender::deg::deg_graph_transitive_reduction(), blender::ed::object::bake_simulation::delete_baked_simulation_exec(), delete_key_v3d_without_keying_set(), blender::animrig::delete_keyframe(), blender::compositor::NodeOperationBuilder::determine_canvases(), blender::gpu::VKDiscardPool::discard_buffer(), blender::gpu::VKDiscardPool::discard_image(), blender::gpu::VKDiscardPool::discard_image_view(), blender::gpu::VKDiscardPool::discard_pipeline_layout(), blender::gpu::VKDiscardPool::discard_shader_module(), blender::gpu::render_graph::CommandBufferLog::dispatch(), blender::gpu::render_graph::CommandBufferLog::dispatch_indirect(), blender::nodes::node_geo_dual_mesh_cc::dissolve_redundant_verts(), do_object_box_select(), do_pose_tag_select_op_prepare(), blender::gpu::render_graph::CommandBufferLog::draw(), blender::gpu::render_graph::CommandBufferLog::draw_indexed(), blender::draw_named_attributes_panel(), draw_strip_thumbnails(), drw_deferred_queue_append(), drw_deferred_shader_compilation_exec(), DRW_shgroup_call_sculpt_with_materials(), DRW_view_data_create(), DRW_view_data_use_engine(), RetimingRange::duplicate(), blender::ed::object::duplicate_exec(), blender::ed::curves::duplicate_points(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points(), ED_undo_editmode_bases_from_view_layer(), edbm_ripsel_looptag_helper(), edbm_select_linked_flat_faces_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::geometry::edges_to_curve_point_indices(), blender::gpu::render_graph::CommandBufferLog::end_rendering(), blender::eevee::VelocityModule::end_sync(), blender::ed::sculpt_paint::ensure_editable_drawings(), blender::bke::Instances::ensure_geometry_instances(), blender::draw::Texture::ensure_layer_views(), blender::draw::Texture::ensure_mip_views(), blender::ed::space_node::ensure_nodetree_previews(), blender::io::ply::FileBuffer::ensure_space(), blender::draw::pbvh::DrawCacheImpl::ensure_tris_batches(), blender::index_mask::evaluate_coarse_and_split_until_segments_are_short(), blender::index_mask::evaluate_coarse_difference(), blender::index_mask::evaluate_coarse_intersection(), blender::index_mask::evaluate_coarse_union(), blender::fn::evaluate_fields(), blender::nodes::inverse_eval::evaluate_node_elem_downstream_filtered(), blender::nodes::inverse_eval::evaluate_node_elem_upstream(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::nodes::node_geo_index_switch_cc::LazyFunctionForIndexSwitchNode::execute_field(), blender::nodes::execute_geometry_nodes_on_geometry(), blender::nodes::LazyFunctionForAnonymousAttributeSetJoin::execute_impl(), blender::nodes::LazyFunctionForLogicalOr::execute_impl(), blender::nodes::LazyFunctionForMultiInput::execute_impl(), blender::geometry::execute_instances_tasks(), blender::nodes::execute_multi_function_on_value_variant__field(), 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::io::usd::export_deform_verts(), blender::bke::pbvh::uv_islands::extend_at_vert(), blender::io::grease_pencil::extend_curves_geometry(), blender::gpu::extract_and_replace_clipping_distances(), blender::bke::pbvh::uv_islands::UVPrimitive::extract_border(), blender::bke::pbvh::uv_islands::UVIsland::extract_borders(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::string_search::extract_normalized_words(), blender::draw::Manager::extract_object_attributes(), blender::draw::extract_skin_roots(), blender::draw::extract_uv_maps(), blender::bke::pbvh::uv_islands::extract_uv_neighbors(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::animrig::legacy::fcurves_all_templated(), blender::bke::greasepencil::convert::AnimDataConvertor::fcurves_convert(), blender::gpu::render_graph::CommandBufferLog::fill_buffer(), blender::bke::pbvh::pixels::Rows::filter_pixels_for_closer_examination(), blender::io::obj::filter_supported_objects(), blender::gpu::GLShader::finalize(), blender::gpu::VKShader::finalize(), find_connected_links(), blender::geometry::find_connected_ranges(), blender::ed::sculpt_paint::SlideOperationExecutor::find_curves_to_slide(), find_ik_constraints(), blender::bke::node_tree_runtime::find_logical_origins_for_socket_recursive(), blender::nodes::find_nested_node_id(), blender::bke::pbvh::pixels::find_nodes_to_update(), blender::io::ply::find_or_add_attribute(), blender::ed::sculpt_paint::find_symm_verts_bmesh(), blender::ed::sculpt_paint::find_symm_verts_grids(), blender::ed::sculpt_paint::find_symm_verts_mesh(), blender::io::obj::fixup_invalid_face(), blender::nodes::gizmos::foreach_active_gizmo_in_open_editors(), blender::ed::greasepencil::frame_clean_duplicate_exec(), blender::index_mask::IndexMask::from_groups(), blender::index_mask::IndexMask::from_repeating(), blender::compositor::FullFrameExecutionModel::FullFrameExecutionModel(), blender::ed::sculpt_paint::CurvesEffectOperationExecutor::gather_influences_projected(), blender::bke::node_field_inferencing::gather_input_socket_dependencies(), blender::bke::gather_mutable_geometry_sets(), blender::ed::space_node::gather_socket_link_operations(), generate(), blender::ed::greasepencil::generate_arc_from_point_to_point(), blender::ed::greasepencil::generate_cap(), blender::ed::greasepencil::generate_corner(), blender::compositor::generate_hashes(), GPUCodegen::generate_library(), blender::animrig::CombinedKeyingResult::generate_reports(), blender::ed::greasepencil::generate_stroke_perimeter(), blender::bke::generate_unique_instance_ids(), blender::io::ply::generate_vertex_map(), blender::io::obj::geom_add_curve_parameters(), blender::io::obj::geom_add_curve_vertex_indices(), blender::ed::sculpt_paint::geometry_preview_lines_update(), get_affected_rna_paths_from_transform_mode(), get_affected_rna_paths_from_transform_mode(), blender::compositor::SharedOperationBuffers::get_areas_to_render(), blender::io::usd::get_armature_bone_names(), blender::ed::space_node::get_attribute_info_from_context(), blender::ed::greasepencil::get_bake_targets(), blender::bke::GeometrySet::get_components(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), blender::nodes::DInputSocket::get_corresponding_group_input_sockets(), blender::ed::curves::get_curves_positions_for_write(), blender::ed::greasepencil::get_editable_frames_for_layer(), get_fcurves_of_property(), blender::fn::get_field_context_inputs(), blender::nodes::partial_eval::get_global_node_sort_vector_left_to_right(), blender::nodes::partial_eval::get_global_node_sort_vector_right_to_left(), blender::nodes::node_composite_base_cryptomatte_cc::BaseCryptoMatteOperation::get_identifiers(), blender::bke::tests::ImageTest::get_image_layer_names(), blender::bke::tests::ImageTest::get_image_pass_names_for_layer(), blender::bke::node_tree_runtime::get_implicit_origin_nodes(), blender::bke::node_tree_runtime::get_implicit_target_nodes(), blender::nodes::inverse_eval::get_input_elems_to_propagate(), blender::render::Context::get_input_texture(), blender::fn::multi_function::ProcedureDotExport::get_instructions_in_block(), blender::nodes::node_composite_legacy_cryptomatte_cc::LegacyCryptoMatteOperation::get_layers(), blender::bke::node_field_inferencing::get_node_field_inferencing_interface(), blender::nodes::ForeachGeometryElementZoneSideEffectProvider::get_nodes_with_side_effects(), blender::nodes::RepeatZoneSideEffectProvider::get_nodes_with_side_effects(), blender::compositor::get_operation_dependencies(), blender::ed::spreadsheet::InstancesTreeViewItem::get_parent_instance_ids(), blender::interface::internal::get_property_drivers(), get_seq_strip_thumbnails(), blender::ed::asset::shelf::get_shelf_for_popup(), blender::ed::asset::get_single_id_vec_from_context(), blender::ed::greasepencil::get_skinnable_bones_and_deform_group_names(), blender::ed::greasepencil::get_sorted_layer_parents(), blender::ed::space_node::get_sorted_node_parents(), blender::ed::sculpt_paint::get_symmetry_brush_transforms(), blender::nodes::geo_eval_log::GeoModifierLog::get_tree_log(), get_udim_tiles(), blender::ed::space_node::viewer_linking::get_viewer_node_position_candidates(), blender::ed::greasepencil::get_visible_frames_for_layer(), blender::bke::bNodeTreeZones::get_zone_stack_for_node(), blender::gpu::GLShaderInterface::GLShaderInterface(), GPU_debug_group_begin(), gpu_select_query_end(), gpu_select_query_load_id(), GPU_shader_create_ex(), blender::ed::greasepencil::grease_pencil_copy_keyframes(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), blender::ed::sculpt_paint::grease_pencil_fill_get_extension_data(), blender::draw::grease_pencil_geom_batch_ensure(), blender::ed::greasepencil::grease_pencil_merge_layer_exec(), blender::ed::greasepencil::grease_pencil_paste_keyframes(), blender::draw::grease_pencil_wire_batch_ensure(), GreasePencilLayerToTransData(), blender::render::texturemargin::TextureMarginMap::grow_dijkstra(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::hard_eraser(), blender::bke::blendfile::PartialWriteContext::id_add(), blender::ed::outliner::OutlinerLibOverrideData::id_root_add(), blender::ed::outliner::OutlinerLibOverrideData::id_root_set(), image_exr_from_rgb_to_bw(), image_exr_from_scene_linear_to_output(), image_exr_opaque_alpha_buffer(), blender::io::usd::import_blendshapes(), blender::io::usd::import_mesh_skel_bindings(), blender::io::usd::import_skeleton(), blender::eevee::VolumeProbeModule::init(), blender::gpu::GLShader::init(), UVGroups::init(), blender::ed::curves::init_selection_writers(), blender::gpu::init_struct(), blender::nodes::LazyFunctionForForeachGeometryElementZone::initialize_execution_graph(), blender::nodes::initialize_zone_wrapper(), blender::fn::multi_function::ProcedureDotExport::instruction_to_string(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::index_mask::ExprBuilder::intersect(), blender::nodes::node_geo_sort_elements_cc::items_value_in(), blender::realtime_compositor::KeyingScreen::KeyingScreen(), knife_find_line_hits(), blender::nodes::LazyFunctionForGeometryNode::LazyFunctionForGeometryNode(), blender::nodes::LazyFunctionForGizmoNode::LazyFunctionForGizmoNode(), blender::nodes::LazyFunctionForMultiInput::LazyFunctionForMultiInput(), blender::bke::greasepencil::convert::legacy_gpencil_frame_to_grease_pencil_drawing(), lib_override_library_remap(), lib_override_library_resync(), libblock_relink_to_newid_prepare_data(), lightprobe_cache_irradiance_volume_subset_get(), lineart_bake_common(), blender::io::ply::load_edge_element(), blender::io::ply::load_plydata(), blender::io::ply::load_vertex_element(), blender::threading::EnumerableThreadSpecific< T >::local(), loop_find_region(), main(), main_merge_add_id_to_move(), blender::string_search::match_word_initials(), blender::index_mask::ExprBuilder::merge(), blender::ed::greasepencil::trim::Segments::merge_adjacent_segments(), blender::ed::greasepencil::merge_layers(), blender::geometry::merge_layers(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), mesh_to_bm_copy_info_calc(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), blender::gpu::missing_capabilities_get(), MOD_lineart_gpencil_generate_v3(), mouseover_strips_sorted_get(), blender::nodes::node_geo_bake_cc::LazyFunctionForBakeNode::move_bake_state_to_values(), blender::nodes::node_geo_simulation_cc::move_simulation_state_to_values(), blender::ed::space_node::mute_links_exec(), blender::ed::space_node::named_attribute_tooltip(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_geo_exec(), blender::ed::space_node::node_get_compositor_extra_info(), blender::ed::space_node::node_get_extra_info(), blender::ed::space_node::node_get_invalid_links_extra_info(), blender::nodes::node_group_declare(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_group_ungroup_exec(), blender::ed::space_node::node_socket_get_tooltip(), ntree_shader_shader_to_rgba_branches(), blender::ed::object::object_clear_transform_generic_exec(), object_duplilist(), object_duplilist_preview(), RetimingRange::operator*(), blender::geometry::p_chart_simplify_compute(), blender::geometry::OverlapMerger::pack_islands_overlap(), paintvert_select_linked(), blender::io::obj::OBJParser::parse(), blender::ed::viewer_path::parse_geometry_nodes_viewer(), blender::ed::curves::convert_from_particle_system::particles_to_curves(), blender::bke::pbvh::pbvh_bmesh_collapse_edge(), blender::ed::space_node::pick_link(), blender::gpu::render_graph::CommandBufferLog::pipeline_barrier(), blender::geometry::poly_find_doubles(), blender::eevee::ShaderModule::precompile_specializations(), blender::geometry::prepare_attribute_fallbacks(), blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components(), blender::gpu::Shader::print_log(), blender::compositor::NodeOperationBuilder::prune_operations(), blender::ed::space_node::push_compute_context_for_tree_path(), pyrna_py_to_prop(), blender::draw::select::SelectMap::read_result(), recalcData_graphedit(), blender::nodes::refresh_node_sockets_and_panels(), blender::bke::register_node_zone_type(), blender::eevee::ShadowTileMapPool::release(), blender::io::usd::remap_blend_shape_anim(), blender::gpu::VKPipelinePool::remove(), blender::ed::greasepencil::remove_all_selected_frames(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::gpu::render_graph::VKResourceStateTracker::remove_buffer(), blender::gpu::render_graph::VKResourceStateTracker::remove_image(), blender::ed::greasepencil::remove_points_and_split(), blender::bke::Instances::remove_unused_references(), blender::gpu::VKFrameBuffer::rendering_ensure(), blender::ed::space_node::reroute_node_get_auto_label(), blender::compositor::NodeOperationBuilder::resolve_proxies(), blender::geometry::retrieve_attribute_spans(), blender::ed::greasepencil::retrieve_editable_drawings(), blender::ed::greasepencil::retrieve_editable_drawings_from_layer(), blender::ed::greasepencil::retrieve_editable_drawings_from_layer_with_falloff(), blender::ed::greasepencil::retrieve_editable_drawings_with_falloff(), blender::ed::greasepencil::retrieve_visible_drawings(), blender::geometry::ReverseUVSampler::ReverseUVSampler(), blender::draw::overlay::ring_vertices(), blender::ed::sculpt_paint::AddOperationExecutor::sample_in_center(), blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), blender::ed::sculpt_paint::AddOperationExecutor::sample_projected(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_projected_with_symmetry(), blender::ed::sculpt_paint::AddOperationExecutor::sample_spherical(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry(), blender::bke::mesh_surface_sample::sample_surface_points_projected(), blender::bke::mesh_surface_sample::sample_surface_points_spherical(), blender::fn::lazy_function::ScheduledNodes::schedule(), blender::string_search::score_query_against_words(), blender::draw::sculpt_batches_get(), blender::draw::sculpt_batches_per_material_get(), blender::ed::space_node::search_link_ops_for_asset_metadata(), blender::nodes::search_link_ops_for_declarations(), blender::index_mask::segments_from_batch_predicate(), blender::nodes::node_geo_material_selection_cc::select_by_material(), blender::draw::select::SelectMap::select_id(), sequencer_add_movie_multiple_strips(), sequencer_add_movie_single_strip(), sequencer_retiming_key_delete_exec(), sequencer_visible_strips_get(), blender::bke::bake::serialize_geometry_set(), blender::nodes::value_elem::InverseElemEvalParams::set_input_elem(), blender::nodes::value_elem::ElemEvalParams::set_output_elem(), blender::eevee::SphereProbeModule::set_view(), blender::eevee::VolumeProbeModule::set_view(), blender::io::usd::USDTransformWriter::set_xform_ops(), blender::ed::object::shade_smooth_exec(), blender::ed::space_node::shader_preview_startjob(), blender::eevee::ShaderModule::ShaderModule(), blender::eevee::ShadowTileMapPool::ShadowTileMapPool(), blender::io::usd::shape_key_export_chaser(), blender::draw::overlay::ShapeCache::ShapeCache(), blender::bke::pbvh::uv_islands::UVPrimitive::shared_edges(), blender::ed::object::bake_simulation::simulate_to_frame_invoke(), blender::ed::object::bake_simulation::simulate_to_frame_startjob(), smart_project_exec(), smart_uv_project_calculate_project_normals(), snap_sel_to_grid_exec(), snap_selected_to_location(), blender::ed::space_node::snode_autoconnect(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), blender::ed::space_node::sort_multi_input_socket_links_with_drag(), blender::compositor::sort_operations_recursive(), blender::bke::mesh::split_corner_normal_fan_do(), standard_defines(), blender::ed::sculpt_paint::undo::store_color(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::index_mask::ExprBuilder::subtract(), blender::asset_system::tests::TEST(), blender::index_mask::tests::TEST(), blender::index_mask::tests::TEST(), blender::iterator::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::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::tests::TEST(), blender::gpu::tests::test_data(), blender::draw::test_eevee_surfel_list(), timeline_draw_cache(), blender::index_mask::IndexMask::to_spans_and_ranges(), blender::geometry::toposort_connected_curves(), blender::bke::node_tree_runtime::toposort_from_start_node(), blender::gpu::VKResourceTracker< Resource >::tracked_resource_for(), blender::gpu::MTLShader::transform_feedback_names_set(), blender::gpu::shader::ShaderCreateInfo::transform_feedback_output_name(), transform_mesh_uv_vert_slide_data_create(), transform_mesh_vert_slide_data_create(), blender::ed::greasepencil::trim::trim_curve_segments(), blender::try_add_side_effect_node(), blender::bke::try_capture_fields_on_geometry(), blender::memory_cache::try_enforce_limit(), blender::ed::asset::shelf::type_register(), ui_block_new_button_group(), ui_but_event_property_operator_string(), ui_button_group_add_but(), UI_context_copy_to_selected_list(), ui_context_fcurve_modifiers_via_fcurve(), ui_layout_add_but(), ui_litem_init_from_parent(), ui_litem_layout_panel_body(), ui_litem_layout_panel_header(), blender::ed::space_node::ui_node_link_items(), blender::ed::space_node::ui_node_menu_column(), ui_update_flexible_spacing(), blender::bke::NodeTreeMainUpdater::update(), blender::ed::viewer_path::update_active_geometry_nodes_viewer(), blender::update_bakes_from_node_group(), blender::gpu::render_graph::CommandBufferLog::update_buffer(), blender::bke::node_tree_runtime::update_link_vector(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), blender::bke::node_tree_runtime::update_node_vector(), blender::update_panels_from_node_group(), blender::bke::node_tree_runtime::update_root_frames(), blender::bke::update_zone_per_node(), uv_cylinder_project(), uv_from_view_exec(), blender::geometry::uv_parametrizer_pack(), uv_remove_doubles_to_selected_shared_vertex(), uv_remove_doubles_to_unselected(), uv_sphere_project(), uvedit_pack_islands_multi(), version_bonelayers_to_bonecollections(), version_geometry_nodes_primitive_uv_maps(), version_legacy_actions_to_layered(), blender::ed::sculpt_paint::vert_neighbors_get_bmesh(), blender::ed::sculpt_paint::vert_neighbors_get_interior_bmesh(), view2d_major_step_x__time(), blender::ed::viewer_path::viewer_path_for_geometry_node(), visible_strips_ordered_get(), blender::gpu::MTLShader::warm_cache(), blender::geometry::weld_edge_ctx_alloc_and_find_collapsed(), blender::geometry::weld_mesh_context_create(), blender::geometry::weld_poly_find_doubles(), blender::geometry::weld_vert_ctx_alloc_and_setup(), wm_block_dialog_create(), WM_drag_create_path_data(), WM_keymap_item_raw_to_string(), blender::io::obj::write_mesh_objects(), and blender::ui::string_search::write_recent_searches_file().

◆ append() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append ( T && value)
inline

◆ append_and_get_index() [1/2]

◆ append_and_get_index() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index ( T && value)
inline

◆ append_and_get_index_as()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename... ForwardValue>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as ( ForwardValue &&... value)
inline

◆ append_as()

◆ append_n_times()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append_n_times ( const T & value,
const int64_t n )
inline

◆ append_non_duplicates()

◆ append_unchecked() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked ( const T & value)
inline

Append the value and assume that vector has enough memory reserved. This invokes undefined behavior when not enough capacity has been reserved beforehand. Only use this in performance critical code.

Definition at line 481 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked_as().

Referenced by blender::index_mask::bits_to_indices(), BKE_mesh_merge_customdata_for_apply_modifier(), computed_masked_faces(), filtered_rows_from_thumb(), gpu_select_pick_end(), blender::io::ply::load_plydata(), test_sin_cos_from_fraction_symmetry(), and blender::geometry::uv_parametrizer_face_add().

◆ append_unchecked() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked ( T && value)
inline

◆ append_unchecked_as()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename... ForwardT>
void blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked_as ( ForwardT &&... value)
inline

◆ as_mutable_span()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
MutableSpan< T > blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span ( )
inline

◆ as_span()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
Span< T > blender::Vector< T, InlineBufferCapacity, Allocator >::as_span ( ) const
inline

Definition at line 322 of file BLI_vector.hh.

Referenced by blender::string_search::StringSearchBase::add_impl(), autokeyframe_object(), autokeyframe_pose(), BKE_mesh_merge_customdata_for_apply_modifier(), blender::eevee::VolumeProbeModule::bricks_alloc(), blender::eevee::VolumeProbeModule::bricks_free(), blender::geometry::calc_new_edges(), blender::ed::sculpt_paint::calc_vert_neighbors(), blender::gpu::ShaderCompiler::compile(), blender::geometry::convert_curves_to_bezier(), copy_driver_to_selected_button(), blender::ed::space_node::create_multi_input_log_inspection_string(), blender::ed::transform::curves::createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), CustomData_shallow_copy_remove_non_bmesh_attributes(), blender::ed::curves::duplicate_points(), SubdivCCGNeighbors::duplicates(), ed_armature_pick_bone_impl(), ed_curves_select_pick(), ed_view3d_give_base_under_cursor_ex(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::eevee::ShadowTileMapPool::end_sync(), blender::bke::CurvesGeometry::evaluated_normals(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::ed::greasepencil::frame_clean_duplicate_exec(), blender::index_mask::IndexMask::from_initializers(), blender::fn::lazy_function::Graph::function_nodes(), blender::fn::lazy_function::Graph::function_nodes(), blender::ed::sculpt_paint::expand::geodesic_falloff_create(), blender::ed::sculpt_paint::geometry_preview_lines_update(), blender::ed::greasepencil::get_editable_frames_for_layer(), blender::ed::greasepencil::get_visible_frames_for_layer(), gizmo_find_intersected_3d_intern(), GPU_platform_devices_list(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), GreasePencilLayerToTransData(), blender::Vector< T, InlineBufferCapacity, Allocator >::hash(), blender::nodes::LazyFunctionForForeachGeometryElementZone::initialize_execution_graph(), blender::animrig::insert_keyframes(), mixed_bones_object_selectbuffer(), blender::string_search::StringSearch< T >::query(), blender::ed::transform::curves::recent_position_offsets(), blender::ed::greasepencil::remove_all_selected_frames(), blender::ed::greasepencil::remove_points_and_split(), blender::bke::bake::serialize_geometry_set(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::bke::mesh::split_corner_normal_fan_do(), blender::fn::lazy_function::ScheduledNodes::split_into(), blender::ed::sculpt_paint::undo::store_face_sets(), blender::bke::greasepencil::Drawing::tag_topology_changed(), UVGroups::td_indices_get(), blender::bits::tests::TEST(), blender::tests::TEST(), blender::interface::tests::TEST_F(), timeline_cache_draw_geometry_nodes(), blender::ed::sculpt_paint::expand::topology_falloff_create(), transform_mesh_uv_vert_slide_data_create(), transform_mesh_vert_slide_data_create(), blender::try_add_side_effect_node(), SubdivCCGNeighbors::unique(), blender::ed::sculpt_paint::mask::update_mask_mesh(), blender::ed::sculpt_paint::hide::vert_hide_update(), blender::ed::sculpt_paint::vert_neighbors_get_mesh(), view3d_select_exec(), and WM_drag_get_paths().

◆ begin() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T * blender::Vector< T, InlineBufferCapacity, Allocator >::begin ( )
inline

Definition at line 878 of file BLI_vector.hh.

Referenced by blender::VectorList< T, CapacityStart, CapacitySoftLimit >::begin(), blender::VectorList< T, CapacityStart, CapacitySoftLimit >::begin(), BKE_id_ordered_list(), BKE_view_layer_array_from_objects_in_mode_params(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::index_mask::difference_index_mask_segments(), blender::draw_named_attributes_panel(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::gpu::extract_and_replace_clipping_distances(), blender::nodes::geo_eval_log::FieldInfoLog::FieldInfoLog(), blender::bke::FileHandlerType::filter_supported_paths(), blender::nodes::find_nested_node_id(), blender::ed::sculpt_paint::find_symm_verts_bmesh(), blender::ed::sculpt_paint::find_symm_verts_grids(), blender::ed::sculpt_paint::find_symm_verts_mesh(), blender::index_mask::IndexMask::from_initializers(), generate(), GPUCodegen::generate_library(), blender::bke::get_direct_zone_relations(), blender::workbench::Instance::get_dummy_gpu_materials(), blender::nodes::partial_eval::get_global_node_sort_vector_left_to_right(), blender::nodes::partial_eval::get_global_node_sort_vector_right_to_left(), blender::workbench::get_matcap_tx(), blender::compositor::get_operation_dependencies(), blender::ed::spreadsheet::InstancesTreeViewItem::get_parent_instance_ids(), blender::ed::greasepencil::get_sorted_layer_parents(), blender::ed::space_node::get_sorted_node_parents(), blender::bke::bNodeTreeZones::get_zone_stack_for_node(), blender::ed::greasepencil::grease_pencil_separate_exec(), blender::render::texturemargin::TextureMarginMap::grow_dijkstra(), blender::gpu::MTLShader::has_transform_feedback_varying(), blender::io::usd::import_mesh_skel_bindings(), blender::index_mask::intersect_index_mask_segments(), blender::ed::space_node::named_attribute_tooltip(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), prepare_linehits_for_cut(), blender::index_mask::ParallelSegmentsCollector::reduce(), blender::nodes::refresh_node_panel(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove_if(), blender::Vector< T, InlineBufferCapacity, Allocator >::rend(), blender::Vector< T, InlineBufferCapacity, Allocator >::rend(), blender::eevee::SphereProbeModule::set_view(), blender::eevee::VolumeProbeModule::set_view(), blender::ed::space_node::snode_autoconnect(), blender::ed::space_node::sort_multi_input_socket_links_with_drag(), blender::bke::greasepencil::Layer::sorted_keys(), blender::tests::TEST(), blender::tests::TEST(), test_sin_cos_from_fraction_symmetry(), timeline_cache_draw_geometry_nodes(), blender::try_add_side_effect_node(), blender::memory_cache::try_enforce_limit(), blender::ed::asset::shelf::type_poll_no_spacetype_check(), blender::ed::asset::shelf::type_unregister(), ui_litem_estimate_column(), ui_litem_layout_column(), blender::index_mask::union_index_mask_segments(), and blender::ed::space_node::update_multi_input_indices_for_removed_links().

◆ begin() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T * blender::Vector< T, InlineBufferCapacity, Allocator >::begin ( ) const
inline

Definition at line 887 of file BLI_vector.hh.

◆ capacity()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::capacity ( ) const
inline

Get the current capacity of the vector, i.e. the maximum number of elements the vector can hold, before it has to reallocate.

Definition at line 918 of file BLI_vector.hh.

Referenced by blender::gpu::GLQueryPool::begin_query(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), and blender::Vector< T, InlineBufferCapacity, Allocator >::Vector().

◆ clear()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::clear ( )
inline

Afterwards the vector has 0 elements, but will still have memory to be refilled again.

Definition at line 400 of file BLI_vector.hh.

References blender::destruct_n(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and UPDATE_VECTOR_SIZE.

Referenced by blender::deg::DepsgraphNodeBuilder::begin_build(), blender::draw::Manager::begin_sync(), blender::draw::overlay::MeshUVs::begin_sync(), blender::draw::select::SelectMap::begin_sync(), bevel_edge_order_extend(), BKE_lib_override_library_create_from_tag(), bm_mesh_loops_calc_normals_for_loop(), bmo_edgenet_prepare_exec(), blender::eevee::VolumeProbeModule::bricks_free(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::draw::detail::SubPassVector< T, block_size >::clear(), blender::draw::image_engine::FloatBufferCache::clear(), blender::gpu::VKVertexAttributeObject::clear(), LayoutPanels::clear(), blender::deg::Depsgraph::clear_id_nodes(), blender::io::usd::USDStageReader::collect_readers(), blender::ed::transform::curves::createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), ctx_data_base_collection_get(), CTX_data_get(), deg_flush_updates_and_refresh(), blender::deg::deg_graph_transitive_reduction(), DRW_view_data_reset(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), blender::nodes::partial_eval::eval_downstream(), blender::nodes::partial_eval::eval_upstream(), blender::bke::greasepencil::convert::AnimDataConvertor::fcurves_convert_finalize(), blender::draw::Texture::free(), blender::ed::sculpt_paint::geometry_preview_lines_update(), blender::compositor::get_operation_dependencies(), blender::gpu::VKDescriptorSetLayouts::get_or_create(), blender::gpu::VKPipelinePool::get_or_create_graphics_pipeline(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::PassSortable::init(), blender::eevee::VolumeProbeModule::init(), lib_override_library_resync(), blender::ed::space_node::link_drag_search_update_fn(), blender::io::obj::linked_sockets_to_dest_id(), merge_uvs_for_vertex(), blender::gpu::VKDiscardPool::move_data(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::gpu::VKVertexAttributeObject::operator=(), blender::gpu::GLSharedOrphanLists::orphans_clear(), blender::geometry::p_chart_simplify_compute(), blender::Vector< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::gpu::VKFrameBuffer::rendering_ensure(), blender::gpu::VKImmediate::reset(), blender::draw::detail::PassBase< DrawCommandBufType >::serialize(), blender::ed::space_node::shader_preview_free(), smart_uv_project_calculate_project_normals(), blender::ed::sculpt_paint::SmoothOperationExecutor::smooth(), blender::bke::mesh::split_corner_normal_fan_do(), blender::draw::detail::PassBase< DrawCommandBufType >::submit(), blender::gpu::MTLShader::transform_feedback_names_set(), ui_context_fcurve_modifiers_via_fcurve(), blender::bke::node_tree_runtime::update_link_vector(), blender::bke::node_tree_runtime::update_node_vector(), blender::bke::node_tree_runtime::update_root_frames(), blender::bke::node_tree_runtime::update_socket_vectors_and_owner_node(), blender::bke::node_tree_runtime::update_toposort(), blender::gpu::VKDescriptorSetTracker::upload_descriptor_sets(), uv_remove_doubles_to_selected_shared_vertex(), blender::ed::sculpt_paint::vert_neighbors_get_bmesh(), blender::ed::sculpt_paint::vert_neighbors_get_interior_bmesh(), blender::ed::sculpt_paint::vert_neighbors_get_mesh(), visible_strips_ordered_get(), blender::io::obj::FormatHandler::write_to_file(), and UV_ClipboardBuffer::~UV_ClipboardBuffer().

◆ clear_and_shrink()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::clear_and_shrink ( )
inline

◆ contains()

◆ data() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T * blender::Vector< T, InlineBufferCapacity, Allocator >::data ( )
inline

Get access to the underlying array.

Definition at line 865 of file BLI_vector.hh.

Referenced by blender::fn::multi_function::ProcedureBuilder::add_call(), GPUCodegenCreateInfo::NameBuffer::append_sampler_name(), bev_rebuild_polygon(), bevel_build_poly(), BKE_volume_grid_selection_surface(), bpy_bm_utils_face_split_edgenet(), build_center_ngon(), blender::nodes::node_fn_separate_color_cc::SeparateRGBAFunction::call(), blender::nodes::node_shader_sepcomb_xyz_cc::sep::MF_SeparateXYZ::call(), blender::nodes::node_composite_base_cryptomatte_cc::BaseCryptoMatteOperation::compute_matte(), CustomData_shallow_copy_remove_non_bmesh_attributes(), do_object_box_select(), do_pose_box_select(), DRW_view_data_enabled_engine_iter_begin(), blender::bke::evaluate_attribute(), extract_png_from_blend_file(), blender::gpu::VKShaderModule::finalize(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::realtime_compositor::ShaderNode::get_inputs_array(), blender::gpu::VKDescriptorSetLayouts::get_or_create(), blender::gpu::VKPipelinePool::get_or_create_graphics_pipeline(), blender::realtime_compositor::ShaderNode::get_outputs_array(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), blender::realtime_compositor::KeyingScreen::KeyingScreen(), blender::io::ply::load_face_element(), blender::io::ply::load_tristrips_element(), blender::io::ply::load_vertex_element(), mouse_select_eval_buffer(), blender::nodes::node_geo_sort_elements_cc::node_rna(), blender::ed::spreadsheet::InstancesTreeViewItem::on_activate(), blender::gpu::GLSharedOrphanLists::orphans_clear(), blender::bke::bake::pack_bake_from_disk(), blender::io::ply::parse_row_binary(), blender::io::ply::read_list_count(), blender::draw::select::SelectMap::read_result(), blender::gpu::read_spirv_from_disk(), blender::geometry::rotate_inside_square(), set_ccgdm_all_geometry(), skin_fix_hole_no_good_verts(), blender::io::ply::skip_property(), blender::geometry::smooth_curve_attribute(), ss_sync_ccg_from_derivedmesh(), ss_sync_from_uv(), blender::eevee::SyncModule::sync_mesh(), 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::tests::TEST(), blender::draw::test_eevee_shadow_tilemap_amend(), blender::draw::test_eevee_surfel_list(), blender::io::ply::TEST_F(), blender::io::ply::TEST_F(), blender::gpu::tests::test_storage_buffer_clear(), blender::gpu::tests::test_storage_buffer_clear_zero(), blender::gpu::tests::test_storage_buffer_copy_from_vertex_buffer(), blender::gpu::tests::test_storage_buffer_create_update_read(), blender::ed::space_node::ui_node_menu_column(), ui_selectcontext_begin(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), blender::gpu::VKDescriptorSetTracker::upload_descriptor_sets(), uv_remove_doubles_to_selected(), view2d_major_step_x__time(), blender::io::ply::write_faces(), MeshImporter::write_geometry(), zlib_compress(), and blender::gpu::GLQueryPool::~GLQueryPool().

◆ data() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T * blender::Vector< T, InlineBufferCapacity, Allocator >::data ( ) const
inline

Get access to the underlying array.

Definition at line 873 of file BLI_vector.hh.

◆ end() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T * blender::Vector< T, InlineBufferCapacity, Allocator >::end ( )
inline

Definition at line 882 of file BLI_vector.hh.

Referenced by blender::io::obj::FormatHandler::append_from(), BKE_id_ordered_list(), BKE_view_layer_array_from_objects_in_mode_params(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::index_mask::difference_index_mask_segments(), blender::draw_named_attributes_panel(), blender::VectorList< T, CapacityStart, CapacitySoftLimit >::end(), blender::VectorList< T, CapacityStart, CapacitySoftLimit >::end(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::gpu::extract_and_replace_clipping_distances(), blender::nodes::geo_eval_log::FieldInfoLog::FieldInfoLog(), blender::bke::FileHandlerType::filter_supported_paths(), blender::nodes::find_nested_node_id(), blender::ed::sculpt_paint::find_symm_verts_bmesh(), blender::ed::sculpt_paint::find_symm_verts_grids(), blender::ed::sculpt_paint::find_symm_verts_mesh(), blender::index_mask::IndexMask::from_initializers(), generate(), GPUCodegen::generate_library(), blender::bke::get_direct_zone_relations(), blender::nodes::partial_eval::get_global_node_sort_vector_left_to_right(), blender::nodes::partial_eval::get_global_node_sort_vector_right_to_left(), blender::compositor::get_operation_dependencies(), blender::ed::spreadsheet::InstancesTreeViewItem::get_parent_instance_ids(), blender::ed::greasepencil::get_sorted_layer_parents(), blender::ed::space_node::get_sorted_node_parents(), blender::bke::bNodeTreeZones::get_zone_stack_for_node(), blender::ed::greasepencil::grease_pencil_separate_exec(), blender::render::texturemargin::TextureMarginMap::grow_dijkstra(), blender::gpu::MTLShader::has_transform_feedback_varying(), blender::io::usd::import_mesh_skel_bindings(), blender::index_mask::intersect_index_mask_segments(), blender::ed::space_node::named_attribute_tooltip(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), prepare_linehits_for_cut(), blender::Vector< T, InlineBufferCapacity, Allocator >::rbegin(), blender::Vector< T, InlineBufferCapacity, Allocator >::rbegin(), blender::index_mask::ParallelSegmentsCollector::reduce(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove_if(), SEQ_retiming_sound_animation_data_set(), blender::eevee::SphereProbeModule::set_view(), blender::eevee::VolumeProbeModule::set_view(), blender::ed::space_node::snode_autoconnect(), blender::ed::space_node::sort_multi_input_socket_links_with_drag(), blender::bke::greasepencil::Layer::sorted_keys(), blender::tests::TEST(), blender::tests::TEST(), test_sin_cos_from_fraction_symmetry(), timeline_cache_draw_geometry_nodes(), blender::try_add_side_effect_node(), blender::memory_cache::try_enforce_limit(), blender::ed::asset::shelf::type_poll_no_spacetype_check(), blender::ed::asset::shelf::type_unregister(), ui_litem_estimate_column(), ui_litem_layout_column(), blender::index_mask::union_index_mask_segments(), blender::ed::space_node::update_multi_input_indices_for_removed_links(), blender::io::ply::FileBuffer::write_bytes(), and blender::io::ply::FileBuffer::write_fstring().

◆ end() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T * blender::Vector< T, InlineBufferCapacity, Allocator >::end ( ) const
inline

Definition at line 891 of file BLI_vector.hh.

◆ extend() [1/3]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend ( const T * start,
int64_t amount )
inline

◆ extend() [2/3]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename InputIt >
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend ( InputIt first,
InputIt last )
inline

◆ extend() [3/3]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend ( Span< T > array)
inline

Copy the elements of another array to the end of this vector.

This can be used to emulate parts of std::vector::insert.

Definition at line 527 of file BLI_vector.hh.

References blender::Span< T >::data(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), and array< T, alignment >::size().

Referenced by blender::eevee::VolumeProbeModule::bricks_free(), blender::animrig::legacy::channel_groups_all(), blender::gpu::ShaderCompiler::compile(), blender::geometry::convert_curves_to_bezier(), blender::fn::multi_function::ProcedureDotExport::create_nodes(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::ed::sculpt_paint::DeleteOperationExecutor::execute(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::nodes::geo_eval_log::FieldInfoLog::FieldInfoLog(), blender::bke::find_zone_nodes(), blender::nodes::inverse_eval::foreach_element_on_inverse_eval_path(), blender::index_mask::IndexMask::from_initializers(), blender::bke::node_field_inferencing::gather_input_socket_dependencies(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::get_all_gizmos(), blender::workbench::get_matcap_tx(), blender::nodes::GeometryNodesLazyFunctionSideEffectProvider::get_nodes_with_side_effects(), blender::compositor::get_operation_dependencies(), blender::gpu::VKShaderInterface::init(), blender::gpu::VKDiscardPool::move_data(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::ed::space_node::node_insert_on_link_flags_set(), blender::gpu::VKVertexAttributeObject::operator=(), blender::index_mask::ParallelSegmentsCollector::reduce(), blender::gpu::shader::ShaderCreateInfo::resources_get_all_(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_projected_with_symmetry(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry(), blender::ed::sculpt_paint::SmoothOperationExecutor::smooth(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), timeline_cache_draw_geometry_nodes(), blender::LinearAllocator< Allocator >::transfer_ownership_from(), and blender::try_find_baked_data().

◆ extend_non_duplicates()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend_non_duplicates ( Span< T > array)
inline

Adds all elements from the array that are not already in the vector. This is an expensive operation when the vector is large, but can be very cheap when it is known that the vector is small.

Definition at line 542 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append_non_duplicates().

Referenced by GPUCodegen::generate_library(), blender::tests::TEST(), and blender::nodes::node_geo_input_mesh_face_neighbors_cc::unique_num().

◆ extend_unchecked() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend_unchecked ( const T * start,
int64_t amount )
inline

Definition at line 557 of file BLI_vector.hh.

References BLI_assert, blender::uninitialized_copy_n(), and UPDATE_VECTOR_SIZE.

◆ extend_unchecked() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::extend_unchecked ( Span< T > array)
inline

◆ fill()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::fill ( const T & value) const
inline

◆ first() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T & blender::Vector< T, InlineBufferCapacity, Allocator >::first ( )
inline

◆ first() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T & blender::Vector< T, InlineBufferCapacity, Allocator >::first ( ) const
inline

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

Definition at line 677 of file BLI_vector.hh.

References BLI_assert, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().

Referenced by bmo_edgenet_prepare_exec(), blender::geometry::calc_new_edges(), blender::eevee::Sampling::cdf_invert(), blender::ed::greasepencil::clipboard_materials_remap(), blender::bke::compare_meshes::construct_vertex_mapping(), blender::ed::space_node::create_multi_input_log_inspection_string(), blender::fn::multi_function::ProcedureDotExport::create_nodes(), blender::ed::curves::duplicate_points(), blender::bke::FileHandlerType::get_default_filename(), blender::io::usd::import_startjob(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::ed::space_node::link_drag_search_exec_fn(), blender::bke::GeometrySet::modify_geometry_sets(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::ed::space_node::node_displace_existing_links(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_geo_exec(), blender::ed::space_node::node_link_modal(), blender::ed::space_node::prepare_viewlayer_update(), blender::io::usd::remap_blend_shape_anim(), blender::ed::greasepencil::remove_points_and_split(), space_workspace_cycle_invoke(), spaces_after_column_item(), ui_litem_estimate_panel_header(), ui_litem_layout_panel_header(), ui_litem_layout_root_radial(), blender::nodes::zone_wrapper_input_name(), and blender::nodes::zone_wrapper_output_name().

◆ first_index_of()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::first_index_of ( const T & value) const
inline

◆ first_index_of_try()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::first_index_of_try ( const T & value) const
inline

◆ hash()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
uint64_t blender::Vector< T, InlineBufferCapacity, Allocator >::hash ( ) const
inline

◆ hash_as()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
static uint64_t blender::Vector< T, InlineBufferCapacity, Allocator >::hash_as ( const Span< T > values)
inlinestatic

Definition at line 947 of file BLI_vector.hh.

◆ increase_size_by_unchecked()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::increase_size_by_unchecked ( const int64_t n)
inlinenoexcept

Enlarges the size of the internal buffer that is considered to be initialized. This invokes undefined behavior when the new size is larger than the capacity. The method can be useful when you want to call constructors in the vector yourself. This should only be done in very rare cases and has to be justified every time.

Definition at line 515 of file BLI_vector.hh.

References BLI_assert, and UPDATE_VECTOR_SIZE.

Referenced by blender::Vector< T, InlineBufferCapacity, Allocator >::append_n_times(), and blender::geometry::weld_poly_loop_ctx_alloc().

◆ index_range()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
IndexRange blender::Vector< T, InlineBufferCapacity, Allocator >::index_range ( ) const
inline

Get an index range that makes looping over all indices more convenient and less error prone. Obviously, this should only be used when you actually need the index in the loop.

Example: for (int64_t i : myvector.index_range()) { do_something(i, my_vector[i]); }

Definition at line 937 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::size().

Referenced by blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::string_search::StringSearchBase::add_impl(), blender::ed::space_node::add_reroute_exec(), blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), blender::draw::overlay::append_sphere(), bezt_to_beztmaps(), BKE_blendfile_link(), BKE_id_ordered_list(), BKE_subdiv_ccg_neighbor_coords_get(), blender::bm_face_loop_table_build(), blender::nodes::LazyFunctionForForeachGeometryElementZone::build_graph_contents(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_invert(), blender::ed::greasepencil::clipboard_materials_remap(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::compute_piecewise_linear_falloff(), blender::nodes::node_geo_string_to_curves_cc::create_attributes(), blender::nodes::node_geo_string_to_curves_cc::create_curve_instances(), blender::fn::multi_function::ProcedureDotExport::create_entry_node(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), blender::bke::curve_legacy_to_curves(), blender::geometry::curve_simplify(), blender::index_mask::difference_index_mask_segments(), do_lasso_select_pose(), blender::draw_named_attributes_panel(), blender::ed::curves::duplicate_points(), ed_curves_select_pick(), ed_grease_pencil_select_pick(), EDBM_elem_to_index_any_multi(), EDBM_mesh_knife(), edbm_separate_exec(), blender::geometry::edges_to_curve_point_indices(), blender::bke::node_tree_runtime::ensure_topology_cache(), blender::fn::evaluate_fields(), blender::index_mask::evaluate_short_unknown_segments_exactly(), blender::ed::sculpt_paint::DensityAddOperationExecutor::execute(), blender::bke::pbvh::uv_islands::extend_at_vert(), blender::bke::pbvh::pixels::Rows::filter_pixels_for_closer_examination(), blender::ed::space_node::find_common_parent_node(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::ed::sculpt_paint::greasepencil::GreasePencilStrokeOperationCommon::foreach_editable_drawing(), blender::ed::sculpt_paint::greasepencil::GreasePencilStrokeOperationCommon::foreach_editable_drawing(), blender::ed::greasepencil::frame_clean_duplicate_exec(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), blender::ed::sculpt_paint::grease_pencil_fill_extension_cut(), blender::ed::sculpt_paint::grease_pencil_fill_get_extension_data(), blender::draw::grease_pencil_geom_batch_ensure(), blender::draw::grease_pencil_wire_batch_ensure(), guard_modifiers(), blender::geometry::OrderedAttributes::index_range(), blender::animrig::insert_key_layered_action(), blender::fn::multi_function::ProcedureDotExport::instruction_to_string(), blender::index_mask::intersect_index_mask_segments(), knife_bvh_init(), knifetool_finish_ex(), blender::nodes::LazyFunctionForGroupNode::LazyFunctionForGroupNode(), lineart_bake_endjob(), lineart_bake_startjob(), blender::io::ply::load_vertex_element(), MOD_lineart_gpencil_generate_v3(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::bke::bake::move_socket_values_to_bake_items(), blender::ed::space_node::named_attribute_tooltip(), blender::ed::space_node::node_draw_extra_info_panel(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::bke::mesh::normals_calc_corners(), blender::ed::object::object_convert_exec(), blender::ed::sculpt_paint::greasepencil::GrabOperation::on_stroke_begin(), blender::gpu::populate_specialization_constant_values(), blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components(), blender::HashTableStats::print(), blender::gpu::Shader::print_log(), blender::ed::space_node::push_compute_context_for_tree_path(), blender::ed::transform::curves::recalcData_curves(), blender::ed::transform::greasepencil::recalcData_grease_pencil(), blender::nodes::refresh_node_panel(), blender::nodes::refresh_node_socket(), blender::ed::greasepencil::remove_points_and_split(), blender::eevee::LightBake::run(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_projected_with_symmetry(), blender::ed::sculpt_paint::DensityAddOperationExecutor::sample_spherical_with_symmetry(), blender::nodes::search_link_ops_for_declarations(), blender::ed::curves::select_linked(), blender::ed::spreadsheet::InstancesTreeViewItem::should_be_active(), blender::ed::space_node::sort_multi_input_socket_links_with_drag(), space_workspace_cycle_invoke(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::ed::greasepencil::stroke_simplify(), blender::eevee::SyncModule::sync_mesh(), blender::memory_cache::try_enforce_limit(), blender::index_mask::union_index_mask_segments(), blender::eevee::LightBake::update(), blender::update_bakes_from_node_group(), blender::ed::space_node::update_multi_input_indices_for_removed_links(), blender::update_panels_from_node_group(), blender::bke::pbvh::pixels::update_pixels(), blender::gpu::VKDescriptorSetTracker::upload_descriptor_sets(), blender::geometry::uv_parametrizer_pack(), uvedit_pack_islands_multi(), blender::ed::greasepencil::vertex_group_normalize_all_exec(), blender::ed::greasepencil::vertex_group_normalize_exec(), blender::ed::greasepencil::vertex_group_smooth_exec(), blender::ed::viewer_path::viewer_path_for_geometry_node(), blender::ed::greasepencil::weight_sample_invoke(), and blender::draw::pbvh::DrawCacheImpl::~DrawCacheImpl().

◆ insert() [1/5]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::insert ( const int64_t insert_index,
const T & value )
inline

◆ insert() [2/5]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename InputIt >
void blender::Vector< T, InlineBufferCapacity, Allocator >::insert ( const int64_t insert_index,
InputIt first,
InputIt last )
inline

◆ insert() [3/5]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::insert ( const int64_t insert_index,
Span< T > array )
inline

◆ insert() [4/5]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::insert ( const int64_t insert_index,
T && value )
inline

◆ insert() [5/5]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename InputIt >
void blender::Vector< T, InlineBufferCapacity, Allocator >::insert ( const T * insert_position,
InputIt first,
InputIt last )
inline

◆ is_at_capacity()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
bool blender::Vector< T, InlineBufferCapacity, Allocator >::is_at_capacity ( ) const
inline

Definition at line 923 of file BLI_vector.hh.

◆ is_empty()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
bool blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty ( ) const
inline

Returns true when the vector contains no elements, otherwise false.

This is the same as std::vector::empty.

Definition at line 703 of file BLI_vector.hh.

Referenced by blender::eevee::ShadowTileMapPool::acquire(), blender::realtime_compositor::TexturePool::acquire(), blender::gpu::VKResourceTracker< Resource >::active_resource(), blender::realtime_compositor::Operation::add_and_evaluate_input_processor(), blender::string_search::StringSearchBase::add_impl(), blender::bke::compositor::add_passes_used_by_cryptomatte_node(), blender::ed::space_node::add_reroute_exec(), blender::render::TexturePool::allocate_texture(), blender::draw::detail::SubPassVector< T, block_size >::append_and_get_index(), blender::draw::command::DrawMultiBuf::append_draw(), apply_armature_pose2bones_exec(), arrayModifier_doArray(), blender::ed::asset::asset_operation_get_ids_from_context(), blender::ed::object::bake_simulation::bake_single_node_exec(), blender::ed::object::bake_simulation::bake_single_node_invoke(), BKE_appdir_app_template_any(), BKE_blendfile_link(), BKE_main_merge(), BM_face_split_edgenet(), bm_mesh_loops_calc_normals_for_loop(), bmo_edgenet_prepare_exec(), button_section_bounds_calc(), blender::geometry::calc_position_with_interpolation(), blender::geometry::calc_radius_with_interpolation(), blender::fn::combine_field_inputs(), blender::realtime_compositor::compute_marker_points(), blender::nodes::node_composite_base_cryptomatte_cc::BaseCryptoMatteOperation::compute_matte(), blender::realtime_compositor::compute_schedule(), blender::bke::compare_meshes::construct_vertex_mapping(), copy_driver_to_selected_button(), blender::bke::pbvh::pixels::copy_update(), blender::io::obj::CurveFromGeometry::create_curve_object(), blender::ed::space_node::create_multi_input_log_inspection_string(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), ctx_data_base_collection_get(), blender::nodes::node_geo_curve_fill_cc::curve_fill_calculate(), blender::bke::curve_legacy_to_curves(), blender::ed::space_node::cut_links_exec(), blender::gpu::VKDevice::debug_print(), blender::deg::deg_debug_graphviz_node(), blender::gpu::VKImmediate::deinit(), blender::animrig::delete_keyframe(), blender::gpu::VKDiscardPool::destroy_discarded_resources(), draw_seq_strips(), draw_strip_thumbnails(), drw_deferred_shader_compilation_exec(), blender::ed::curves::duplicate_points(), edbm_select_linked_flat_faces_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::io::ply::FileBuffer::ensure_space(), blender::index_mask::evaluate_coarse_difference(), blender::fn::evaluate_fields(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::nodes::LazyFunctionForAnonymousAttributeSetJoin::execute_impl(), blender::nodes::LazyFunctionForLogicalOr::execute_impl(), blender::io::usd::export_deform_verts(), blender::io::grease_pencil::extend_curves_geometry(), blender::bke::greasepencil::convert::AnimDataConvertor::fcurves_convert_finalize(), blender::gpu::VKShaderModule::finalize(), blender::ed::space_node::find_common_parent_node(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::animrig::CombinedKeyingResult::generate_reports(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), blender::bke::FileHandlerType::get_default_filename(), blender::io::obj::OBJMesh::get_face_uv_indices(), blender::gpu::VKDescriptorSetLayouts::get_or_create(), GPU_debug_get_groups_names(), blender::ed::greasepencil::grease_pencil_copy_keyframes(), blender::nodes::node_geo_curve_to_points_cc::grease_pencil_to_points(), blender::ed::sculpt_paint::grease_pencil_weight_brush_stroke_invoke(), blender::gpu::VKResourceTracker< Resource >::has_active_resource(), blender::io::usd::import_mesh_skel_bindings(), blender::io::usd::import_startjob(), blender::gpu::VKDescriptorPools::init(), blender::gpu::VKQueryPool::init(), blender::io::usd::USDMeshWriter::init_skinned_mesh(), initialize_posetree(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::deg::BuilderStack::is_empty(), blender::fn::lazy_function::ScheduledNodes::is_empty(), blender::gpu::VKBackend::is_supported(), blender::deg::is_unused_noop(), knife_add_cut(), lightprobe_cache_bake_invoke(), blender::ed::space_node::link_drag_search_exec_fn(), blender::io::ply::load_plydata(), blender::io::usd::USDMaterialReader::load_tex_image(), loop_find_region(), main_merge_add_id_to_move(), blender::ed::greasepencil::trim::Segments::merge_adjacent_segments(), merge_uvs_for_vertex(), blender::bke::pbvh::uv_islands::mesh_data_init_primitive_uv_island_ids(), blender::bke::mesh_remesh_reproject_attributes(), blender::ed::space_node::mute_links_exec(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::ed::space_node::node_draw_extra_info_panel(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_geo_exec(), blender::ed::space_node::node_group_ungroup_exec(), blender::ed::space_node::node_insert_on_link_flags_set(), blender::ed::space_node::node_link_modal(), blender::ed::space_node::node_socket_get_tooltip(), blender::gpu::GLSharedOrphanLists::orphans_clear(), blender::bke::bake::pack_bake_from_disk(), blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last(), blender::fn::lazy_function::ScheduledNodes::pop_next_node(), pose_clear_transform_generic_exec(), prepare_linehits_for_cut(), blender::gpu::Shader::print_log(), blender::LinearAllocator< Allocator >::provide_buffer(), blender::ed::space_node::push_compute_context_for_tree_path(), recalcData_graphedit(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove_last(), blender::ed::greasepencil::remove_points_and_split(), blender::gpu::VKImmediate::reset(), blender::string_search::score_query_against_words(), blender::nodes::node_geo_material_selection_cc::select_by_material(), SEQ_render_give_ibuf(), seq_render_strip_stack(), blender::io::usd::USDTransformWriter::set_xform_ops(), blender::ed::object::shade_smooth_exec(), smart_project_exec(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), standard_defines(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::gpu::VKResourceTracker< Resource >::tracked_resource_for(), blender::try_find_baked_data(), ui_block_new_button_group(), ui_button_group_add_but(), UI_context_copy_to_selected_list(), ui_context_fcurve_modifiers_via_fcurve(), ui_context_selected_bones_via_pose(), ui_item_estimate(), ui_item_layout(), ui_litem_estimate_row(), ui_litem_layout_row(), UI_panel_header_buttons_end(), ui_paneltype_draw_impl(), ui_selectcontext_begin(), uiLayoutEndsWithPanelHeader(), blender::gpu::VKDescriptorSetTracker::upload_descriptor_sets(), uv_from_view_exec(), uvedit_pack_islands_multi(), version_geometry_nodes_primitive_uv_maps(), WM_gizmo_target_property_clear_rna_ptr(), WM_gizmo_target_property_def_func_ptr(), WM_gizmo_target_property_def_rna_ptr(), WM_keymap_item_raw_to_string(), MeshImporter::write_geometry(), blender::io::ply::write_header(), blender::io::obj::write_mesh_objects(), blender::gpu::GLContext::~GLContext(), blender::deg::BuilderStack::ScopedEntry::~ScopedEntry(), blender::gpu::VKImmediate::~VKImmediate(), and blender::gpu::VKQueryPool::~VKQueryPool().

◆ last() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T & blender::Vector< T, InlineBufferCapacity, Allocator >::last ( const int64_t n = 0)
inline

◆ last() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T & blender::Vector< T, InlineBufferCapacity, Allocator >::last ( const int64_t n = 0) const
inline

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

Definition at line 660 of file BLI_vector.hh.

References BLI_assert, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().

Referenced by blender::gpu::VKResourceTracker< Resource >::active_resource(), blender::realtime_compositor::Operation::add_and_evaluate_input_processor(), blender::string_search::StringSearchBase::add_impl(), blender::dot::NodeWithSockets::add_input(), blender::dot::NodeWithSockets::add_output(), blender::ed::space_node::add_reroute_exec(), blender::draw::detail::SubPassVector< T, block_size >::append_and_get_index(), blender::draw::command::DrawMultiBuf::append_draw(), blender::ed::transform::curves::append_positions_to_custom_data(), BKE_library_main_rebuild_hierarchy(), BKE_volume_save(), bmo_edgenet_prepare_exec(), button_section_bounds_calc(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_invert(), blender::Pool< T, ChunkLen >::construct(), blender::ed::space_node::create_multi_input_log_inspection_string(), blender::fn::multi_function::ProcedureDotExport::create_nodes(), blender::ed::greasepencil::trim::Segments::create_segment(), blender::ed::curves::duplicate_points(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::gpu::VKImmediate::end(), blender::gpu::VKQueryPool::end_query(), blender::ed::space_node::ensure_nodetree_previews(), blender::io::ply::FileBuffer::ensure_space(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::ed::space_node::find_common_parent_node(), blender::geometry::find_connected_ranges(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::io::ply::find_or_add_attribute(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), knife_add_cut(), blender::VectorList< T, CapacityStart, CapacitySoftLimit >::last(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::ed::space_node::node_socket_get_tooltip(), blender::Vector< T, InlineBufferCapacity, Allocator >::prepend(), blender::gpu::Shader::print_log(), blender::io::alembic::AbcCurveReader::read_curves_sample(), blender::io::usd::remap_blend_shape_anim(), blender::ed::greasepencil::remove_points_and_split(), SEQ_render_give_ibuf(), blender::bke::bake::serialize_geometry_set(), blender::ed::space_node::shader_preview_startjob(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), space_workspace_cycle_invoke(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), ui_block_new_button_group(), ui_button_group_add_but(), ui_litem_estimate_column(), ui_litem_estimate_row(), ui_litem_layout_column(), ui_litem_layout_row(), ui_litem_layout_split(), UI_panel_header_buttons_end(), ui_paneltype_draw_impl(), uiLayoutEndsWithPanelHeader(), blender::geometry::weld_poly_loop_ctx_alloc(), WM_keymap_item_raw_to_string(), and blender::io::ply::FileBuffer::write_fstring().

◆ operator MutableSpan< T >()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::operator MutableSpan< T > ( )
inline

Definition at line 305 of file BLI_vector.hh.

◆ operator MutableSpan< U >()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< T, U >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::operator MutableSpan< U > ( )
inline

◆ operator Span< T >()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
blender::Vector< T, InlineBufferCapacity, Allocator >::operator Span< T > ( ) const
inline

Definition at line 300 of file BLI_vector.hh.

◆ operator Span< U >()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename U , BLI_ENABLE_IF((is_span_convertible_pointer_v< T, U >)) >
blender::Vector< T, InlineBufferCapacity, Allocator >::operator Span< U > ( ) const
inline

◆ operator=() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
Vector & blender::Vector< T, InlineBufferCapacity, Allocator >::operator= ( const Vector< T, InlineBufferCapacity, Allocator > & other)
inline

Definition at line 272 of file BLI_vector.hh.

References blender::copy_assign_container().

◆ operator=() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
Vector & blender::Vector< T, InlineBufferCapacity, Allocator >::operator= ( Vector< T, InlineBufferCapacity, Allocator > && other)
inline

Definition at line 277 of file BLI_vector.hh.

References blender::move_assign_container().

◆ operator[]() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T & blender::Vector< T, InlineBufferCapacity, Allocator >::operator[] ( int64_t index)
inline

◆ operator[]() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
const T & blender::Vector< T, InlineBufferCapacity, Allocator >::operator[] ( int64_t index) const
inline

Get the value at the given index. This invokes undefined behavior when the index is out of bounds.

Definition at line 286 of file BLI_vector.hh.

References BLI_assert, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().

◆ pop_last()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
T blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last ( )
inline

◆ prepend() [1/4]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::prepend ( const T & value)
inline

Insert values at the beginning of the vector. The has to move all the other elements, so it has a linear running time.

Definition at line 639 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::insert().

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

◆ prepend() [2/4]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename InputIt >
void blender::Vector< T, InlineBufferCapacity, Allocator >::prepend ( InputIt first,
InputIt last )
inline

◆ prepend() [3/4]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::prepend ( Span< T > values)
inline

◆ prepend() [4/4]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::prepend ( T && value)
inline

◆ print_stats()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::print_stats ( const char * name) const
inline

Print some debug information about the vector.

Definition at line 965 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::internal::vector_print_stats().

◆ rbegin() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
std::reverse_iterator< T * > blender::Vector< T, InlineBufferCapacity, Allocator >::rbegin ( )
inline

◆ rbegin() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
std::reverse_iterator< const T * > blender::Vector< T, InlineBufferCapacity, Allocator >::rbegin ( ) const
inline

◆ reinitialize()

◆ remove() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::remove ( const int64_t index)
inline

◆ remove() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::remove ( const int64_t start_index,
const int64_t amount )
inline

Remove a contiguous chunk of elements and move all values coming after it towards the front. This takes O(n) time.

This is similar to std::vector::erase.

Definition at line 790 of file BLI_vector.hh.

References BLI_assert, blender::destruct_n(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and UPDATE_VECTOR_SIZE.

◆ remove_and_reorder()

◆ remove_first_occurrence_and_reorder()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::remove_first_occurrence_and_reorder ( const T & value)
inline

◆ remove_if()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename Predicate >
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::remove_if ( Predicate && predicate)
inline

◆ remove_last()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::remove_last ( )
inline

◆ rend() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
std::reverse_iterator< T * > blender::Vector< T, InlineBufferCapacity, Allocator >::rend ( )
inline

◆ rend() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
std::reverse_iterator< const T * > blender::Vector< T, InlineBufferCapacity, Allocator >::rend ( ) const
inline

◆ reserve()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::reserve ( const int64_t min_capacity)
inline

Make sure that enough memory is allocated to hold min_capacity elements. This won't necessarily make an allocation when min_capacity is small. The actual size of the vector does not change.

Definition at line 337 of file BLI_vector.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::capacity().

Referenced by blender::Vector< T, InlineBufferCapacity, Allocator >::append_n_times(), BKE_mesh_merge_customdata_for_apply_modifier(), blendthumb_create_png_data_from_thumb(), blender::AtomicDisjointSet::calc_reduced_ids(), compute_interpolated_faces(), computed_masked_faces(), draw_strip_thumbnails(), DRW_view_data_create(), blender::geometry::edges_to_curve_point_indices(), blender::bke::Instances::ensure_geometry_instances(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::bke::pbvh::pixels::Rows::filter_pixels_for_closer_examination(), filtered_rows_from_thumb(), blender::geometry::find_connected_ranges(), blender::bke::pbvh::pixels::find_nodes_to_update(), blender::io::obj::fixup_invalid_face(), blender::io::ply::generate_vertex_map(), blender::io::obj::geometry_to_blender_objects(), gpu_select_pick_end(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), blender::fn::multi_function::VariableState::indices_split(), UVGroups::init(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::io::ply::load_plydata(), merge_uvs_for_vertex(), MOD_lineart_gpencil_generate_v3(), blender::ed::space_node::node_build_item_data(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), blender::geometry::p_chart_simplify_compute(), blender::bke::pbvh::uv_islands::Fan::path_between(), blender::geometry::poly_find_doubles(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::eevee::ShaderModule::ShaderModule(), blender::eevee::ShadowTileMapPool::ShadowTileMapPool(), blender::draw::overlay::ShapeCache::ShapeCache(), blender::compositor::NodeOperationBuilder::sort_operations(), blender::gpu::GLSources::sources_get(), blender::tests::TEST(), test_sin_cos_from_fraction_symmetry(), blender::geometry::toposort_connected_curves(), transform_mesh_uv_vert_slide_data_create(), transform_mesh_vert_slide_data_create(), blender::bke::node_tree_runtime::update_toposort(), blender::geometry::uv_parametrizer_face_add(), uv_remove_doubles_to_selected_shared_vertex(), visible_strips_ordered_get(), blender::geometry::weld_edge_ctx_alloc_and_find_collapsed(), blender::geometry::weld_mesh_context_create(), blender::geometry::weld_poly_find_doubles(), blender::geometry::weld_poly_loop_ctx_alloc(), blender::geometry::weld_vert_ctx_alloc_and_setup(), and blender::io::obj::write_mesh_objects().

◆ resize() [1/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::resize ( const int64_t new_size)
inline

Change the size of the vector so that it contains new_size elements. If new_size is smaller than the old size, the elements at the end of the vector are destructed. If new_size is larger than the old size, the new elements at the end are default constructed. If T is trivially constructible, the memory is not touched by this function.

Definition at line 350 of file BLI_vector.hh.

References BLI_assert, blender::default_construct_n(), blender::destruct_n(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and UPDATE_VECTOR_SIZE.

Referenced by blender::io::obj::MTLWriter::add_materials(), blender::ed::sculpt_paint::cloth::apply_filter_forces_bmesh(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::cloth::apply_filter_forces_mesh(), blender::ed::sculpt_paint::mask::apply_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_mask_grids(), blender::ed::sculpt_paint::mask::apply_mask_mesh(), blender::ed::sculpt_paint::project::apply_projection_bmesh(), blender::ed::sculpt_paint::project::apply_projection_grids(), blender::ed::sculpt_paint::project::apply_projection_mesh(), blender::gpu::GLQueryPool::begin_query(), BKE_volume_grid_wireframe(), blender::eevee::VolumeProbeModule::bricks_alloc(), blender::ed::sculpt_paint::greasepencil::brush_point_influence_mask(), blender::ed::sculpt_paint::calc_bmesh(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::filter::calc_erase_displacement_filter(), blender::ed::sculpt_paint::calc_faces(), blender::ed::sculpt_paint::calc_factors_common_bmesh(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_bmesh(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_grids(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_mesh(), blender::ed::sculpt_paint::calc_factors_common_grids(), blender::ed::sculpt_paint::calc_factors_common_mesh(), blender::ed::sculpt_paint::calc_factors_common_mesh_indexed(), 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::calc_grids(), blender::ed::sculpt_paint::pose::calc_grids(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::pose::calc_mesh(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::ed::sculpt_paint::filter::calc_relax_face_sets_filter(), blender::ed::sculpt_paint::filter::calc_relax_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::filter::calc_smooth_filter(), blender::ed::sculpt_paint::filter::calc_sphere_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::bke::curves::nurbs::calculate_basis_cache(), blender::ed::sculpt_paint::color::color_filter_task(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_mesh(), blender::ed::sculpt_paint::color::do_color_smooth_task(), blender::ed::sculpt_paint::color::do_paint_brush_task(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), blender::ed::sculpt_paint::color::do_sample_wet_paint_task(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::color::do_smear_brush_task(), do_vpaint_brush_blur_loops(), do_vpaint_brush_blur_verts(), do_vpaint_brush_smear(), do_wpaint_brush_blur(), do_wpaint_brush_draw(), do_wpaint_brush_smear(), blender::ed::sculpt_paint::elastic_transform_node_bmesh(), blender::ed::sculpt_paint::elastic_transform_node_grids(), blender::ed::sculpt_paint::elastic_transform_node_mesh(), blender::bke::CurvesGeometry::ensure_evaluated_lengths(), blender::draw::pbvh::DrawCacheImpl::ensure_lines_batches(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), blender::draw::pbvh::DrawCacheImpl::ensure_tris_batches(), blender::bke::CurvesGeometry::evaluated_normals(), blender::bke::CurvesGeometry::evaluated_points_by_curve(), blender::bke::CurvesGeometry::evaluated_positions(), blender::bke::CurvesGeometry::evaluated_tangents(), blender::fn::multi_function::execute_call_instruction(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::ed::space_node::find_common_parent_node(), blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index(), find_isomorphism(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::bke::pbvh::Tree::from_bmesh(), blender::bke::pbvh::Tree::from_grids(), blender::index_mask::IndexMask::from_group_ids(), blender::index_mask::IndexMask::from_indices(), blender::bke::pbvh::Tree::from_mesh(), blender::index_mask::detail::from_predicate_impl(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_data_mesh(), blender::io::ply::generate_vertex_map(), blender::workbench::Instance::get_dummy_gpu_materials(), blender::interface::internal::get_property_drivers(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), gpu_select_next_set_result(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), blender::ed::sculpt_paint::mask::increase_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::mask::increase_contrast_mask_mesh(), blender::eevee::MotionBlurModule::init(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_pointcloud(), blender::eevee::LightBake::LightBake(), blender::io::obj::linked_sockets_to_dest_id(), blender::io::ply::load_edge_element(), blender::io::ply::load_face_element(), blender::io::ply::load_tristrips_element(), blender::io::ply::load_vertex_element(), blender::nodes::node_geo_bake_cc::make_bake_socket_config(), blender::nodes::node_geo_simulation_cc::make_bake_socket_config(), blender::bke::mesh_init_origspace(), mouse_select_eval_buffer(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::bke::pbvh::pbvh_bmesh_node_split(), prepare_linehits_for_cut(), blender::io::alembic::preprocess_sample(), blender::ed::sculpt_paint::PuffOperationExecutor::puff(), blender::io::ply::read_list_count(), blender::gpu::read_spirv_from_disk(), blender::Vector< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::geometry::EvalDataBuffer::resize(), blender::geometry::rotate_inside_square(), blender::ed::sculpt_paint::sample_node_surface_bmesh(), blender::ed::sculpt_paint::sample_node_surface_grids(), blender::ed::sculpt_paint::sample_node_surface_mesh(), blender::ed::sculpt_paint::mask::sharpen_mask_bmesh(), blender::ed::sculpt_paint::mask::sharpen_mask_grids(), blender::ed::sculpt_paint::mask::sharpen_mask_mesh(), blender::io::ply::skip_property(), blender::geometry::smooth_curve_attribute(), blender::geometry::smooth_curve_positions(), blender::fn::lazy_function::ScheduledNodes::split_into(), blender::tests::TEST(), blender::gpu::tests::test_storage_buffer_clear(), blender::gpu::tests::test_storage_buffer_clear_zero(), blender::gpu::tests::test_storage_buffer_copy_from_vertex_buffer(), blender::gpu::tests::test_storage_buffer_create_update_read(), blender::render::texturemargin::TextureMarginMap::TextureMarginMap(), blender::ed::sculpt_paint::transform_node_bmesh(), blender::ed::sculpt_paint::transform_node_grids(), blender::ed::sculpt_paint::transform_node_mesh(), blender::bke::greasepencil::Drawing::triangles(), ui_template_list_collect_display_items(), blender::ed::sculpt_paint::mask::update_mask_mesh(), uv_remove_doubles_to_selected_shared_vertex(), blender::ed::sculpt_paint::hide::vert_hide_update(), view3d_opengl_select_with_id_filter(), view3d_panel_vgroup(), vpaint_do_draw(), WM_gizmo_operator_set(), blender::io::obj::OBJWriter::write_face_elements(), and zlib_compress().

◆ resize() [2/2]

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
void blender::Vector< T, InlineBufferCapacity, Allocator >::resize ( const int64_t new_size,
const T & value )
inline

Change the size of the vector so that it contains new_size elements. If new_size is smaller than the old size, the elements at the end of the vector are destructed. If new_size is larger than the old size, the new elements will be copy constructed from the given value.

Definition at line 371 of file BLI_vector.hh.

References BLI_assert, blender::destruct_n(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::uninitialized_fill_n(), and UPDATE_VECTOR_SIZE.

◆ size()

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
int64_t blender::Vector< T, InlineBufferCapacity, Allocator >::size ( ) const
inline

Return how many values are currently stored in the vector.

Definition at line 691 of file BLI_vector.hh.

References BLI_assert.

Referenced by blender::eevee::ShadowTileMapPool::acquire(), blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::fn::multi_function::ProcedureBuilder::add_call(), blender::geometry::add_curves_on_mesh(), blender::nodes::node_geo_dual_mesh_cc::add_edge(), blender::nodes::NodeDeclarationBuilder::add_panel(), blender::ed::space_node::add_reroute_exec(), blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), animsys_blend_in_fcurves(), UV_ClipboardBuffer::append(), blender::draw::detail::SubPassVector< T, block_size >::append_and_get_index(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index_as(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_n_times(), GPUCodegenCreateInfo::NameBuffer::append_sampler_name(), blender::draw::overlay::append_sphere(), blender::ed::sculpt_paint::smooth::average_data_grids(), blender::ed::object::bake_exec(), blender::ed::object::bake_startjob(), blender::gpu::GLQueryPool::begin_query(), blender::gpu::VKQueryPool::begin_query(), bev_rebuild_polygon(), bevel_edge_order_extend(), blender::gpu::VKVertexAttributeObject::bind(), BKE_blendfile_link_append_context_item_add(), BKE_library_main_rebuild_hierarchy(), BKE_main_merge(), BKE_view_layer_array_from_objects_in_mode_params(), BKE_volume_grid_selection_surface(), BKE_volume_grid_wireframe(), blendthumb_create_png_data_from_thumb(), BM_edge_split(), blender::bm_face_loop_table_build(), bmo_edgenet_prepare_exec(), bpy_bm_utils_face_split_edgenet(), blender::eevee::VolumeProbeModule::bricks_alloc(), build_center_ngon(), blender::ed::greasepencil::build_fill_boundary(), blender::nodes::LazyFunctionForForeachGeometryElementZone::build_graph_contents(), blender::index_mask::build_result_mask_segments(), blender::geometry::calc_new_edges(), calc_ortho_extent(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::ed::sculpt_paint::calc_vert_neighbors_interior(), blender::nodes::node_fn_separate_color_cc::SeparateRGBAFunction::call(), blender::nodes::node_shader_sepcomb_xyz_cc::sep::MF_SeparateXYZ::call(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_invert(), blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::Vector< T, InlineBufferCapacity, Allocator >::clear_and_shrink(), blender::gpu::ShaderCompiler::compile(), compute_interpolated_faces(), blender::nodes::node_composite_base_cryptomatte_cc::BaseCryptoMatteOperation::compute_matte(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::compute_piecewise_linear_falloff(), blender::realtime_compositor::compute_schedule(), compute_vertex_mask__armature_mode(), computed_masked_faces(), blender::gpu::GLShader::constants_declare(), blender::compositor::CryptomatteNode::create_cryptomatte_operation(), blender::fn::multi_function::ProcedureDotExport::create_entry_node(), blender::ed::transform::curves::createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), ctx_data_list_count(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::curve_legacy_to_curves(), CustomData_blend_write_prepare(), CustomData_shallow_copy_remove_non_bmesh_attributes(), blender::ed::space_node::cut_links_exec(), blender::gpu::VKDevice::debug_print(), blender::gpu::VKVertexAttributeObject::debug_print(), DEG_debug_compare(), blender::deg::deg_graph_remove_unused_noops(), blender::deg::deg_graph_transitive_reduction(), DEG_iterator_ids_begin(), DEG_iterator_objects_begin(), DEG_stats_simple(), blender::animrig::delete_keyframe(), blender::index_mask::difference_index_mask_segments(), blender::nodes::node_geo_dual_mesh_cc::dissolve_redundant_verts(), blender::nodes::node_geo_curve_fill_cc::do_group_aware_cdt(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), draw_strip_thumbnails(), DRW_view_data_enabled_engine_iter_begin(), RetimingRange::duplicate(), blender::ed::curves::duplicate_points(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_sample_from_surface(), ED_sequencer_pick_strip_and_handle(), ED_view3d_gizmo_mesh_preselect_get_active(), EDBM_elem_from_index_any_multi(), edbm_separate_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), blender::geometry::edges_to_curve_point_indices(), blender::draw::select::SelectMap::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::draw::Texture::ensure_layer_views(), blender::draw::Texture::ensure_mip_views(), blender::index_mask::evaluate_coarse_difference(), blender::index_mask::evaluate_coarse_intersection(), blender::ed::sculpt_paint::DensityAddOperationExecutor::execute(), blender::ed::sculpt_paint::flood_fill::FillDataGrids::execute(), blender::nodes::LazyFunctionForAnonymousAttributeSetJoin::execute_impl(), blender::io::usd::export_deform_verts(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::bke::pbvh::uv_islands::extend_at_vert(), blender::io::grease_pencil::extend_curves_geometry(), extract_png_from_blend_file(), blender::draw::extract_skin_roots(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::Vector< T, InlineBufferCapacity, Allocator >::fill(), blender::ed::sculpt_paint::undo::fill_node_data_grids(), blender::ed::sculpt_paint::undo::fill_node_data_mesh(), filtered_rows_from_thumb(), blender::gpu::VKShaderModule::finalize(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::ed::space_node::find_common_parent_node(), blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index(), UV_ClipboardBuffer::find_isomorphism(), blender::ed::greasepencil::find_lowest_common_ancestor(), blender::bke::find_zone_nodes(), blender::Vector< T, InlineBufferCapacity, Allocator >::first(), blender::Vector< T, InlineBufferCapacity, Allocator >::first(), blender::compositor::ConstantFolder::fold_operations(), generate(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_out_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_population(), blender::animrig::CombinedKeyingResult::generate_reports(), blender::ed::greasepencil::generate_stroke_perimeter(), blender::io::ply::generate_vertex_map(), blender::io::obj::FormatHandler::get_block_count(), blender::ed::space_node::get_compute_context_hash_for_node_editor(), blender::workbench::Instance::get_dummy_gpu_materials(), blender::compositor::BuffersIteratorBuilder< T >::Iterator::get_num_inputs(), blender::compositor::NodeOperation::get_number_of_input_sockets(), blender::compositor::NodeOperation::get_number_of_output_sockets(), blender::compositor::get_operation_dependencies(), blender::gpu::VKDescriptorSetLayouts::get_or_create(), blender::gpu::VKPipelinePool::get_or_create_graphics_pipeline(), blender::interface::internal::get_property_drivers(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), GPU_debug_group_begin(), gpu_select_next_set_result(), gpu_select_pick_end(), blender::ed::sculpt_paint::grease_pencil_fill_extension_cut(), blender::ed::sculpt_paint::grease_pencil_fill_extension_lines_from_circles(), blender::render::texturemargin::TextureMarginMap::grow_dijkstra(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::hard_eraser(), blender::HashTableStats::HashTableStats(), blender::io::usd::import_skeleton(), blender::compositor::BuffersIteratorBuilder< T >::Iterator::in(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), UVGroups::init(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_pointcloud(), blender::nodes::LazyFunctionForRepeatZone::initialize_execution_graph(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::animrig::insert_keyframes(), blender::fn::multi_function::ProcedureDotExport::instruction_to_string(), blender::ed::sculpt_paint::greasepencil::interpolate_between_curves(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::index_mask::intersect_index_mask_segments(), blender::realtime_compositor::KeyingScreen::KeyingScreen(), knife_add_cut(), knife_bvh_raycast_cb(), knife_find_line_hits(), knifetool_draw(), knifetool_init(), knifetool_modal(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::ed::space_node::link_drag_search_exec_fn(), blender::io::ply::load_face_element(), blender::io::ply::load_plydata(), blender::io::ply::load_tristrips_element(), loopcut_init(), blender::ed::greasepencil::merge_layers(), blender::nodes::node_geo_merge_layers_cc::merge_layers(), merge_uvs_for_vertex(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), blender::draw::Texture::mip_view(), blender::bke::GeometrySet::modify_geometry_sets(), mouseover_strips_sorted_get(), blender::bke::bake::move_socket_values_to_bake_items(), blender::ed::space_node::mute_links_exec(), blender::ed::space_node::named_attribute_tooltip(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids(), blender::gpu::render_graph::VKRenderGraph::next_node_handle(), blender::ed::space_node::node_draw_extra_info_panel(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), blender::fn::lazy_function::ScheduledNodes::nodes_num(), blender::bke::mesh::normals_calc_corners(), blender::ed::object::object_convert_exec(), blender::ed::object::object_select_random_exec(), blender::ed::spreadsheet::InstancesTreeViewItem::on_activate(), blender::ed::sculpt_paint::greasepencil::GrabOperation::on_stroke_begin(), blender::Vector< _uilist_item >::operator MutableSpan< _uilist_item >(), blender::Vector< T, InlineBufferCapacity, Allocator >::operator MutableSpan< U >(), blender::Vector< _uilist_item >::operator Span< _uilist_item >(), blender::Vector< T, InlineBufferCapacity, Allocator >::operator Span< U >(), blender::nodes::partial_eval::NodeInContextDownstreamComparator::operator()(), blender::nodes::partial_eval::NodeInContextUpstreamComparator::operator()(), blender::nodes::anonymous_attribute_lifetime::operator<<(), blender::Vector< T, InlineBufferCapacity, Allocator >::operator[](), blender::Vector< T, InlineBufferCapacity, Allocator >::operator[](), blender::gpu::GLSharedOrphanLists::orphans_clear(), blender::bke::bake::pack_bake_from_disk(), blender::geometry::OverlapMerger::pack_islands_overlap(), blender::ed::viewer_path::parse_geometry_nodes_viewer(), blender::io::ply::parse_row_ascii(), blender::io::ply::parse_row_binary(), blender::ed::curves::convert_from_particle_system::particles_to_curves(), blender::bke::pbvh::pbvh_bmesh_node_split(), blender::geometry::poly_find_doubles(), blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components(), blender::gpu::MSLGeneratorInterface::prepare_from_createinfo(), prepare_linehits_for_cut(), blender::ed::space_node::prepare_viewlayer_update(), blender::Vector< T, InlineBufferCapacity, Allocator >::print_stats(), blender::draw::select::SelectMap::read_result(), blender::ed::transform::curves::recent_position_offsets(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove(), blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), blender::ed::greasepencil::remove_points_and_split(), blender::draw::image_engine::FloatBufferCache::remove_unused_buffers(), blender::gpu::VKImmediate::reset(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::eevee::LightBake::run(), blender::ed::sculpt_paint::dyntopo::sample_detail_voxel(), blender::ed::sculpt_paint::AddOperationExecutor::sample_projected(), blender::bke::mesh_surface_sample::sample_surface_points_spherical(), blender::nodes::node_geo_sample_nearest_surface_cc::SampleNearestSurfaceFunction::SampleNearestSurfaceFunction(), blender::string_search::score_query_against_words(), separate_exec(), seq_render_strip_stack(), SEQ_retiming_remove_multiple_keys(), SEQ_retiming_sound_animation_data_set(), blender::eevee::VolumeProbeModule::set_view(), blender::io::usd::USDTransformWriter::set_xform_ops(), blender::draw::overlay::ShapeCache::ShapeCache(), blender::ed::spreadsheet::InstancesTreeViewItem::should_be_active(), blender::geometry::OrderedAttributes::size(), blender::Pool< T, ChunkLen >::size(), blender::io::ply::skip_property(), smart_project_exec(), smart_uv_project_calculate_project_normals(), snap_sel_to_grid_exec(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::soft_eraser(), space_workspace_cycle_invoke(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::bke::mesh::split_corner_normal_fan_do(), blender::fn::lazy_function::ScheduledNodes::split_into(), blender::eevee::MotionBlurModule::step(), blender::ed::sculpt_paint::undo::store_color(), blender::eevee::SyncModule::sync_mesh(), blender::asset_system::tests::TEST(), blender::bits::tests::TEST(), blender::index_mask::tests::TEST(), blender::string_search::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::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::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::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_surfel_list(), blender::animrig::tests::TEST_F(), blender::interface::tests::TEST_F(), blender::io::ply::TEST_F(), blender::io::ply::TEST_F(), blender::geometry::toposort_connected_curves(), blender::bke::node_tree_runtime::toposort_from_start_node(), transform_mesh_uv_vert_slide_data_create(), transform_mesh_vert_slide_data_create(), blender::memory_cache::try_enforce_limit(), ui_but_event_property_operator_string(), ui_litem_estimate_panel_header(), ui_litem_layout_panel_header(), ui_litem_layout_split(), blender::ed::space_node::ui_node_menu_column(), UI_panel_header_buttons_end(), ui_selectcontext_begin(), ui_template_list_layout_draw(), uilist_prepare(), blender::index_mask::union_index_mask_segments(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::unique_num(), blender::update_bakes_from_node_group(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), blender::update_panels_from_node_group(), blender::bke::node_tree_runtime::update_toposort(), blender::gpu::VKDescriptorSetTracker::upload_descriptor_sets(), uv_cylinder_project(), blender::geometry::uv_parametrizer_face_add(), uv_remove_doubles_to_selected_shared_vertex(), uv_sphere_project(), uvedit_pack_islands_multi(), blender::Vector< T, InlineBufferCapacity, Allocator >::Vector(), version_legacy_actions_to_layered(), blender::ed::sculpt_paint::vert_neighbors_get_interior_bmesh(), view2d_major_step_x__time(), view3d_opengl_select_with_id_filter(), visible_strips_ordered_get(), blender::gpu::MTLShader::warm_cache(), blender::geometry::weld_mesh_context_create(), blender::geometry::weld_poly_find_doubles(), blender::geometry::weld_poly_loop_ctx_alloc(), wm_block_dialog_create(), WM_drag_create_path_data(), WM_gizmo_operator_set(), MeshImporter::write_geometry(), blender::io::ply::write_header(), blender::eevee::Film::write_viewport_compositor_passes(), zlib_compress(), blender::gpu::GLQueryPool::~GLQueryPool(), blender::ResourceScope::~ResourceScope(), and blender::Vector< T, InlineBufferCapacity, Allocator >::~Vector().

Friends And Related Symbol Documentation

◆ operator!=

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
bool operator!= ( const Vector< T, InlineBufferCapacity, Allocator > & a,
const Vector< T, InlineBufferCapacity, Allocator > & b )
friend

Definition at line 957 of file BLI_vector.hh.

◆ operator==

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
bool operator== ( const Vector< T, InlineBufferCapacity, Allocator > & a,
const Vector< T, InlineBufferCapacity, Allocator > & b )
friend

Definition at line 952 of file BLI_vector.hh.

◆ Vector

template<typename T , int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(T)), typename Allocator = GuardedAllocator>
template<typename OtherT , int64_t OtherInlineBufferCapacity, typename OtherAllocator >
friend class Vector
friend

Be a friend with other vector instantiations. This is necessary to implement some memory management logic.

Definition at line 111 of file BLI_vector.hh.


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