Blender V5.0
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > Class Template Reference

#include <BLI_map.hh>

Classes

struct  BaseIterator
class  BaseIteratorRange
class  KeyIterator
class  ValueIterator
class  MutableValueIterator
class  ItemIterator
class  MutableItemIterator

Public Types

using size_type = int64_t
using Item = MapItem<Key, Value>
using MutableItem = MutableMapItem<Key, Value>

Public Member Functions

 Map (Allocator allocator={}) noexcept
 Map (NoExceptConstructor, Allocator allocator={}) noexcept
 ~Map ()=default
 Map (const Map &other)=default
 Map (Map &&other) noexcept(std::is_nothrow_move_constructible_v< SlotArray >)
 Map (const Span< std::pair< Key, Value > > items, Allocator allocator={})
 Map (const std::initializer_list< std::pair< Key, Value > > items, Allocator allocator={})
Mapoperator= (const Map &other)
Mapoperator= (Map &&other)
void add_new (const Key &key, const Value &value)
void add_new (const Key &key, Value &&value)
void add_new (Key &&key, const Value &value)
void add_new (Key &&key, Value &&value)
template<typename ForwardKey, typename... ForwardValue>
void add_new_as (ForwardKey &&key, ForwardValue &&...value)
bool add (const Key &key, const Value &value)
bool add (const Key &key, Value &&value)
bool add (Key &&key, const Value &value)
bool add (Key &&key, Value &&value)
template<typename ForwardKey, typename... ForwardValue>
bool add_as (ForwardKey &&key, ForwardValue &&...value)
bool add_overwrite (const Key &key, const Value &value)
bool add_overwrite (const Key &key, Value &&value)
bool add_overwrite (Key &&key, const Value &value)
bool add_overwrite (Key &&key, Value &&value)
template<typename ForwardKey, typename... ForwardValue>
bool add_overwrite_as (ForwardKey &&key, ForwardValue &&...value)
bool contains (const Key &key) const
template<typename ForwardKey>
bool contains_as (const ForwardKey &key) const
bool remove (const Key &key)
template<typename ForwardKey>
bool remove_as (const ForwardKey &key)
void remove_contained (const Key &key)
template<typename ForwardKey>
void remove_contained_as (const ForwardKey &key)
Value pop (const Key &key)
template<typename ForwardKey>
Value pop_as (const ForwardKey &key)
std::optional< Value > pop_try (const Key &key)
template<typename ForwardKey>
std::optional< Value > pop_try_as (const ForwardKey &key)
Value pop_default (const Key &key, const Value &default_value)
Value pop_default (const Key &key, Value &&default_value)
template<typename ForwardKey, typename... ForwardValue>
Value pop_default_as (const ForwardKey &key, ForwardValue &&...default_value)
template<typename CreateValueF, typename ModifyValueF>
auto add_or_modify (const Key &key, const CreateValueF &create_value, const ModifyValueF &modify_value) -> decltype(create_value(nullptr))
template<typename CreateValueF, typename ModifyValueF>
auto add_or_modify (Key &&key, const CreateValueF &create_value, const ModifyValueF &modify_value) -> decltype(create_value(nullptr))
template<typename ForwardKey, typename CreateValueF, typename ModifyValueF>
auto add_or_modify_as (ForwardKey &&key, const CreateValueF &create_value, const ModifyValueF &modify_value) -> decltype(create_value(nullptr))
const Value * lookup_ptr (const Key &key) const
Value * lookup_ptr (const Key &key)
template<typename ForwardKey>
const Value * lookup_ptr_as (const ForwardKey &key) const
template<typename ForwardKey>
Value * lookup_ptr_as (const ForwardKey &key)
std::optional< Value > lookup_try (const Key &key) const
template<typename ForwardKey>
std::optional< Value > lookup_try_as (const ForwardKey &key) const
const Value & lookup (const Key &key) const
Value & lookup (const Key &key)
template<typename ForwardKey>
const Value & lookup_as (const ForwardKey &key) const
template<typename ForwardKey>
Value & lookup_as (const ForwardKey &key)
Value lookup_default (const Key &key, const Value &default_value) const
template<typename ForwardKey, typename... ForwardValue>
Value lookup_default_as (const ForwardKey &key, ForwardValue &&...default_value) const
Value & lookup_or_add (const Key &key, const Value &value)
Value & lookup_or_add (const Key &key, Value &&value)
Value & lookup_or_add (Key &&key, const Value &value)
Value & lookup_or_add (Key &&key, Value &&value)
template<typename ForwardKey, typename... ForwardValue>
Value & lookup_or_add_as (ForwardKey &&key, ForwardValue &&...value)
template<typename CreateValueF>
Value & lookup_or_add_cb (const Key &key, const CreateValueF &create_value)
template<typename CreateValueF>
Value & lookup_or_add_cb (Key &&key, const CreateValueF &create_value)
template<typename ForwardKey, typename CreateValueF>
Value & lookup_or_add_cb_as (ForwardKey &&key, const CreateValueF &create_value)
Value & lookup_or_add_default (const Key &key)
Value & lookup_or_add_default (Key &&key)
template<typename ForwardKey>
Value & lookup_or_add_default_as (ForwardKey &&key)
const Keylookup_key (const Key &key) const
template<typename ForwardKey>
const Keylookup_key_as (const ForwardKey &key) const
const Keylookup_key_ptr (const Key &key) const
template<typename ForwardKey>
const Keylookup_key_ptr_as (const ForwardKey &key) const
template<typename FuncT>
void foreach_item (const FuncT &func) const
KeyIterator keys () const &
ValueIterator values () const &
MutableValueIterator values () &
ItemIterator items () const &
MutableItemIterator items () &
KeyIterator keys () const &&=delete
MutableValueIterator values () &&=delete
ValueIterator values () const &&=delete
ItemIterator items () const &&=delete
MutableItemIterator items () &&=delete
void remove (const BaseIterator &iterator)
template<typename Predicate>
int64_t remove_if (Predicate &&predicate)
void print_stats (const char *name) const
int64_t size () const
bool is_empty () const
int64_t capacity () const
int64_t removed_amount () const
int64_t size_per_element () const
int64_t size_in_bytes () const
void reserve (int64_t n)
void clear ()
void clear_and_keep_capacity ()
int64_t count_collisions (const Key &key) const

Friends

bool operator== (const Map &a, const Map &b)
bool operator!= (const Map &a, const Map &b)

Detailed Description

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
class blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >
Template Parameters
KeyType of the keys stored in the map. Keys have to be movable. Furthermore, the hash and is-equal functions have to support it.
ValueType of the value that is stored per key. It has to be movable as well.
InlineBufferCapacityThe minimum number of elements that can be stored in this Map without doing a heap allocation. This is useful when you expect to have many small maps. However, keep in mind that (unlike vector) initializing a map has a O(n) cost in the number of slots.
ProbingStrategyThe strategy used to deal with collisions. They are defined in BLI_probing_strategies.hh.
HashThe hash function used to hash the keys. There is a default for many types. See BLI_hash.hh for examples on how to define a custom hash function.
IsEqualThe equality operator used to compare keys. By default it will simply compare keys using the == operator.
SlotThis is what will actually be stored in the hash table array. At a minimum a slot has to be able to hold a key, a value and information about whether the slot is empty, occupied or removed. Using a non-standard slot type can improve performance or reduce the memory footprint for some types. Slot types are defined in BLI_map_slots.hh
AllocatorThe allocator used by this map. Should rarely be changed, except when you don't want that MEM_* is used internally.

Definition at line 129 of file BLI_map.hh.

Member Typedef Documentation

◆ Item

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
using blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Item = MapItem<Key, Value>

Definition at line 132 of file BLI_map.hh.

◆ MutableItem

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
using blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::MutableItem = MutableMapItem<Key, Value>

Definition at line 133 of file BLI_map.hh.

◆ size_type

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
using blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size_type = int64_t

Definition at line 131 of file BLI_map.hh.

Constructor & Destructor Documentation

◆ Map() [1/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( Allocator allocator = {})
inlinenoexcept

Initialize an empty map. This is a cheap operation no matter how large the inline buffer is. This is necessary to avoid a high cost when no elements are added at all. An optimized grow operation is performed on the first insertion.

Definition at line 186 of file BLI_map.hh.

Referenced by blender::Map< PropIdentifier, AnimatedProperty >::clear().

◆ Map() [2/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( NoExceptConstructor ,
Allocator allocator = {} )
inlinenoexcept

Definition at line 197 of file BLI_map.hh.

◆ ~Map()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::~Map ( )
default

◆ Map() [3/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & other)
default

◆ Map() [4/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > && other)
inlinenoexcept

Definition at line 203 of file BLI_map.hh.

◆ Map() [5/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( const Span< std::pair< Key, Value > > items,
Allocator allocator = {} )
inline

Initializes the Map based on some key-value-pairs: Map<int, std::string> map = {{1, "where"}, {3, "when"}, {5, "why"}};

If the same key appears multiple times, only the first one is used and the others are ignored. Note that keys and values are copied. Use the add_* functions after the constructor to move keys and values into the map.

Definition at line 235 of file BLI_map.hh.

◆ Map() [6/6]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::Map ( const std::initializer_list< std::pair< Key, Value > > items,
Allocator allocator = {} )
inline

This is pretty much the same as the constructor with a Span above. It helps with type inferencing when initializer lists are used.

Definition at line 246 of file BLI_map.hh.

Member Function Documentation

◆ add() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add ( const Key & key,
const Value & value )
inline

Add a key-value-pair to the map. If the map contains the key already, nothing is changed. If you want to replace the currently stored value, use add_overwrite. Returns true when the key has been newly added.

This is similar to std::unordered_map::insert.

Definition at line 295 of file BLI_map.hh.

Referenced by add(), blender::add_data_block_items_writeback(), blender::gpu::GPUSource::add_printf_format(), blender::animrig::ANIM_bonecoll_array_copy_no_membership(), blender::ed::greasepencil::apply_eval_grease_pencil_data(), blender::nodes::inverse_eval::backpropagate_socket_values(), blender::nodes::inverse_eval::backpropagate_socket_values_through_node(), bev_rebuild_polygon(), bevel_build_edge_polygons(), BKE_blendfile_id_relocate(), BKE_blendfile_library_relocate(), BKE_blendfile_override(), BKE_main_merge(), blendfile_library_relocate_id_remap_prepare(), BLO_memfile_merge(), bmesh_find_doubles_by_distance_connected_impl(), clamp_subdivision_node_level_input(), blender::ed::greasepencil::clipboard_materials_remap(), blender::bke::id_hash::compute_deep_hash_recursive(), blender::compositor::compute_number_of_needed_buffers(), blender::nodes::node_geo_interpolate_curves_cc::compute_points_per_curve_by_group(), convert_mfaces_to_mpolys(), blender::animrig::convert_to_layered_action(), blender::ed::space_node::NodeClipboard::copy_add_node(), blender::bke::bake::copy_bake_item_to_socket_value(), count_fcurves_hidden_by_filter(), blender::io::usd::USDStageReader::create_proto_collections(), blender::geometry::create_value_to_first_index_map(), do_object_box_select(), ED_armature_join_objects_exec(), ensure_ed_screen_context_functions(), blender::ed::asset::list::ensure_list_storage(), blender::nodes::inverse_eval::evaluate_node_elem_downstream_filtered(), blender::nodes::inverse_eval::evaluate_node_elem_upstream(), blender::nodes::inverse_eval::find_local_inverse_eval_targets(), blender::bke::find_zone_nodes(), blender::nodes::inverse_eval::foreach_element_on_inverse_eval_path(), blender::nodes::gather_geometry_nodes_eval_dependencies_recursive_impl(), blender::ed::geometry::gather_input_ids(), blender::nodes::geo_eval_log::GeoNodesLog::get_contextual_tree_logs(), blender::bke::blendfile::PartialWriteContext::id_add(), blender::io::fbx::import_edges(), blender::io::usd::import_skeleton(), blender::io::usd::init_deform_bones_map(), join_armature_remap_collection(), knife_find_line_hits(), knife_make_cuts(), blender::ed::object::make_object_duplilist_real(), menu_items_from_ui_create(), menu_types_add_from_keymap_items(), blender::ed::greasepencil::merge_layers(), blender::ed::greasepencil::mirror_selected_frames(), blender::fn::multi_function::procedure_optimization::move_destructs_up(), blender::ed::space_node::node_duplicate_exec(), blender::nodes::node_group_declare(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::bke::node_update_idname_from_experimental(), pack_linked_id(), pack_linked_ids(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), blender::io::usd::USDStageReader::process_armature_modifiers(), blender::io::usd::process_scene_graph_instances(), blender::nodes::inverse_eval::propagate_value_elem_filtered(), blender::io::alembic::read_edge_creases(), blender::ed::transform::remake_graph_transdata(), blender::ed::space_node::reroute_node_get_auto_label(), blender::seq::retiming_selection_get(), blender::ed::greasepencil::snap_selected_frames(), sph_springhash_build(), blender::ed::spreadsheet::spreadsheet_filter_rows(), blender::io::obj::OBJMesh::store_uv_coords_and_indices(), blender::seq::strip_duplicate(), 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::io::TEST_F(), blender::try_find_baked_data(), blender::update_bakes_from_node_group(), blender::update_panels_from_node_group(), update_uv_vert_map(), blender::bke::update_zone_per_node(), uv_copy_mirrored_faces(), ViewLink::views_bounds_calc(), blender::ed::transform::visible_retiming_keys_get(), blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh(), and wm_link_append_exec().

◆ add() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add ( const Key & key,
Value && value )
inline

Definition at line 299 of file BLI_map.hh.

◆ add() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add ( Key && key,
const Value & value )
inline

Definition at line 303 of file BLI_map.hh.

◆ add() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add ( Key && key,
Value && value )
inline

Definition at line 307 of file BLI_map.hh.

◆ add_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_as ( ForwardKey && key,
ForwardValue &&... value )
inline

◆ add_new() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new ( const Key & key,
const Value & value )
inline

Insert a new key-value-pair into the map. This invokes undefined behavior when the key is in the map already.

Definition at line 265 of file BLI_map.hh.

Referenced by blender::ed::greasepencil::add_vertex_groups(), blender::blend_write(), blender::nodes::node_geo_interpolate_curves_cc::build_kdtrees_for_root_positions(), blender::io::usd::build_material_map(), blender::fn::build_multi_function_procedure_for_fields(), blender::bke::builtin_attributes(), blender::bke::curves::builtin_attributes(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::io::usd::convert_usd_interp_to_blender(), blender::io::usd::convert_usd_type_to_blender(), blender::io::usd::convert_usd_varying_to_blender(), blender::ed::space_node::NodeClipboard::copy_add_node(), blender::asset_system::copy_catalog_map_into_existing(), blender::ed::greasepencil::copy_layer_group_content(), do_version_color_to_float_conversion(), do_version_composite_viewer_remove_alpha(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::nodes::geo_eval_log::GeoTreeLog::ensure_node_warnings(), blender::nodes::geo_eval_log::find_tree_zone_hash_recursive(), blender::nodes::geo_eval_log::GeoNodesLog::get_context_hash_by_zone_for_node_editor(), blender::io::obj::get_or_create_material(), keymap_update_mesh_sculpt_brushes(), keymap_update_mesh_texture_paint_brushes(), keymap_update_mesh_vertex_paint_brushes(), keymap_update_mesh_weight_paint_brushes(), blender::ed::object::mode_transfer_overlay_current_state(), blender::ed::space_node::node_clipboard_paste_exec(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_separate_selected(), blender::bke::node_tree_to_dot(), blender::bke::pbvh::pbvh_bmesh_collapse_edge(), pose_select_mirror_exec(), blender::io::usd::preview_surface_input_map(), blender::ed::space_node::remap_node_pairing(), blender::io::usd::shape_key_export_chaser(), blender::nodes::sync_sockets_closure(), blender::nodes::sync_sockets_combine_bundle(), blender::nodes::sync_sockets_evaluate_closure(), blender::nodes::sync_sockets_separate_bundle(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::io::TEST_F(), blender::io::TEST_F(), blender::fn::lazy_function::Graph::to_dot(), blender::nodes::DerivedNodeTree::to_dot(), blender::CPPType::to_static_type(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), and version_bonegroups_to_bonecollections().

◆ add_new() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new ( const Key & key,
Value && value )
inline

Definition at line 269 of file BLI_map.hh.

◆ add_new() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new ( Key && key,
const Value & value )
inline

Definition at line 273 of file BLI_map.hh.

◆ add_new() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new ( Key && key,
Value && value )
inline

Definition at line 277 of file BLI_map.hh.

◆ add_new_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new_as ( ForwardKey && key,
ForwardValue &&... value )
inline

◆ add_or_modify() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename CreateValueF, typename ModifyValueF>
auto blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify ( const Key & key,
const CreateValueF & create_value,
const ModifyValueF & modify_value ) -> decltype(create_value(nullptr))
inline

This method can be used to implement more complex custom behavior without having to do multiple lookups

When the key did not yet exist in the map, the create_value function is called. Otherwise the modify_value function is called.

Both functions are expected to take a single parameter of type Value *. In create_value, this pointer will point to uninitialized memory that has to be initialized by the function. In modify_value, it will point to an already initialized value.

The function returns whatever is returned from the create_value or modify_value callback. Therefore, both callbacks have to have the same return type.

In this example an integer is stored for every key. The initial value is five and we want to increase it every time the same key is used. map.add_or_modify(key, [](int *value) { *value = 5; }, [](int *value) { (*value)++; });

Definition at line 481 of file BLI_map.hh.

Referenced by blender::ed::object::bake_simulation::bake_simulation_get_path_users(), BM_mesh_is_valid(), blender::nodes::node_geo_index_of_nearest_cc::HasNeighborFieldInput::get_varray_for_context(), laplacian_increase_edge_count(), blender::draw::lines_adjacency_triangle(), blender::ed::greasepencil::merge_attributes(), blender::ed::greasepencil::merge_layers(), blender::bke::pbvh::uv_islands::mesh_data_init_edges(), blender::draw::statvis_calc_sharp(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), test_polyfill_topology(), and blender::update_first_occurrence().

◆ add_or_modify() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename CreateValueF, typename ModifyValueF>
auto blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify ( Key && key,
const CreateValueF & create_value,
const ModifyValueF & modify_value ) -> decltype(create_value(nullptr))
inline

Definition at line 488 of file BLI_map.hh.

◆ add_or_modify_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename CreateValueF, typename ModifyValueF>
auto blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify_as ( ForwardKey && key,
const CreateValueF & create_value,
const ModifyValueF & modify_value ) -> decltype(create_value(nullptr))
inline

◆ add_overwrite() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite ( const Key & key,
const Value & value )
inline

Adds a key-value-pair to the map. If the map contained the key already, the corresponding value will be replaced. Returns true when the key has been newly added.

This is similar to std::unordered_map::insert_or_assign.

Definition at line 325 of file BLI_map.hh.

Referenced by blender::bke::id_hash::get_source_file_hash(), blender::insert_keys_forward(), blender::insert_keys_reverse(), blender::bke::greasepencil::convert::legacy_gpencil_sanitize_annotations(), read_library_linked_ids(), blender::ed::space_node::reroute_node_get_auto_label(), blender::tests::TEST(), blender::tests::TEST(), blender::NodesModifierBakeDataBlockMap::try_add(), blender::bke::update_zone_per_node(), and uv_copy_mirrored_faces().

◆ add_overwrite() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite ( const Key & key,
Value && value )
inline

Definition at line 329 of file BLI_map.hh.

◆ add_overwrite() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite ( Key && key,
const Value & value )
inline

Definition at line 333 of file BLI_map.hh.

◆ add_overwrite() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite ( Key && key,
Value && value )
inline

Definition at line 337 of file BLI_map.hh.

◆ add_overwrite_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_overwrite_as ( ForwardKey && key,
ForwardValue &&... value )
inline

◆ capacity()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::capacity ( ) const
inline

Returns the number of available slots. This is mostly for debugging purposes.

Definition at line 994 of file BLI_map.hh.

◆ clear()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear ( )
inline

◆ clear_and_keep_capacity()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear_and_keep_capacity ( )
inline

Remove all elements, but don't free the underlying memory.

This can be more efficient than using clear if approximately the same or more elements are added again afterwards. If way fewer elements are added instead, the cost of maintaining a large hash table can lead to very bad worst-case performance.

Definition at line 1051 of file BLI_map.hh.

◆ contains()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains ( const Key & key) const
inline

Returns true if there is a key in the map that compares equal to the given key.

This is similar to std::unordered_map::contains.

Definition at line 353 of file BLI_map.hh.

Referenced by blender::io::usd::add_anim_sample(), blender::gpu::GPUSource::add_printf_format(), blender::nodes::inverse_eval::backpropagate_socket_values(), BKE_main_merge(), blender::fn::build_multi_function_procedure_for_fields(), blender::io::obj::OBJMTLParserTest::check_impl(), clamp_subdivision_node_level_input(), blender::bke::id_hash::compute_deep_hash_recursive(), blender::compositor::compute_number_of_needed_buffers(), blender::ed::space_node::NodeClipboard::copy_add_node(), blender::asset_system::copy_catalog_map_into_existing(), count_fcurves_hidden_by_filter(), blender::io::usd::create_pose_joints(), do_version_composite_viewer_remove_alpha(), blender::nodes::gather_geometry_nodes_eval_dependencies_recursive_impl(), blender::io::usd::get_armature_bone_names(), blender::nodes::inverse_eval::get_input_elems_to_propagate(), initialize(), keymap_update_brushes_handle_add_item(), keymap_update_brushes_handle_remove_item(), blender::NodesModifierBakeDataBlockMap::lookup_or_remember_missing(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::NodeClipboard::paste_update_node_id_references(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), blender::ed::spreadsheet::spreadsheet_filter_rows(), blender::nodes::sync_sockets_closure(), 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::asset_system::tests::TEST_F(), test_polyfill_topology(), blender::NodesModifierBakeDataBlockMap::try_add(), blender::update_bakes_from_node_group(), blender::bke::update_zone_per_node(), uv_copy_mirrored_faces(), and blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh().

◆ contains_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains_as ( const ForwardKey & key) const
inline

◆ count_collisions()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::count_collisions ( const Key & key) const
inline

Get the number of collisions that the probing strategy has to go through to find the key or determine that it is not in the map.

Definition at line 1066 of file BLI_map.hh.

◆ foreach_item()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename FuncT>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::foreach_item ( const FuncT & func) const
inline

Calls the provided callback for every key-value-pair in the map. The callback is expected to take a const Key & as first and a const Value & as second parameter.

Definition at line 687 of file BLI_map.hh.

Referenced by blender::ed::object::apply_objects_internal(), blender::ed::object::object_origin_set_exec(), and blender::tests::TEST().

◆ is_empty()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty ( ) const
inline

◆ items() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
MutableItemIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items ( ) &
inline

Returns an iterator over all key-value-pairs in the map. The key-value-pairs are stored in a MutableMapItem. The iterator is invalidated, when the map is changed.

This iterator also allows you to modify the value (but not the key).

Definition at line 913 of file BLI_map.hh.

◆ items() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
MutableItemIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items ( ) &&
delete

◆ items() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
ItemIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items ( ) const &
inline

Returns an iterator over all key-value-pairs in the map. The key-value-pairs are stored in a MapItem. The iterator is invalidated, when the map is changed.

Definition at line 902 of file BLI_map.hh.

Referenced by blender::ed::space_node::add_reroute_exec(), blender::io::usd::utils::assign_materials(), blender::bke::attribute_legacy_convert_customdata_to_storage(), blender::nodes::inverse_eval::backpropagate_socket_values_through_node(), blender::ed::object::bake_simulation::bake_geometry_nodes_startjob(), blender::ed::object::bake_simulation::bake_simulation_invoke(), blender::draw::create_lines_for_remaining_edges(), blender::ed::transform::create_trans_seq_clamp_data(), blender::ed::transform::createTransSeqRetimingData(), cutEdges(), blender::nodes::draw_named_attributes_panel(), explodeMesh(), blender::nodes::inverse_eval::foreach_element_on_inverse_eval_path(), blender::draw::foreach_obref_in_scene(), blender::geometry::foreach_real_geometry(), blender::ed::vse::freeze_frame_add_from_retiming_selection(), generate(), blender::nodes::geo_eval_log::GeoNodesLog::get_contextual_tree_logs(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::ed::transform::GreasePencilLayerToTransData(), blender::io::usd::init_deform_bones_map(), blender::ed::greasepencil::join_object_with_active(), knife_make_cuts(), blender::ed::object::mode_transfer_overlay_current_state(), blender::ed::space_node::node_duplicate_exec(), blender::nodes::node_geo_split_to_instances_cc::node_geo_exec(), blender::ed::space_node::node_group_make_insert_selected(), blender::Map< PropIdentifier, AnimatedProperty >::operator==, blender::bke::cryptomatte::CryptomatteLayer::operator[](), blender::ed::transform::points_build_sources_timeline_retiming(), blender::ed::transform::points_build_targets_timeline(), blender::io::usd::process_scene_graph_instances(), blender::ed::space_node::remap_node_pairing(), blender::bke::bake::rename_attributes(), blender::seq::retiming_selection_has_whole_transition(), blender::ed::vse::segment_speed_set_exec(), blender::ed::vse::sequencer_retiming_key_delete_exec(), blender::io::usd::shape_key_export_chaser(), blender::io::usd::skinned_mesh_export_chaser(), blender::ed::vse::strip_speed_get(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::nodes::DerivedNodeTree::to_dot(), blender::bke::cryptomatte::manifest::to_manifest(), blender::ed::vse::transition_add_from_retiming_selection(), blender::bke::update_zone_per_node(), uv_copy_mirrored_faces(), and ViewLink::views_bounds_calc().

◆ items() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
ItemIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items ( ) const &&
delete

◆ keys() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
KeyIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys ( ) const &
inline

◆ keys() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
KeyIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys ( ) const &&
delete

Avoid common bug when trying to do something like this: for (auto key : get_map().keys()). This does not work, because the compiler does not extend the lifetime of the map for the duration of the loop.

◆ lookup() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup ( const Key & key)
inline

Definition at line 549 of file BLI_map.hh.

◆ lookup() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
const Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup ( const Key & key) const
inline

Returns a reference to the value that corresponds to the given key. This invokes undefined behavior when the key is not in the map.

Definition at line 545 of file BLI_map.hh.

Referenced by blender::gpu::GPUSource::add_printf_format(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), blender::ed::spreadsheet::apply_row_filter(), blender::fn::build_multi_function_procedure_for_fields(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::io::obj::OBJMTLParserTest::check_impl(), blender::compositor::compute_number_of_needed_buffers(), blender::compositor::compute_schedule(), blender::bke::convert_storage_to_customdata(), blender::animrig::convert_to_layered_action(), blender::asset_system::copy_catalog_map_into_existing(), blender::io::usd::create_usd_preview_surface_material(), do_version_composite_viewer_remove_alpha(), ED_armature_join_objects_exec(), edgecut_get(), blender::ed::asset::list::ensure_list_storage(), blender::nodes::inverse_eval::foreach_element_on_inverse_eval_path(), blender::nodes::gather_geometry_nodes_eval_dependencies_recursive(), blender::nodes::gather_geometry_nodes_eval_dependencies_recursive_impl(), blender::nodes::node_geo_index_of_nearest_cc::HasNeighborFieldInput::get_varray_for_context(), blender::ed::transform::grease_pencil_layer_initialize_trans_data(), blender::bke::blendfile::PartialWriteContext::id_add(), blender::io::fbx::import_animations(), blender::gpu::GPUSource::init_dependencies(), blender::insert_keys_forward(), blender::insert_keys_reverse(), keymap_update_brushes_handle_add_item(), keymap_update_brushes_handle_remove_item(), knife_find_line_hits(), laplacian_edge_count(), blender::ed::object::make_object_duplilist_real(), blender::ed::greasepencil::merge_layers(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::ed::space_node::node_group_separate_selected(), blender::bke::node_tree_to_dot(), blender::bke::ntree_copy_data(), blender::ed::space_node::NodeClipboard::paste_update_node_id_references(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), pose_select_mirror_exec(), remap_ebone_bone_collection_references(), blender::ed::greasepencil::remap_vertex_groups(), blender::io::remove_weak_subtrees(), 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::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::io::TEST_F(), test_polyfill_topology(), blender::fn::lazy_function::Graph::to_dot(), blender::try_find_baked_data(), update_uv_vert_map(), version_bonegroups_to_bonecollections(), ViewLink::views_bounds_calc(), and wm_link_append_exec().

◆ lookup_as() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_as ( const ForwardKey & key)
inline

Definition at line 559 of file BLI_map.hh.

◆ lookup_as() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
const Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_as ( const ForwardKey & key) const
inline

◆ lookup_default()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default ( const Key & key,
const Value & default_value ) const
inline

Returns a copy of the value that corresponds to the given key. If the key is not in the map, the provided default_value is returned.

Definition at line 570 of file BLI_map.hh.

Referenced by blender::ed::object::bake_simulation::bake_geometry_nodes_startjob(), BKE_blendfile_override(), BKE_main_merge(), BLO_memfile_merge(), bmesh_find_doubles_by_distance_connected_impl(), clamp_subdivision_node_level_input(), blender::ed::greasepencil::clipboard_materials_remap(), blender::io::usd::USDStageReader::create_proto_collections(), blender::bke::discover_tree_zones(), do_object_box_select(), do_version_color_to_float_conversion(), blender::nodes::draw_warnings(), ed_screen_context(), blender::nodes::geo_eval_log::GeoTreeLog::ensure_node_warnings(), blender::io::usd::find_existing_material(), blender::bke::find_zone_nodes(), blender::io::fbx::FbxElementMapping::get_node_bind_matrix(), blender::io::fbx::import_edges(), blender::gpu::GPUSource::init_dependencies(), join_armature_remap_collection(), knife_make_cuts(), lib_override_library_resync(), blender::NodesModifierBakeDataBlockMap::lookup_or_remember_missing(), menu_items_from_ui_create(), blender::ed::space_node::node_clipboard_paste_exec(), pack_linked_id(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), pchan_duplicate_map(), blender::io::usd::USDStageReader::process_armature_modifiers(), read_library_linked_ids(), blender::ed::space_node::remap_node_pairing(), blender::ed::space_node::remap_pairing(), blender::ed::geometry::replace_strings_with_id_pointers(), blender::seq::seq_new_fix_links_recursive(), blender::io::usd::set_instance_collection(), blender::gpu::GPUSource::source_get(), sph_force_cb(), blender::io::obj::OBJMesh::store_uv_coords_and_indices(), blender::CPPType::to_static_type(), blender::update_bakes_from_node_group(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), blender::ed::space_node::update_nested_node_refs_after_ungroup(), blender::update_panels_from_node_group(), and uv_copy_mirrored_faces().

◆ lookup_default_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default_as ( const ForwardKey & key,
ForwardValue &&... default_value ) const
inline

◆ lookup_key()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
const Key & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key ( const Key & key) const
inline

Returns the key that is stored in the set that compares equal to the given key. This invokes undefined behavior when the key is not in the map.

Definition at line 656 of file BLI_map.hh.

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

◆ lookup_key_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
const Key & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_as ( const ForwardKey & key) const
inline

◆ lookup_key_ptr()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
const Key * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_ptr ( const Key & key) const
inline

Returns a pointer to the key that is stored in the map that compares equal to the given key. If the key is not in the map, null is returned.

Definition at line 670 of file BLI_map.hh.

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

◆ lookup_key_ptr_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
const Key * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_key_ptr_as ( const ForwardKey & key) const
inline

◆ lookup_or_add() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add ( const Key & key,
const Value & value )
inline

◆ lookup_or_add() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add ( const Key & key,
Value && value )
inline

Definition at line 592 of file BLI_map.hh.

◆ lookup_or_add() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add ( Key && key,
const Value & value )
inline

Definition at line 596 of file BLI_map.hh.

◆ lookup_or_add() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add ( Key && key,
Value && value )
inline

Definition at line 600 of file BLI_map.hh.

◆ lookup_or_add_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_as ( ForwardKey && key,
ForwardValue &&... value )
inline

◆ lookup_or_add_cb() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename CreateValueF>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb ( const Key & key,
const CreateValueF & create_value )
inline

◆ lookup_or_add_cb() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename CreateValueF>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb ( Key && key,
const CreateValueF & create_value )
inline

Definition at line 625 of file BLI_map.hh.

◆ lookup_or_add_cb_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename CreateValueF>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb_as ( ForwardKey && key,
const CreateValueF & create_value )
inline

◆ lookup_or_add_default() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default ( const Key & key)
inline

◆ lookup_or_add_default() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default ( Key && key)
inline

Definition at line 643 of file BLI_map.hh.

◆ lookup_or_add_default_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
Value & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default_as ( ForwardKey && key)
inline

◆ lookup_ptr() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr ( const Key & key)
inline

Definition at line 512 of file BLI_map.hh.

◆ lookup_ptr() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
const Value * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr ( const Key & key) const
inline

Returns a pointer to the value that corresponds to the given key. If the key is not in the map, nullptr is returned.

This is similar to std::unordered_map::find.

Definition at line 508 of file BLI_map.hh.

Referenced by blender::nodes::inverse_eval::backpropagate_socket_values(), blender::nodes::inverse_eval::backpropagate_socket_values_through_node(), blender::ed::object::bake_simulation::bake_geometry_nodes_startjob(), blender::blend_write(), blo_do_versions_userdef(), blender::bke::pbvh::bm_vert_hash_lookup_chain(), blender::bke::id_hash::compute_deep_hash_recursive(), blender::io::usd::convert_usd_interp_to_blender(), blender::io::usd::convert_usd_type_to_blender(), blender::io::usd::convert_usd_varying_to_blender(), blender::asset_system::AssetCatalogDefinitionFile::copy_and_remap(), do_versions_after_linking_500(), ED_armature_from_edit(), blender::ed::asset::list::ensure_list_storage(), blender::nodes::inverse_eval::evaluate_node_elem_downstream_filtered(), blender::nodes::inverse_eval::evaluate_node_elem_upstream(), blender::nodes::inverse_eval::find_local_inverse_eval_targets(), blender::nodes::value_elem::ElemEvalParams::get_input_elem(), blender::io::obj::get_or_create_material(), blender::nodes::value_elem::InverseElemEvalParams::get_output_elem(), blender::ed::greasepencil::join_object_with_active(), blender::ed::asset::list::lookup_list(), blender::ed::space_node::node_draw_basis(), blender::bke::node_preview_verify(), blender::io::usd::process_inputs(), blender::nodes::inverse_eval::propagate_socket_elem(), blender::nodes::inverse_eval::propagate_value_elem_filtered(), blender::io::alembic::read_edge_creases(), blender::io::remove_weak_subtrees(), blender::ed::space_node::reroute_node_get_auto_label(), blender::io::usd::set_rest_pose(), blender::io::usd::shape_key_export_chaser(), blender::io::usd::skinned_mesh_export_chaser(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::nodes::DerivedNodeTree::to_dot(), blender::io::usd::token_for_input(), blender::ed::transform::update_transdata_bezt_pointers(), and update_uv_vert_map().

◆ lookup_ptr_as() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
Value * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr_as ( const ForwardKey & key)
inline

Definition at line 521 of file BLI_map.hh.

◆ lookup_ptr_as() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
const Value * blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr_as ( const ForwardKey & key) const
inline

◆ lookup_try()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
std::optional< Value > blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try ( const Key & key) const
inline

Returns a copy of the value that corresponds to the given key, or std::nullopt if the key is not in the map. In some cases, one may not want a copy but an actual reference to the value. In that case it's better to use lookup_ptr instead.

Definition at line 531 of file BLI_map.hh.

Referenced by blender::nodes::node_group_declare_panel_recursive(), blender::nodes::sync_sockets_closure(), blender::nodes::sync_sockets_combine_bundle(), blender::nodes::sync_sockets_evaluate_closure(), blender::nodes::sync_sockets_separate_bundle(), and blender::tests::TEST().

◆ lookup_try_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
std::optional< Value > blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try_as ( const ForwardKey & key) const
inline

◆ operator=() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Map & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::operator= ( const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & other)
inline

Definition at line 251 of file BLI_map.hh.

◆ operator=() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Map & blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::operator= ( Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > && other)
inline

Definition at line 256 of file BLI_map.hh.

◆ pop()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop ( const Key & key)
inline

Get the value that is stored for the given key and remove it from the map. This invokes undefined behavior when the key is not in the map.

Definition at line 402 of file BLI_map.hh.

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

◆ pop_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_as ( const ForwardKey & key)
inline

Definition at line 406 of file BLI_map.hh.

Referenced by blender::Map< PropIdentifier, AnimatedProperty >::pop().

◆ pop_default() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_default ( const Key & key,
const Value & default_value )
inline

Get the value that corresponds to the given key and remove it from the map. If the key is not in the map, return the given default value instead.

Definition at line 439 of file BLI_map.hh.

Referenced by blender::bke::attribute_legacy_convert_customdata_to_storage(), blender::fn::multi_function::procedure_optimization::move_destructs_up(), blender::tests::TEST(), and blender::tests::TEST().

◆ pop_default() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_default ( const Key & key,
Value && default_value )
inline

Definition at line 443 of file BLI_map.hh.

◆ pop_default_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey, typename... ForwardValue>
Value blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_default_as ( const ForwardKey & key,
ForwardValue &&... default_value )
inline

◆ pop_try()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
std::optional< Value > blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_try ( const Key & key)
inline

Get the value that is stored for the given key and remove it from the map. If the key is not in the map, a value-less optional is returned.

Definition at line 419 of file BLI_map.hh.

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

◆ pop_try_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
std::optional< Value > blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop_try_as ( const ForwardKey & key)
inline

◆ print_stats()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::print_stats ( const char * name) const
inline

Print common statistics like size and collision count. This is useful for debugging purposes.

Definition at line 967 of file BLI_map.hh.

◆ remove() [1/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove ( const BaseIterator & iterator)
inline

Remove the key-value-pair that the iterator is currently pointing at. It is valid to call this method while iterating over the map. However, after this method has been called, the removed element must not be accessed anymore.

Definition at line 934 of file BLI_map.hh.

◆ remove() [2/2]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove ( const Key & key)
inline

Deletes the key-value-pair with the given key. Returns true when the key was contained and is now removed, otherwise false.

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

Definition at line 368 of file BLI_map.hh.

Referenced by blender::fn::build_multi_function_procedure_for_fields(), blender::io::remove_weak_subtrees(), blender::tests::TEST(), blender::tests::TEST(), and blender::tests::TEST().

◆ remove_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
bool blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_as ( const ForwardKey & key)
inline

◆ remove_contained()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_contained ( const Key & key)
inline

Deletes the key-value-pair with the given key. This invokes undefined behavior when the key is not in the map.

Definition at line 387 of file BLI_map.hh.

Referenced by blender::io::TEST_F(), and blender::io::TEST_F().

◆ remove_contained_as()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename ForwardKey>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_contained_as ( const ForwardKey & key)
inline

◆ remove_if()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
template<typename Predicate>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_if ( Predicate && predicate)
inline

Remove all key-value-pairs for that the given predicate is true and return the number of removed pairs.

This is similar to std::erase_if.

Definition at line 948 of file BLI_map.hh.

Referenced by blender::ed::object::mode_transfer_overlay_current_state(), and blender::tests::TEST().

◆ removed_amount()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::removed_amount ( ) const
inline

Returns the amount of removed slots in the set. This is mostly for debugging purposes.

Definition at line 1002 of file BLI_map.hh.

◆ reserve()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
void blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve ( int64_t n)
inline

◆ size()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size ( ) const
inline

Return the number of key-value-pairs that are stored in the map.

Definition at line 976 of file BLI_map.hh.

Referenced by blender::ed::space_node::add_reroute_exec(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), blender::io::usd::utils::assign_materials(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::io::obj::OBJMTLParserTest::check_impl(), blender::ed::transform::createTransSeqRetimingData(), generate(), blender::io::ply::generate_vertex_map(), blender::ed::greasepencil::grease_pencil_copy_strokes_exec(), blender::nodes::node_geo_split_to_instances_cc::node_geo_exec(), blender::Map< PropIdentifier, AnimatedProperty >::operator==, blender::Map< PropIdentifier, AnimatedProperty >::remove_if(), blender::ed::space_node::row_from_used_named_attribute(), blender::ed::vse::sequencer_retiming_key_delete_exec(), blender::ed::vse::sequencer_retiming_segment_speed_set_exec(), blender::io::obj::OBJMesh::store_uv_coords_and_indices(), blender::ed::vse::strip_speed_get(), 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::asset_system::tests::TEST_F(), blender::io::TEST_F(), blender::io::TEST_F(), and test_polyfill_topology().

◆ size_in_bytes()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size_in_bytes ( ) const
inline

Returns the approximate memory requirements of the map in bytes. This becomes more exact the larger the map becomes.

Definition at line 1019 of file BLI_map.hh.

◆ size_per_element()

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
int64_t blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size_per_element ( ) const
inline

Returns the bytes required per element. This is mostly for debugging purposes.

Definition at line 1010 of file BLI_map.hh.

◆ values() [1/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
MutableValueIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values ( ) &
inline

Returns an iterator over all values in the map and allows you to change the values. The iterator is invalidated, when the map is changed.

Definition at line 893 of file BLI_map.hh.

◆ values() [2/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
MutableValueIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values ( ) &&
delete

◆ values() [3/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
ValueIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values ( ) const &
inline

Returns an iterator over all values in the map. The iterator is invalidated, when the map is changed.

Definition at line 884 of file BLI_map.hh.

Referenced by blender::ed::space_node::add_reroute_exec(), blender::deg::DepsgraphRelationBuilder::build_driver_relations(), blender::nodes::node_geo_interpolate_curves_cc::build_kdtrees_for_root_positions(), blender::fn::build_multi_function_procedure_for_fields(), blender::asset_system::copy_catalog_map_into_existing(), blender::ed::geometry::find_socket_log_contexts(), blender::find_socket_log_contexts(), blender::io::fbx::gather_animated_properties(), blender::nodes::node_geo_interpolate_curves_cc::generate_interpolated_curves(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), blender::seq::query_scene_strips(), blender::ed::transform::query_snap_sources_timeline(), blender::ed::space_node::remap_node_pairing(), blender::ed::vse::retiming_key_add_to_editable_strips(), blender::ed::geometry::run_node_group_exec(), blender::seq::seq_duplicate_postprocess(), blender::ed::vse::sequencer_retiming_key_delete_exec(), blender::ed::vse::sequencer_retiming_mode_is_active(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), test_polyfill_topology(), version_bonegroup_migrate_color(), blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh(), and blender::ed::space_node::NestedTreePreviews::~NestedTreePreviews().

◆ values() [4/4]

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
ValueIterator blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values ( ) const &&
delete

◆ operator!=

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool operator!= ( const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & a,
const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & b )
friend

Definition at line 1093 of file BLI_map.hh.

◆ operator==

template<typename Key, typename Value, int64_t InlineBufferCapacity = default_inline_buffer_capacity(sizeof(Key) + sizeof(Value)), typename ProbingStrategy = DefaultProbingStrategy, typename Hash = DefaultHash<Key>, typename IsEqual = DefaultEquality<Key>, typename Slot = typename DefaultMapSlot<Key, Value>::type, typename Allocator = GuardedAllocator>
bool operator== ( const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & a,
const Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator > & b )
friend

True if both maps have the same key-value-pairs.

Definition at line 1074 of file BLI_map.hh.


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