Blender  V3.3
Macros | Functions
listbase.c File Reference
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_listBase.h"
#include "BLI_listbase.h"
#include "BLI_strict_flags.h"
#include "list_sort_impl.h"

Go to the source code of this file.

Macros

#define SORT_IMPL_LINKTYPE   Link
 
#define SORT_IMPL_FUNC   listbase_sort_fn
 
#define SORT_IMPL_USE_THUNK
 
#define SORT_IMPL_FUNC   listbase_sort_fn_r
 

Functions

void BLI_movelisttolist (ListBase *dst, ListBase *src)
 
void BLI_movelisttolist_reverse (ListBase *dst, ListBase *src)
 
void BLI_addhead (ListBase *listbase, void *vlink)
 
void BLI_addtail (ListBase *listbase, void *vlink)
 
void BLI_remlink (ListBase *listbase, void *vlink)
 
bool BLI_remlink_safe (ListBase *listbase, void *vlink)
 
void BLI_listbase_swaplinks (ListBase *listbase, void *vlinka, void *vlinkb)
 
void BLI_listbases_swaplinks (ListBase *listbasea, ListBase *listbaseb, void *vlinka, void *vlinkb)
 
voidBLI_pophead (ListBase *listbase)
 
voidBLI_poptail (ListBase *listbase)
 
void BLI_freelinkN (ListBase *listbase, void *vlink)
 
static void listbase_double_from_single (Link *iter, ListBase *listbase)
 
void BLI_listbase_sort (ListBase *listbase, int(*cmp)(const void *, const void *))
 
void BLI_listbase_sort_r (ListBase *listbase, int(*cmp)(void *, const void *, const void *), void *thunk)
 
void BLI_insertlinkafter (ListBase *listbase, void *vprevlink, void *vnewlink)
 
void BLI_insertlinkbefore (ListBase *listbase, void *vnextlink, void *vnewlink)
 
void BLI_insertlinkreplace (ListBase *listbase, void *vreplacelink, void *vnewlink)
 
bool BLI_listbase_link_move (ListBase *listbase, void *vlink, int step)
 
bool BLI_listbase_move_index (ListBase *listbase, int from, int to)
 
void BLI_freelist (ListBase *listbase)
 
void BLI_freelistN (ListBase *listbase)
 
int BLI_listbase_count_at_most (const ListBase *listbase, const int count_max)
 
int BLI_listbase_count (const ListBase *listbase)
 
voidBLI_findlink (const ListBase *listbase, int number)
 
voidBLI_rfindlink (const ListBase *listbase, int number)
 
voidBLI_findlinkfrom (Link *start, int number)
 
int BLI_findindex (const ListBase *listbase, const void *vlink)
 
voidBLI_findstring (const ListBase *listbase, const char *id, const int offset)
 
voidBLI_rfindstring (const ListBase *listbase, const char *id, const int offset)
 
voidBLI_findstring_ptr (const ListBase *listbase, const char *id, const int offset)
 
voidBLI_rfindstring_ptr (const ListBase *listbase, const char *id, const int offset)
 
voidBLI_findptr (const ListBase *listbase, const void *ptr, const int offset)
 
voidBLI_rfindptr (const ListBase *listbase, const void *ptr, const int offset)
 
voidBLI_listbase_bytes_find (const ListBase *listbase, const void *bytes, const size_t bytes_size, const int offset)
 
voidBLI_listbase_bytes_rfind (const ListBase *listbase, const void *bytes, const size_t bytes_size, const int offset)
 
voidBLI_listbase_string_or_index_find (const ListBase *listbase, const char *string, const size_t string_offset, const int index)
 
int BLI_findstringindex (const ListBase *listbase, const char *id, const int offset)
 
ListBase BLI_listbase_from_link (Link *some_link)
 
void BLI_duplicatelist (ListBase *dst, const ListBase *src)
 
void BLI_listbase_reverse (ListBase *lb)
 
void BLI_listbase_rotate_first (ListBase *lb, void *vlink)
 
void BLI_listbase_rotate_last (ListBase *lb, void *vlink)
 
LinkDataBLI_genericNodeN (void *data)
 

Detailed Description

Manipulations on double-linked list (ListBase structs).

For single linked lists see 'BLI_linklist.h'

Definition in file listbase.c.

Macro Definition Documentation

◆ SORT_IMPL_FUNC [1/2]

#define SORT_IMPL_FUNC   listbase_sort_fn

Definition at line 274 of file listbase.c.

◆ SORT_IMPL_FUNC [2/2]

#define SORT_IMPL_FUNC   listbase_sort_fn_r

Definition at line 274 of file listbase.c.

◆ SORT_IMPL_LINKTYPE

#define SORT_IMPL_LINKTYPE   Link

Definition at line 265 of file listbase.c.

◆ SORT_IMPL_USE_THUNK

#define SORT_IMPL_USE_THUNK

Definition at line 273 of file listbase.c.

Function Documentation

◆ BLI_addhead()

void BLI_addhead ( struct ListBase listbase,
void vlink 
)

Prepends vlink (assumed to begin with a Link) onto listbase.

Definition at line 60 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

Referenced by _bm_select_history_store_head_notest(), BKE_blender_user_menu_ensure(), BKE_displist_fill(), BKE_gpencil_layer_addnew(), BKE_gpencil_stroke_add(), BKE_gpencil_stroke_copy_to_keyframes(), BKE_nla_action_stash(), BKE_nlameta_add_strip(), BKE_nlastrips_sort_strips(), BLF_dir_add(), blf_glyph_cache_add_glyph(), blf_glyph_cache_new(), BLI_box_pack_2d_fixedarea(), bli_builddir(), blo_do_versions_280(), blo_do_versions_pre250(), bm_loop_build(), BM_mesh_edgeloops_find_path(), bm_uuidwalk_facestep_begin(), bm_uuidwalk_pass_add(), BMO_error_raise(), BMW_state_add(), console_history_cycle_exec(), copy_particle_dupliob_exec(), do_version_area_change_space_to_space_action(), do_versions_after_linking_290(), ED_area_newspace(), ED_keylist_add_or_update_column(), ed_marker_duplicate_apply(), ED_spacetype_action(), ED_spacetype_buttons(), ED_spacetype_clip(), ED_spacetype_console(), ED_spacetype_file(), ED_spacetype_image(), ED_spacetype_info(), ED_spacetype_ipo(), ED_spacetype_nla(), ED_spacetype_node(), ED_spacetype_outliner(), ED_spacetype_script(), ED_spacetype_sequencer(), ED_spacetype_spreadsheet(), ED_spacetype_statusbar(), ED_spacetype_text(), ED_spacetype_topbar(), ED_spacetype_userpref(), ED_spacetype_view3d(), frame_cache_add(), frame_cache_touch(), gizmo_prepare_drawing(), gpencil_prepare_stroke(), gpencil_stroke_arrange_exec(), gpencil_stroke_from_buffer(), gpencil_stroke_join_islands(), gpencil_stroke_newfrombuffer(), gpencil_strokes_paste_exec(), id_sort_by_name(), image_add_view(), imb_exr_get_pass(), imb_global_cache_get_tile(), imb_thread_cache_get_tile(), lineart_chain_prepend_point(), lineart_create_edges_from_isec_data(), lineart_mem_new_static_pool(), make_selection_list_nurb(), ml_addview_cb(), MOD_lineart_chain_clip_at_border(), blender::ed::space_node::ntree_socket_move_exec(), object_blend_read_data(), prependPolyLineVert(), screen_area_spacelink_add(), seq_meta_stack_alloc(), text_init_data(), tree_element_to_path(), ui_block_colorpicker_create(), UI_block_region_set(), ui_panel_category_active_set(), UI_popover_end(), ui_popup_block_position(), ui_popup_block_refresh(), vgroup_sort_bone_hierarchy(), WM_event_add_dropbox_handler(), WM_event_add_fileselect(), WM_event_add_keymap_handler_priority(), WM_event_add_modal_handler(), wm_event_add_mousemove_to_head(), WM_event_add_ui_handler(), WM_gizmomaptype_ensure(), wm_history_file_update(), wm_keymap_addon_add(), WM_toolsystem_ref_ensure(), wm_window_match_replace_by_file_wm(), workspace_relation_add(), and workspace_relation_ensure_updated().

◆ BLI_addtail()

void BLI_addtail ( struct ListBase listbase,
void vlink 
)

Appends vlink (assumed to begin with a Link) onto listbase.

Definition at line 80 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

Referenced by _bm_select_history_store_notest(), act_markers_make_local_exec(), action_buttons_register(), action_copy_data(), action_create(), action_get_item_transforms(), action_groups_add_new(), action_move_fcurves_by_basepath(), AnimationImporter::add_bone_fcurve(), blender::io::usd::USDGeomReader::add_cache_modifier(), add_collision_object(), add_effector_evaluation(), add_effector_relation(), add_empty_ks_path_exec(), add_fmodifier(), add_marker_to_cfra_elem(), add_new_constraint_to_list(), add_stroke(), add_stroke_cyclic(), add_stroke_simple(), blender::io::usd::USDGeomReader::add_subdiv_modifier(), add_to_modifier_list(), blender::io::alembic::AbcObjectReader::addCacheModifier(), addedgetoscanvert(), addfillface(), addMatrixSpace(), addSnapPoint(), adduplicateflagNurb(), ANIM_fmodifiers_copy_to_buf(), ANIM_fmodifiers_paste_from_buf(), ANIM_keyingset_info_register(), ANIM_relative_keyingset_add_source(), animchannels_ungroup_exec(), animdata_filter_dopesheet_summary(), animdata_move_drivers_by_basepath(), animviz_get_object_motionpaths(), annotation_arrow_create(), annotation_stroke_newfrombuffer(), appendPolyLineVert(), apply_dash_for_frame(), AnimationImporter::apply_matrix_curves(), area_add_header_region(), area_add_window_regions(), area_azone_init(), armature_extrude_exec(), armature_flip_names_exec(), armature_subdivide_exec(), asset_metadata_tag_add(), AnimationImporter::Assign_color_animations(), AnimationImporter::Assign_float_animations(), AnimationImporter::Assign_lens_animations(), autotrack_context_step_cb(), bchunk_list_append_only(), bevels_to_filledpoly(), bezt_add_to_cfra_elem(), bezt_to_cfraelem(), BKE_action_groups_reconstruct(), BKE_addon_ensure(), BKE_animsys_get_nla_keyframing_context(), BKE_appdir_app_templates(), BKE_blender_user_menu_item_add(), BKE_blendfile_library_relocate(), BKE_blendfile_userdef_from_defaults(), BKE_blendfile_write_partial(), BKE_cachefile_add_layer(), BKE_callback_add(), BKE_camera_background_image_new(), BKE_collection_parent_relations_rebuild(), BKE_collider_cache_create(), BKE_cryptomatte_matte_id_to_entries(), BKE_curve_bevelList_make(), BKE_defgroup_copy_list(), BKE_displist_copy(), BKE_fcurves_copy(), BKE_fcurves_filter(), BKE_freestyle_config_copy(), BKE_freestyle_lineset_add(), BKE_freestyle_module_add(), BKE_gpencil_curve_delete_tagged_points(), BKE_gpencil_frame_addcopy(), BKE_gpencil_frame_addnew(), BKE_gpencil_frame_copy_strokes(), BKE_gpencil_frame_duplicate(), BKE_gpencil_layer_addnew(), BKE_gpencil_layer_duplicate(), BKE_gpencil_layer_mask_add(), BKE_gpencil_layer_mask_copy(), BKE_gpencil_palette_addnew(), BKE_gpencil_palettecolor_addnew(), BKE_gpencil_stroke_add(), BKE_gpencil_stroke_copy_to_keyframes(), BKE_gpencil_stroke_delete_tagged_points(), BKE_gpencil_stroke_uniform_subdivide(), BKE_id_ordered_list(), BKE_image_add_renderslot(), BKE_image_add_tile(), BKE_image_get_tile_info(), BKE_image_packfiles(), BKE_image_packfiles_from_mem(), BKE_image_pool_acquire_ibuf(), BKE_keyblock_add(), BKE_keyconfig_pref_ensure(), BKE_keyingset_add(), BKE_keyingset_add_path(), BKE_lib_override_library_create_from_tag(), BKE_lib_override_library_property_get(), BKE_lib_override_library_property_operation_get(), BKE_libblock_alloc(), BKE_libblock_management_main_add(), BKE_linestyle_modifier_list_color_ramps(), BKE_mask_clipboard_copy_from_layer(), BKE_mask_clipboard_paste_to_layer(), BKE_mask_layer_copy(), BKE_mask_layer_copy_list(), BKE_mask_layer_new(), BKE_mask_layer_shape_verify_frame(), BKE_mask_spline_add(), BKE_mball_element_add(), BKE_mball_polygonize(), BKE_mesh_to_curve_nurblist(), BKE_nla_tracks_copy(), BKE_nlameta_add_strip(), BKE_nlastrip_copy(), BKE_nlastrip_validate_fcurves(), BKE_nlastrips_add_strip(), BKE_nlastrips_make_metas(), BKE_nlatrack_add(), BKE_nlatrack_copy(), BKE_node_clipboard_add_link(), BKE_node_clipboard_add_node(), BKE_nurbList_duplicate(), BKE_object_copy_gpencil_modifier(), BKE_object_copy_modifier(), BKE_object_copy_particlesystems(), BKE_object_defgroup_new(), BKE_object_facemap_add_name(), BKE_object_facemap_copy_list(), BKE_object_insert_ptcache(), BKE_object_modifier_stack_copy(), BKE_palette_color_add(), BKE_pose_add_group(), BKE_pose_channel_ensure(), BKE_preferences_asset_library_add(), BKE_ptcache_add(), BKE_ptcache_copy_list(), BKE_ptcache_disk_to_mem(), BKE_render_result_stamp_data(), BKE_report(), BKE_reportf(), BKE_scene_add_render_view(), BKE_spacedata_copylist(), BKE_spacetype_register(), BKE_studiolight_create(), BKE_studiolight_init(), BKE_tracking_clipboard_copy_tracks(), BKE_tracking_clipboard_paste_tracks(), BKE_tracking_object_add(), BKE_tracking_plane_track_add(), BKE_tracking_track_add_empty(), BKE_undosys_step_push_with_type(), BKE_undosys_type_append(), BKE_vfont_build_char(), BKE_view_layer_add(), BKE_view_layer_add_aov(), BKE_view_layer_add_lightgroup(), BKE_view_layer_copy_data(), BKE_workspace_layout_add(), BLI_array_store_state_add(), BLI_astar_node_link_add(), BLI_box_pack_2d_fixedarea(), BLI_duplicatelist(), BLI_scanfill_calc_self_isect(), BLI_scanfill_edge_add(), BLI_scanfill_vert_add(), BLI_threadpool_init(), BLI_timer_register(), blo_do_versions_250(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_pre250(), blo_find_main(), BLO_memfile_chunk_add(), blo_read_file_internal(), blo_split_main(), bm_edge_subdiv_as_loop(), BM_edgeloop_from_verts(), bm_face_boundary_add(), bm_face_create__sfme(), BM_faces_join(), BM_log_entry_add(), bm_loop_build(), bm_mesh_calc_uv_islands(), BM_mesh_edgeloops_calc_order(), BM_mesh_edgeloops_find(), BM_mesh_edgeloops_find_path(), BM_mesh_region_match(), BMW_state_add(), bpath_list_append(), BPY_context_member_get(), bpy_prop_py_data_ensure(), build_pict_list_ex(), build_underline(), blender::ed::outliner::TreeDisplayLibraries::buildTree(), buttons_context_register(), buttons_create(), buttons_texture_user_node_add(), buttons_texture_user_property_add(), buttons_texture_user_socket_property_add(), camera_copy_data(), chains_find_tips(), clip_create(), cloth_brush_collider_cache_create(), collection_child_add(), collection_object_add(), collection_object_cache_fill(), colormanage_colorspace_add(), colormanage_display_add(), colormanage_load_config(), colormanage_look_add(), colormanage_view_add(), columnselect_action_keys(), columnselect_graph_keys(), console_create(), console_history_cycle_exec(), console_lb_add__internal(), console_lb_add_str__internal(), console_scrollback_prompt_begin(), copy_animedit_keys(), copy_image_packedfiles(), copy_particle_systems_to_object(), count_images(), blender::io::obj::CurveFromGeometry::create_curve(), create_placeholder(), cryptomatte_add(), CTX_data_id_list_add(), CTX_data_list_add(), CTX_data_list_add_ptr(), CTX_store_add(), CTX_store_add_all(), curve_bevel_make_extrude_and_fill(), curve_bevel_make_from_object(), curve_bevel_make_full_circle(), curve_bevel_make_only_extrude(), curve_delete_segments(), curve_draw_exec(), curve_rename_fcurves(), curve_to_displist(), curvesurf_prim_add(), data_dir_add(), data_transfer_layersmapping_add_item(), direct_link_area(), direct_link_library(), do_version_constraints_245(), do_versions_node_group_add_socket_2_56_2(), driver_add_new_variable(), drw_deferred_shader_add(), DRW_drawdata_ensure(), DRW_engine_register(), DRW_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_instance_data_list_create(), DRW_smoke_ensure(), DRW_smoke_ensure_coba_field(), DRW_smoke_ensure_velocity(), DRW_view_layer_engine_data_ensure_ex(), duplicate_metaelems_exec(), duplicate_render_layer(), duplicateEditBoneObjects(), duplicateStroke(), dynamicPaint_createNewSurface(), ED_action_fcurve_ensure(), ED_area_data_copy(), ED_armature_bones_flip_names(), ED_armature_ebone_add(), ED_armature_ebone_listbase_copy(), ED_armature_from_edit(), ED_armature_join_objects_exec(), ED_clip_buttons_register(), ED_curve_editnurb_load(), ED_curve_editnurb_make(), ED_curve_join_objects_exec(), ed_editcurve_addvert(), ED_gpencil_anim_copybuf_copy(), ED_gpencil_anim_copybuf_paste(), ED_gpencil_join_objects_exec(), ED_gpencil_layer_make_cfra_list(), ED_gpencil_layer_merge(), ED_gpencil_stroke_reproject(), ED_image_filesel_detect_sequences(), ed_keylist_draw_list_add_elem(), ed_marker_add_exec(), ed_marker_make_links_scene_exec(), ED_masklayer_make_cfra_list(), ED_mesh_join_objects_exec(), ED_node_tree_push(), ED_node_tree_start(), ED_object_gpencil_modifier_add(), ED_object_modifier_add(), ED_object_shaderfx_add(), ED_object_shaderfx_copy(), ED_objects_recalculate_paths_selected(), ED_objects_recalculate_paths_visible(), ED_outliner_selected_objects_get(), ED_preview_restart_queue_add(), ED_region_draw_cb_activate(), ED_spreadsheet_context_path_set_evaluated_object(), ED_spreadsheet_context_path_set_geometry_node(), ED_text_format_register(), ED_undo_gpencil_step(), ED_uvedit_buttons_register(), ED_view3d_cursor_snap_active(), EDBM_select_interior_faces(), edge_isect_ls_add(), editmball_from_undomball(), effector_add_exec(), euler_filter_group_channels(), evaluate_curve_type_object(), evaluate_surface_object(), fcurve_add_to_list(), fcurve_path_rename(), fcurves_to_pchan_links_get(), file_create(), file_execute_region_panels_register(), file_tool_props_region_panels_register(), file_tools_region_panels_register(), filelist_file_create_entry(), filelist_readjob_list_dir(), filelist_readjob_list_lib(), filelist_readjob_list_lib_add_datablock(), filelist_readjob_list_lib_populate_from_index(), filelist_readjob_main_assets_add_items(), fill_add_joint(), fillBevelCap(), find_fcurve_segments(), flatten_group_do(), fmodifier_panel_register(), fmodifier_subpanel_register(), folder_history_list_duplicate(), folder_history_list_ensure_for_active_browse_mode(), folderlist_pushdir(), freetypechar_to_vchar(), fullscreen_azone_init(), gather_objects_paths(), blender::io::usd::gather_objects_paths(), generate_geometry(), generate_perimeter_cap(), GPUCodegen::generate_uniform_buffer(), get_bhead(), gpencil_bake_duplilist(), gpencil_bake_grease_pencil_animation_exec(), gpencil_bake_ob_list(), gpencil_brush_clone_add(), gpencil_convert_spline(), gpencil_copy_structure_for_eval(), gpencil_create_extensions(), gpencil_duplicate_exec(), gpencil_duplicate_points(), gpencil_interpolate_modal(), gpencil_interpolate_seq_exec(), gpencil_interpolate_set_points(), gpencil_interpolate_update_strokes(), gpencil_layer_duplicate_object_exec(), gpencil_modifier_panel_register(), gpencil_modifier_subpanel_register(), gpencil_prepare_stroke(), gpencil_primitive_set_initdata(), gpencil_stroke_arrange_exec(), gpencil_stroke_from_buffer(), gpencil_stroke_newfrombuffer(), gpencil_stroke_pair_table(), gpencil_stroke_perimeter_ex(), gpencil_stroke_separate_exec(), gpencil_stroke_split_exec(), gpencil_stroke_to_bezier(), gpencil_stroke_to_path(), gpencil_strokes_copy_exec(), gpencil_strokes_paste_exec(), gpencil_undo_push(), gpu_batch_presets_register(), GPU_link(), GPU_material_add_output_link_aov(), GPU_material_from_nodetree(), GPU_material_split_sub_function(), gpu_node_graph_add_attribute(), gpu_node_graph_add_texture(), gpu_node_graph_add_uniform_attribute(), gpu_node_input_link(), gpu_node_output(), gpu_select_pick_end(), gpu_select_pick_load_id(), gpu_stack_link_v(), gpu_texture_create_tile_array(), graph_buttons_register(), graph_create(), graphkeys_click_insert_exec(), greasepencil_copy_data(), group_sort_exec(), group_verify_socket_list(), hud_panels_register(), hud_region_add(), icon_preview_add_size(), id_delete(), id_sort_by_name(), IDP_AddToGroup(), IDP_CopyGroup(), IDP_MergeGroup_ex(), IDP_ReplaceGroupInGroup(), IDP_ReplaceInGroup_ex(), image_add_view(), image_buttons_register(), image_camera_background_texture_get(), image_create(), image_init(), image_init_multilayer_multiview(), image_load_movie_file(), image_memorypack_imbuf(), image_sequence_get_frame_ranges(), IMB_exr_add_channel(), IMB_exr_get_handle(), imb_exr_get_layer(), imb_exr_get_pass(), imb_thread_cache_init(), imb_tile_cache_tile_free(), info_create(), init_iconfile_list(), init_multiresbake_job(), initialize_chain(), initialize_posetree(), internalDocs(), knife_append_list(), knife_split_edge(), layer_collection_add(), layer_collection_objects_sync(), layer_collection_resync_create_recurse(), layer_collection_sync(), lib_override_library_resync(), lineart_chain_append_point(), lineart_chain_create(), lineart_create_edges_from_isec_data(), lineart_discard_segment(), lineart_edge_cut(), lineart_geometry_object_load(), lineart_list_append_pointer_pool(), lineart_list_append_pointer_pool_sized(), lineart_list_append_pointer_pool_sized_thread(), lineart_list_append_pointer_pool_thread(), lineart_main_transform_and_add_shadow(), lineart_shadow_cast_generate_edges(), lineart_shadow_create_shadow_edge_array(), linkedlist_sync_add_node(), load_image_single(), M_Geometry_tessellate_polygon(), make_boneList_recursive(), make_dupli(), make_selection_list_nurb(), mask_shape_key_rekey_exec(), menu_items_from_all_operators(), menu_items_from_ui_create_item_from_button(), ml_addlayer_cb(), ml_addpass_cb(), ml_addview_cb(), MOD_lineart_chain_clip_at_border(), MOD_lineart_chain_connect(), MOD_lineart_chain_split_angle(), MOD_lineart_chain_split_for_fixed_occlusion(), modifier_panel_register(), modifier_subpanel_register(), move_to_collection_menus_create(), movieclip_get_gputexture_ptr(), nearest_fcurve_vert_store(), new_particle_target_exec(), nla_buttons_register(), nla_create(), nlaedit_snap_exec(), nlaevalchan_verify_key(), nlastrips_ctime_get_strip(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_create(), blender::ed::space_node::node_duplicate_exec(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_link_exit(), nodeAddLink(), nodeAddNode(), nodeAddSocket(), ntree_copy_data(), blender::ed::space_node::ntree_socket_move_exec(), ntreeAddSocketInterface(), ntreeCompositCryptomatteUpdateLayerNames(), ntreeGetThreadStack(), object_add_or_copy_particle_system(), object_blend_read_data(), object_copy_data(), object_gpencil_add_exec(), object_preview_scene_create(), blender::ed::outliner::outliner_add_element(), outliner_add_id_contents(), outliner_add_object_contents(), outliner_collections_children_sort(), outliner_create(), outliner_find_selected_collections(), outliner_find_selected_objects(), outliner_make_object_parent_hierarchy(), outliner_sort(), overlay_edit_uv_cache_populate(), panel_add_instanced(), pose_backup_create(), pose_copy_exec(), pose_flip_names_exec(), poselib_add_exec(), poselib_backup_posecopy(), poselib_preview_get_next(), poselib_sanitize_exec(), posttrans_fcurve_clean(), preferences_autoexec_add_exec(), preview_get_localized_world(), preview_prepare_scene(), project_paint_prepare_all_faces(), property_search_all_tabs(), psys_alloc_path_cache_buffers(), psys_check_group_weights(), ptcache_add_extra_data(), ptcache_copy(), ptcache_disk_frame_to_mem(), ptcache_ids_from_object_cb(), ptcache_write(), pyrna_py_to_prop(), raycast_all_cb(), RE_create_gp_pass(), RE_DuplicateRenderResult(), RE_engine_begin_result(), RE_engines_register(), RE_NewRender(), blender::io::alembic::AbcCurveReader::read_curve_sample(), blender::io::usd::USDCurvesReader::read_curve_sample(), blender::io::usd::USDNurbsReader::read_curve_sample(), read_libblock(), read_libblock_undo_restore_at_old_address(), read_libblock_undo_restore_identical(), read_libblock_undo_restore_library(), read_library_linked_ids(), blender::io::alembic::AbcNurbsReader::readObjectData(), rearrange_animchannel_add_to_islands(), rearrange_island_bottom(), recalcData_nla(), refresh_socket_list(), region_azone_edge_init(), region_azone_scrollbar_init(), region_copylist(), region_quadview_exec(), register_row_filter_panels(), render_layer_add_pass(), render_result_from_bake(), render_result_new(), render_result_single_layer_end(), render_result_view_new(), render_result_views_shallowcopy(), repeat_history_exec(), rna_function_parameter_parse(), rna_path_parse(), row_filter_add_exec(), rule_add_exec(), scanfill(), scanfill_preprocess_self_isect(), screen_addarea_ex(), screen_geom_edge_add_ex(), screen_geom_vertex_add_ex(), screen_opengl_views_setup(), script_create(), sculpt_undo_alloc_node_type(), sculpt_undo_bmesh_push(), sculpt_undo_face_sets_push(), selected_objects_get(), SEQ_add_movie_strip(), SEQ_add_reload_new_file(), SEQ_animation_duplicate(), SEQ_channels_duplicate(), SEQ_channels_ensure(), seq_disk_cache_add_file_to_list(), seq_dupli(), SEQ_edit_move_strip_to_seqbase(), SEQ_edit_strip_split(), seq_get_text_strip_cb(), SEQ_modifier_list_copy(), SEQ_modifier_new(), seq_open_anim_file(), SEQ_proxy_rebuild_context(), seq_select_seq_from_preview(), SEQ_sequence_alloc(), sequencer_buttons_register(), sequencer_copy_animation(), sequencer_create(), sequencer_meta_make_exec(), sequencer_paste_animation(), sequencer_preview_add_sound(), blender::bke::tests::BKE_armature_find_selected_bones_test::SetUp(), shade_smooth_exec(), shaderfx_panel_register(), shaderfx_subpanel_register(), sigbus_handler_add(), sort_linked_ids(), spacedata_cleanup_exec(), splineik_init_tree_from_pchan(), split_groups_action_temp(), split_libdata(), split_main_newid(), splitlist(), spreadsheet_create(), blender::ed::spreadsheet::spreadsheet_data_set_region_panels_register(), spreadsheet_duplicate(), state_add_exec(), state_del_exec(), statusbar_create(), store_original_bezt_arrays(), stroke_dash(), stroke_defvert_create_nr_list(), studiolight_add_file(), task_listbase_test(), task_mempool_iter_tls_func(), blender::bke::tests::TEST(), TEST(), blender::tests::TEST(), testbuffer_list_add(), testchunk_list_add(), text_copy_data(), text_create(), text_from_buf(), topbar_create(), tracking_dopesheet_calc_coverage(), tracking_dopesheet_channels_calc(), tracking_objects_copy(), tracking_plane_tracks_copy(), tracking_tracks_copy(), tracks_map_merge(), AnimationImporter::translate_animation_OLD(), AnimationImporter::translate_Animations(), txt_from_buf_for_undo(), uhandle_add(), uhandle_add_ubuf(), ui_afterfunc_new(), ui_block_add_view_impl(), UI_block_layout(), ui_block_new_button_group(), ui_but_extra_operator_icon_add_ptr(), UI_butstore_create(), UI_butstore_register(), ui_button_group_add_but(), ui_def_but(), ui_imageuser_pass_menu(), ui_layout_add_but(), ui_list_ensure(), ui_litem_init_from_parent(), UI_panel_begin(), ui_panel_category_active_set(), UI_panel_category_add(), ui_region_temp_add(), ui_rna_collection_search_update_fn(), ui_style_new(), ui_textedit_undo_push(), UI_theme_init_default(), uiStyleInit(), uiTemplatePreview(), undocurve_from_editcurve(), undocurve_to_editcurve(), undofont_from_editfont(), undomball_to_editmball(), userpref_create(), verify_driver_fcurve(), verify_socket_template_list(), versions_gpencil_add_main(), vgroup_duplicate(), view3d_buttons_register(), view3d_create(), view3d_ruler_to_gpencil(), visit_object(), volume_grid_cache_get(), voronoi_addParabola(), voronoi_clampEdges(), voronoi_createBoundaryEdges(), voronoi_removeParabola(), vs_add(), WM_drag_add_asset_list_item(), WM_drag_add_local_ID(), WM_draw_cb_activate(), WM_dropbox_add(), WM_dropboxmap_find(), wm_event_add_ex(), WM_event_add_keymap_handler(), WM_event_add_keymap_handler_dynamic(), WM_event_add_notifier_ex(), WM_event_add_timer(), WM_event_add_timer_notifier(), WM_event_start_prepared_drag(), WM_gesture_new(), wm_gizmogroup_gizmo_register(), wm_gizmogroup_new_from_type(), WM_gizmomap_add_handlers(), WM_gizmomaptype_group_link_ptr(), WM_gizmotype_target_property_def(), wm_handlers_do_intern(), wm_history_file_read(), WM_jobs_get(), WM_keyconfig_new(), WM_keymap_add_item(), WM_keymap_add_item_copy(), wm_keymap_copy(), wm_keymap_diff(), wm_keymap_diff_update(), WM_keymap_ensure(), wm_keymap_patch(), wm_keymap_patch_update(), WM_main_add_notifier(), WM_modalkeymap_add_item(), WM_modalkeymap_add_item_str(), WM_msg_subscribe_with_key(), wm_operator_create(), wm_operator_register(), WM_operatortype_macro_define(), WM_paint_cursor_activate(), wm_surface_add(), wm_window_new(), WM_xr_actionmap_add_copy(), WM_xr_actionmap_binding_add_copy(), wm_xr_actionmap_binding_copy(), WM_xr_actionmap_binding_new(), wm_xr_actionmap_copy(), WM_xr_actionmap_item_add_copy(), wm_xr_actionmap_item_copy(), WM_xr_actionmap_item_new(), WM_xr_actionmap_new(), wm_xr_session_controller_data_populate(), wm_xr_session_haptic_action_add(), wm_xr_session_modal_action_test_add(), wm_xr_session_surface_offscreen_ensure(), ww_write_zstd(), and zstd_write_task().

◆ BLI_duplicatelist()

void BLI_duplicatelist ( ListBase dst,
const ListBase src 
)

Definition at line 781 of file listbase.c.

References BLI_addtail(), ListBase::first, ListBase::last, MEM_dupallocN, Link::next, NULL, and src.

◆ BLI_findindex()

int BLI_findindex ( const ListBase listbase,
const void vlink 
)

Definition at line 549 of file listbase.c.

References ListBase::first, Link::next, and NULL.

Referenced by BLI_listbase_link_move(), and BLI_remlink_safe().

◆ BLI_findlink()

void* BLI_findlink ( const ListBase listbase,
int  number 
)

Definition at line 504 of file listbase.c.

References ListBase::first, Link::next, and NULL.

Referenced by BLI_listbase_move_index().

◆ BLI_findlinkfrom()

void* BLI_findlinkfrom ( struct Link start,
int  number 
)

Returns the nth element after link, numbering from 0.

Definition at line 534 of file listbase.c.

References Link::next, and NULL.

Referenced by gpencil_update_on_write_frame_cb(), gpencil_update_on_write_layer_cb(), gpencil_update_on_write_stroke_cb(), and TEST().

◆ BLI_findptr()

void* BLI_findptr ( const ListBase listbase,
const void ptr,
const int  offset 
)

Definition at line 643 of file listbase.c.

References ListBase::first, Link::next, NULL, offset, and ptr.

◆ BLI_findstring()

void* BLI_findstring ( const ListBase listbase,
const char *  id,
const int  offset 
)

Definition at line 571 of file listbase.c.

References ListBase::first, Link::next, NULL, offset, and STREQ.

◆ BLI_findstring_ptr()

void* BLI_findstring_ptr ( const ListBase listbase,
const char *  id,
const int  offset 
)

Definition at line 608 of file listbase.c.

References ListBase::first, Link::next, NULL, offset, and STREQ.

◆ BLI_findstringindex()

int BLI_findstringindex ( const ListBase listbase,
const char *  id,
const int  offset 
)

Definition at line 741 of file listbase.c.

References ListBase::first, Link::next, NULL, offset, and STREQ.

◆ BLI_freelinkN()

void BLI_freelinkN ( struct ListBase listbase,
void vlink 
)

Removes vlink from listbase and disposes of it. Assumes it is linked into there!

Definition at line 239 of file listbase.c.

References BLI_remlink(), MEM_freeN, and NULL.

Referenced by _bm_select_history_remove(), action_move_fcurves_by_basepath(), action_to_animato(), ANIM_fcurve_delete_from_animdata(), ANIM_fcurves_copybuf_free(), ANIM_keyingset_info_unregister(), ANIM_keyingset_infos_exit(), animchannels_delete_exec(), animchannels_group_channels(), animchannels_ungroup_exec(), animdata_filter_remove_duplis(), animdata_filter_remove_invalid(), annotation_free_stroke(), BKE_asset_metadata_tag_remove(), BKE_collection_parent_relations_rebuild(), BKE_collections_child_remove_nulls(), BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_constraint_remove(), BKE_constraint_targets_flush(), BKE_freestyle_module_delete(), BKE_gpencil_dissolve_points(), BKE_gpencil_frame_delete_laststroke(), BKE_gpencil_free_frames(), BKE_gpencil_free_layer_masks(), BKE_gpencil_free_layers(), BKE_gpencil_layer_delete(), BKE_gpencil_layer_frame_delete(), BKE_gpencil_layer_mask_remove(), BKE_gpencil_vgroup_remove(), BKE_image_packfiles(), BKE_keyingset_free_path(), BKE_keyingsets_free(), BKE_lib_override_library_property_delete(), BKE_lib_override_library_property_operation_delete(), BKE_linestyle_alpha_modifier_remove(), BKE_linestyle_color_modifier_remove(), BKE_linestyle_geometry_modifier_remove(), BKE_linestyle_thickness_modifier_remove(), BKE_mesh_to_curve_nurblist(), BKE_nlastrip_free(), BKE_nlatrack_free(), BKE_object_delete_ptcache(), BKE_pose_channels_clear_with_null_bone(), BKE_pose_channels_remove(), BKE_pose_remove_group(), BKE_preferences_asset_library_remove(), BKE_ptcache_id_clear(), BKE_scene_transform_orientation_remove(), BKE_tracking_object_delete(), BKE_tracking_plane_tracks_remove_point_track(), BKE_vfont_free_data(), BKE_view_layer_blend_read_lib(), BKE_view_layer_remove_aov(), BKE_view_layer_remove_lightgroup(), BKE_workspace_layout_remove(), BLI_voronoi_compute(), blo_do_versions_250(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), BM_log_entry_add(), BM_log_entry_drop(), BM_select_history_merge_from_targetmap(), BM_select_history_validate(), bone_free(), bpath_list_restore(), clean_tracks_exec(), clip_delete_plane_track(), clip_delete_track(), collection_child_remove(), collection_missing_parents_remove(), collection_null_children_remove(), collection_object_remove(), collection_object_remove_duplicates(), collection_object_remove_nulls(), delete_marker_exec(), do_versions_ipos_to_animato(), do_versions_remove_region(), driver_free_variable(), ED_area_newspace(), ED_gpencil_strokes_copybuf_free(), ed_marker_delete_exec(), ED_pose_backup_free(), ED_preview_restart_queue_work(), ED_region_remove(), edbm_strip_selections(), folder_history_entry_free(), folderlist_popdir(), frame_cache_remove(), free_iconfile_list(), gizmos_draw_list(), gpencil_frame_clean_fill_exec(), gpencil_frame_clean_loose_exec(), gpencil_free_stroke(), gpencil_interpolate_reverse_exec(), gpencil_undo_push(), gpencil_update_on_write_frame_cb(), gpu_node_graph_prune_unused(), ipo_free_data(), ipo_to_animato(), join_tracks_exec(), lib_link_collection_data(), lib_override_library_resync(), link_recurs_seq(), nlastrips_to_animdata(), object_defgroup_remove_common(), poseAnim_mapping_free(), poselib_backup_free_data(), poselib_remove_exec(), poselib_sanitize_exec(), preferences_autoexec_remove_exec(), preview_startjob(), psys_check_group_weights(), RE_create_gp_pass(), read_library_clear_weak_links(), rearrange_animchannel_flatten_islands(), rearrange_animchannels_filter_visible(), remove_active_keyingset_exec(), remove_fmodifier(), remove_tagged_functions(), removeSnapPoint(), separate_armature_bones(), SEQ_relations_sequence_free_anim(), sigbus_handler_remove(), splineik_execute_tree(), ui_apply_but_funcs_after(), ui_layout_remove_but(), ui_region_temp_remove(), view_layer_bases_hash_create(), voronoi_addParabola(), voronoi_removeParabola(), WM_drag_free(), wm_history_file_free(), wm_keymap_diff_update(), wm_keymap_patch(), wm_keymap_patch_update(), WM_keymap_remove_item(), WM_keymap_restore_to_default(), WM_xr_action_destroy(), WM_xr_actionmap_binding_remove(), WM_xr_actionmap_item_remove(), WM_xr_actionmap_remove(), wm_xr_session_controller_data_free(), wm_xr_session_haptic_action_remove(), wm_xr_session_haptic_timers_check(), wm_xr_session_modal_action_remove(), wm_xr_session_surface_free_data(), and workspace_blend_read_lib().

◆ BLI_freelist()

void BLI_freelist ( struct ListBase listbase)

Removes and disposes of the entire contents of listbase using direct free(3).

Definition at line 452 of file listbase.c.

References BLI_listbase_clear(), ListBase::first, free(), Link::next, and next.

Referenced by bli_builddir().

◆ BLI_freelistN()

void BLI_freelistN ( struct ListBase listbase)

Removes and disposes of the entire contents of listbase using guardedalloc.

Definition at line 466 of file listbase.c.

References BLI_listbase_clear(), ListBase::first, MEM_freeN, Link::next, and next.

Referenced by action_free_data(), action_set_destroy(), action_to_animato(), actkeys_mselect_column(), blender::ed::space_node::add_reroute_exec(), ANIM_animdata_freelist(), animsys_evaluate_nla_for_flush(), animsys_evaluate_nla_for_keyframing(), apply_armature_pose2bones_exec(), area_azone_init(), armature_fill_bones_exec(), armature_flip_names_exec(), armature_switch_direction_exec(), armdef_free(), asset_operation_get_ids_from_context(), autokeyframe_object(), autokeyframe_pose(), bake_exec(), bake_freejob(), BIF_clearTransformOrientation(), BKE_animsys_free_nla_keyframing_context_cache(), BKE_area_region_free(), BKE_armature_bonelist_free(), BKE_asset_metadata_free(), BKE_autotrack_context_free(), BKE_blender_userdef_data_free(), BKE_bpath_list_free(), BKE_cachefile_eval(), BKE_collider_cache_free(), BKE_collision_relations_free(), BKE_constraints_free_ex(), BKE_cryptomatte_matte_id_to_entries(), BKE_effector_relations_free(), BKE_effectors_free(), BKE_freestyle_config_free(), BKE_gpencil_free_data(), BKE_gpencil_stroke_perimeter_from_view(), BKE_image_free_views(), BKE_image_signal(), BKE_layer_collection_sync(), BKE_lib_override_library_clear(), BKE_lib_override_library_create_from_tag(), BKE_main_collections_parent_relations_rebuild(), BKE_mesh_nomain_to_mesh(), BKE_mesh_to_curve_nurblist(), BKE_node_clipboard_clear(), BKE_object_data_transfer_ex(), BKE_palette_clear(), BKE_pose_channels_free_ex(), BKE_pose_free_data_ex(), BKE_ptcache_bake(), BKE_ptcache_free_mem(), BKE_ptcache_id_clear(), BKE_ptcache_id_find(), BKE_screen_area_free(), BKE_screen_area_map_free(), BKE_spacedata_freelist(), BKE_spacetypes_free(), BKE_stamp_data_free(), BKE_view_layer_free_ex(), blend_to_neighbor_graph_keys(), BLI_args_destroy(), BLI_box_pack_2d_fixedarea(), BLI_dlrbTree_free(), BLI_threadpool_end(), BLI_voronoi_triangulate(), blo_do_versions_250(), blo_filedata_free(), blo_update_defaults_screen(), BM_edgeloop_free(), BM_mesh_data_free(), BM_select_history_clear(), boid_free_settings(), breakdown_graph_keys(), blender::deg::DepsgraphRelationBuilder::build_object_pointcache(), blender::ed::outliner::OverrideRNAPathTreeBuilder::build_path(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), button_group_free(), buttons_free(), buttons_id_remap(), buttons_texture_context_compute(), cache_file_free_data(), camera_free_data(), collection_free_data(), collection_object_cache_free(), colormanage_free_config(), columnselect_action_keys(), columnselect_graph_keys(), constraintTransLim(), copy_to_selected_button(), create_scene(), ctx_data_base_collection_get(), ctx_data_list_count(), CTX_store_free(), data_transfer_exec(), datalayout_transfer_exec(), decimate_fcurve(), do_version_area_change_space_to_space_action(), do_version_layers_to_collections(), do_version_workspaces_after_lib_link(), do_versions_after_linking_280(), drw_deferred_shader_compilation_free(), DRW_drawdata_free(), DRW_smoke_exit(), ED_area_data_copy(), ED_armature_edit_free(), ED_autokeyframe_object(), ED_autokeyframe_pchan(), ED_image_filesel_detect_sequences(), ED_keylist_draw_list_free(), ED_object_editmode_exit_ex(), ED_object_shaderfx_link(), ED_objects_recalculate_paths(), ED_objects_recalculate_paths_selected(), ED_objects_recalculate_paths_visible(), ED_outliner_selected_objects_get(), ED_pose_recalculate_paths(), ED_preview_icon_render(), ED_preview_restart_queue_free(), ED_vgroup_array_copy(), ED_view3d_camera_autokey(), ED_workspace_delete(), edit_uv_stretching_update_ratios(), blender::geometry::execute_realize_mesh_tasks(), find_nearest_fcurve_vert(), folderlist_free(), free_buffers(), free_gpencil_colors(), free_object_duplilist(), free_openrecent(), free_posetree(), free_preview_job(), gpencil_interpolate_exit(), gpencil_interpolate_seq_exec(), gpencil_stroke_arrange_exec(), gpencil_stroke_perimeter_ex(), gpencil_undo_finish(), gpu_inputs_free(), GPU_material_free(), gpu_node_free(), gpu_node_graph_free(), gpu_select_pick_cache_end(), gpu_texture_create_tile_array(), GPU_uniform_attr_list_free(), graph_free(), graph_slider_exit(), graphkeys_euler_filter_exec(), graphkeys_mselect_column(), graphview_curves_hide_exec(), graphview_curves_reveal_exec(), icon_preview_free(), IDP_FreeGroup(), image_free_data(), image_open_exec(), IMB_exr_clear_channels(), IMB_exr_close(), lattice_free_data(), layer_collection_free(), lib_override_library_property_clear(), merge_nurb(), mesh_free_data(), metaball_free_data(), move_to_collection_exec(), move_to_collection_invoke(), move_to_collection_menus_free_recursive(), move_vertex_group_names_to_object_data(), multiresbake_freejob(), multiresbake_image_exec_locked(), nla_free(), nlaeval_free(), nlastrips_to_animdata(), blender::nodes::node_composite_cryptomatte_cc::node_free_cryptomatte(), node_free_node(), node_group_input_update(), node_group_output_update(), blender::ed::space_node::node_id_remap_cb(), nodeRemoveAllSockets(), ntree_free_data(), ntreeCompositCryptomatteUpdateLayerNames(), ntreeShaderEndExecTree_internal(), ntreeTexEndExecTree_internal(), object_cacheIgnoreClear(), object_convert_exec(), object_free_data(), object_lib_override_apply_post(), object_select_more_less(), object_select_random_exec(), outliner_color_tag_set_exec(), outliner_item_drag_drop_invoke(), paint_stroke_free(), palette_free_data(), panel_delete(), particle_settings_free_data(), pe_get_current(), peelObjectsTransform(), pose_clear_transform_generic_exec(), pose_clear_user_transforms_exec(), pose_flip_names_exec(), pose_propagate_exec(), poseAnim_mapping_autoKeyframe(), poseAnim_mapping_free(), poselib_keytag_pose(), poselib_preview_cleanup(), poselib_preview_get_next(), postTrans(), posttrans_fcurve_clean(), preview_startjob(), project_paint_prepare_all_faces(), proxy_freejob(), psys_check_group_weights(), psys_free(), psys_free_path_cache_buffers(), ptcache_extra_free(), ptcache_free_bake_all_exec(), pycon_free(), pyrna_struct_dir(), pyrna_struct_getattro(), pyrna_struct_setattro(), RE_FreeRender(), RE_InitState(), read_library_linked_ids(), rearrange_action_channels(), rearrange_driver_channels(), rearrange_gpencil_channels(), rearrange_nla_channels(), rearrange_nla_control_channels(), render_copy_renderdata(), render_update_anim_renderdata(), RNA_parameter_list_free(), RNA_path_resolve_from_type_to_property(), scanfill_preprocess_self_isect(), scene_free_data(), screen_free_data(), seq_disk_cache_enforce_limits(), seq_disk_cache_free(), SEQ_editing_free(), SEQ_meta_stack_set(), seq_select_seq_from_preview(), setflag_anim_channels(), shade_smooth_exec(), space_workspace_cycle_invoke(), spacetype_free(), special_aftertrans_update__object(), template_ID_tabs(), TEST(), timeline_draw_cache(), tracking_dopesheet_free(), tracking_objects_free(), tracking_plane_tracks_free(), tracking_tracks_free(), tree_element_to_path(), UI_block_free(), UI_butstore_free(), ui_imageuser_pass_menu(), UI_panel_category_clear_all(), ui_popup_block_position(), ui_selectcontext_begin(), UI_style_init_default(), ui_textedit_undo_stack_destroy(), updateDuplicateActionConstraintSettings(), userdef_free_keymaps(), view3d_context(), volume_batch_cache_clear(), volume_import_exec(), wm_close_and_free(), WM_drag_data_create(), WM_drag_free(), wm_dropbox_free(), WM_gizmotype_free_ptr(), WM_keyconfig_clear(), WM_keymap_clear(), wm_main_playanim_intern(), wm_operatortype_free_macro(), WM_xr_action_set_destroy(), wm_xr_actionmap_binding_clear(), WM_xr_actionmap_clear(), wm_xr_actionmap_item_clear(), WM_xr_actionmaps_clear(), WM_xr_active_action_set_set(), wm_xr_session_surface_free_data(), workspace_add_invoke(), workspace_free_data(), ww_close_zstd(), AnimKeylist::~AnimKeylist(), and GPUCodegen::~GPUCodegen().

◆ BLI_genericNodeN()

LinkData* BLI_genericNodeN ( void data)

◆ BLI_insertlinkafter()

void BLI_insertlinkafter ( struct ListBase listbase,
void vprevlink,
void vnewlink 
)

Inserts vnewlink immediately following vprevlink in listbase. Or, if vprevlink is NULL, puts vnewlink at the front of the list.

Definition at line 301 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

Referenced by _bm_select_history_store_after_notest(), action_groups_add_channel(), blender::ed::space_node::add_reroute_insert_socket_link(), BKE_collection_move(), BKE_gpencil_layer_addnew(), BKE_gpencil_stroke_uniform_subdivide(), BKE_key_sort(), BKE_nlastrips_sort_strips(), BKE_nlatrack_add(), BLI_listbase_link_move(), BLI_listbases_swaplinks(), blo_do_versions_260(), blo_do_versions_280(), blo_do_versions_300(), BM_edgeloop_expand(), buffer_from_list_inputs_sort(), cmp_node_image_add_pass_output(), collection_duplicate_recursive(), constraint_move_down_exec(), do_version_bbone_scale_fcurve_fix(), do_versions_add_region_if_not_found(), do_versions_after_linking_300(), do_versions_area_ensure_tool_region(), dupliob_move_down_exec(), ED_clip_has_properties_region(), ED_gpencil_layer_frames_duplicate(), ED_keylist_add_or_update_column(), ED_masklayer_frames_duplicate(), ED_object_gpencil_modifier_copy(), ED_object_gpencil_modifier_move_down(), ED_object_modifier_copy(), ED_object_shaderfx_move_down(), face_map_move_exec(), file_execute_region_ensure(), file_tool_props_region_ensure(), file_ui_region_ensure(), generate_arc_from_point_to_point(), generate_semi_circle_from_point_to_point(), gpencil_add_move_points(), gpencil_curve_extrude_points(), gpencil_layer_copy_exec(), gpencil_stroke_arrange_exec(), id_sort_by_name(), IDP_InsertToGroup(), image_add_view(), lineart_shadow_edge_cut(), mask_layer_move_exec(), ml_addview_cb(), nlaedit_add_transition_exec(), nlaedit_split_strip_actclip(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::ntree_socket_move_exec(), outliner_extract_children_from_subtree(), rearrange_island_down(), rebuild_pose_bone(), rule_move_down_exec(), scanfill_preprocess_self_isect(), shaderfx_copy_exec(), skin_armature_create_exec(), state_move_down_exec(), strip_modifier_move_exec(), target_move_down_exec(), text_has_properties_region(), txt_duplicate_line(), txt_move_lines(), ui_but_change_type(), ui_but_update_from_old_block(), UI_panel_begin(), uiItemFullR(), and wm_event_add_ex().

◆ BLI_insertlinkbefore()

void BLI_insertlinkbefore ( struct ListBase listbase,
void vnextlink,
void vnewlink 
)

Inserts vnewlink immediately preceding vnextlink in listbase. Or, if vnextlink is NULL, puts vnewlink at the end of the list.

Definition at line 340 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

Referenced by action_groups_add_channel(), add_hook_object(), add_marker_to_cfra_elem(), addedgetoscanvert(), area_add_window_regions(), bezt_add_to_cfra_elem(), BKE_collection_move(), BKE_curve_bevelList_make(), BKE_gpencil_curve_delete_tagged_points(), BKE_gpencil_frame_addcopy(), BKE_gpencil_frame_addnew(), BKE_gpencil_stroke_delete_tagged_points(), BKE_image_add_tile(), BKE_nlastrips_add_strip(), BKE_nlastrips_clear_metastrip(), BKE_nlastrips_make_metas(), BLI_listbase_link_move(), blo_do_versions_250(), blo_do_versions_280(), blo_do_versions_pre250(), BM_edgeloop_expand(), colormanage_colorspace_add(), constraint_move_up_exec(), do_version_action_editor_properties_region(), dupliob_move_up_exec(), ED_clip_has_channels_region(), ED_clip_has_preview_region(), ED_keylist_add_or_update_column(), ED_object_gpencil_modifier_move_up(), ED_object_modifier_add(), ED_object_shaderfx_move_up(), face_map_move_exec(), generate_arc_from_point_to_point(), gpencil_layer_copy_exec(), gpencil_stroke_arrange_exec(), gpencil_stroke_join_exec(), gpencil_update_on_write_frame_cb(), gpencil_update_on_write_layer_cb(), gpencil_update_on_write_stroke_cb(), hud_region_add(), id_sort_by_name(), insert_seam_vert_array(), lineart_edge_cut(), lineart_shadow_edge_cut(), mask_layer_move_exec(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::node_sort(), blender::ed::space_node::ntree_socket_move_exec(), ntreeInsertSocketInterface(), rearrange_island_bottom(), rearrange_island_top(), rearrange_island_up(), rule_move_up_exec(), scanfill(), state_move_up_exec(), strip_modifier_move_exec(), target_move_up_exec(), txt_insert_buf(), txt_move_lines(), txt_split_curline(), verify_socket_template_list(), voronoi_insertEvent(), and wm_keymap_patch().

◆ BLI_insertlinkreplace()

void BLI_insertlinkreplace ( ListBase listbase,
void vreplacelink,
void vnewlink 
)

Definition at line 379 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

◆ BLI_listbase_bytes_find()

void* BLI_listbase_bytes_find ( const ListBase listbase,
const void bytes,
const size_t  bytes_size,
const int  offset 
)

Definition at line 678 of file listbase.c.

References ListBase::first, Link::next, NULL, and offset.

◆ BLI_listbase_bytes_rfind()

void* BLI_listbase_bytes_rfind ( const ListBase listbase,
const void bytes,
const size_t  bytes_size,
const int  offset 
)

Definition at line 696 of file listbase.c.

References ListBase::last, NULL, offset, and Link::prev.

◆ BLI_listbase_count()

int BLI_listbase_count ( const ListBase listbase)

Definition at line 492 of file listbase.c.

References count, ListBase::first, and Link::next.

◆ BLI_listbase_count_at_most()

int BLI_listbase_count_at_most ( const ListBase listbase,
const int  count_max 
)

Definition at line 480 of file listbase.c.

References count, ListBase::first, and Link::next.

◆ BLI_listbase_from_link()

ListBase BLI_listbase_from_link ( struct Link some_link)

Return a ListBase representing the entire list the given Link is in.

Definition at line 761 of file listbase.c.

References ListBase::first, ListBase::last, next, and NULL.

Referenced by driver_variable_unique_name(), and TEST().

◆ BLI_listbase_link_move()

bool BLI_listbase_link_move ( ListBase listbase,
void vlink,
int  step 
)

Reinsert vlink relative to its current position but offset by step. Doesn't move item if new position would exceed list (could optionally move to head/tail).

Parameters
stepAbsolute value defines step size, sign defines direction. E.g pass -1 to move vlink before previous, or 1 to move behind next.
Returns
If position of vlink has changed.

Definition at line 405 of file listbase.c.

References blender::math::abs(), BLI_assert, BLI_findindex(), BLI_insertlinkafter(), BLI_insertlinkbefore(), BLI_remlink(), Link::next, and Link::prev.

Referenced by BKE_freestyle_module_move(), BKE_linestyle_alpha_modifier_move(), BKE_linestyle_color_modifier_move(), BKE_linestyle_geometry_modifier_move(), BKE_linestyle_thickness_modifier_move(), BLI_listbase_move_index(), cachefile_layer_move_exec(), constraint_copy_exec(), ED_object_constraint_move_to_index(), filter_reorder(), fmodifier_reorder(), FRS_move_active_lineset(), gpencil_layer_mask_move_exec(), gpencil_layer_move_exec(), gpencil_stroke_arrange_exec(), group_move_exec(), palette_color_move_exec(), poselib_move_exec(), and vgroup_move_exec().

◆ BLI_listbase_move_index()

bool BLI_listbase_move_index ( ListBase listbase,
int  from,
int  to 
)

Move the link at the index from to the position at index to.

Returns
If the move was successful.

Definition at line 436 of file listbase.c.

References BLI_findlink(), BLI_listbase_link_move(), and from.

◆ BLI_listbase_reverse()

void BLI_listbase_reverse ( ListBase lb)

◆ BLI_listbase_rotate_first()

void BLI_listbase_rotate_first ( ListBase lb,
void vlink 
)

Definition at line 816 of file listbase.c.

References ListBase::first, ListBase::last, and NULL.

◆ BLI_listbase_rotate_last()

void BLI_listbase_rotate_last ( ListBase lb,
void vlink 
)

Definition at line 829 of file listbase.c.

References ListBase::first, ListBase::last, and NULL.

◆ BLI_listbase_sort()

void BLI_listbase_sort ( ListBase listbase,
int(*)(const void *, const void *)  cmp 
)

Definition at line 281 of file listbase.c.

References ListBase::first, ListBase::last, and listbase_double_from_single().

◆ BLI_listbase_sort_r()

void BLI_listbase_sort_r ( ListBase listbase,
int(*)(void *, const void *, const void *)  cmp,
void thunk 
)

Definition at line 290 of file listbase.c.

References ListBase::first, ListBase::last, and listbase_double_from_single().

◆ BLI_listbase_string_or_index_find()

void* BLI_listbase_string_or_index_find ( const ListBase listbase,
const char *  string,
const size_t  string_offset,
const int  index 
)

Definition at line 717 of file listbase.c.

References ListBase::first, Link::next, NULL, and STREQ.

◆ BLI_listbase_swaplinks()

void BLI_listbase_swaplinks ( ListBase listbase,
void vlinka,
void vlinkb 
)

Definition at line 133 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, Link::prev, and SWAP.

◆ BLI_listbases_swaplinks()

void BLI_listbases_swaplinks ( ListBase listbasea,
ListBase listbaseb,
void vlinka,
void vlinkb 
)

Definition at line 186 of file listbase.c.

References BLI_insertlinkafter(), BLI_remlink(), and NULL.

◆ BLI_movelisttolist()

void BLI_movelisttolist ( ListBase dst,
ListBase src 
)

Definition at line 23 of file listbase.c.

References ListBase::first, ListBase::last, NULL, and src.

◆ BLI_movelisttolist_reverse()

void BLI_movelisttolist_reverse ( ListBase dst,
ListBase src 
)

Definition at line 41 of file listbase.c.

References ListBase::first, ListBase::last, NULL, and src.

◆ BLI_pophead()

void* BLI_pophead ( ListBase listbase)

◆ BLI_poptail()

void* BLI_poptail ( ListBase listbase)

Removes the tail from listbase and returns it.

Definition at line 230 of file listbase.c.

References BLI_remlink(), and ListBase::last.

Referenced by drw_deferred_shader_compilation_exec(), and wm_event_free_last().

◆ BLI_remlink()

void BLI_remlink ( struct ListBase listbase,
void vlink 
)

Removes vlink from listbase. Assumes it is linked into there!

Warning
Does not clear the prev/next pointers of the removed vlink.

Definition at line 100 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.

Referenced by act_markers_make_local_exec(), action_groups_remove_channel(), actkeys_find_list_element_at_position(), ANIM_fcurve_delete_from_animdata(), ANIM_keyingset_info_unregister(), ANIM_remove_driver(), animchannels_delete_exec(), animdata_move_drivers_by_basepath(), apply_dash_for_frame(), bake(), BKE_addon_remove_safe(), BKE_blendfile_library_relocate(), BKE_blendfile_write_partial(), BKE_cachefile_remove_layer(), BKE_callback_remove(), BKE_camera_background_image_remove(), BKE_collection_move(), BKE_curve_bevelList_make(), BKE_freestyle_lineset_delete(), BKE_gpencil_curve_delete_tagged_points(), BKE_gpencil_stroke_delete_tagged_points(), BKE_id_free_ex(), BKE_image_remove_renderslot(), BKE_image_remove_tile(), BKE_key_sort(), BKE_keyconfig_keymap_filter_item(), BKE_libblock_management_main_remove(), BKE_mask_layer_free_list(), BKE_mask_layer_free_shapes(), BKE_mask_layer_remove(), BKE_mask_layer_shape_unlink(), BKE_mask_spline_free_list(), BKE_maskrasterize_handle_init(), BKE_modifier_remove_from_list(), BKE_nla_action_stash(), BKE_nlastrips_clear_metastrip(), BKE_nlastrips_make_metas(), BKE_nlastrips_sort_strips(), BKE_object_handle_data_update(), BKE_object_shapekey_remove(), BKE_packedfile_unpack_image(), BKE_palette_color_remove(), BKE_particle_system_blend_read_lib(), BKE_scene_remove_render_view(), BKE_screen_area_blend_read_lib(), BKE_screen_area_map_blend_read_data(), BKE_screen_remove_double_scredges(), BKE_screen_remove_double_scrverts(), BKE_screen_remove_unused_scredges(), BKE_screen_remove_unused_scrverts(), BKE_studiolight_remove(), BKE_workspace_tool_remove(), BLF_dir_rem(), BLI_array_store_state_remove(), BLI_box_pack_2d_fixedarea(), BLI_freelinkN(), BLI_listbase_link_move(), BLI_listbases_swaplinks(), BLI_pophead(), BLI_poptail(), BLI_remlink_safe(), BLI_scanfill_calc_ex(), BLI_scanfill_calc_self_isect(), blo_do_versions_260(), blo_do_versions_280(), blo_join_main(), BM_faces_join(), BM_mesh_edgeloops_calc_order(), bm_uuidwalk_facestep_free(), BMO_error_pop(), BMO_mesh_selected_remap(), BMW_state_remove(), bpy_prop_py_data_remove(), buffer_from_list_inputs_sort(), blender::ed::outliner::TreeDisplayLibraries::buildTree(), clear_stroke(), cmp_node_image_add_pass_output(), collection_duplicate_recursive(), console_history_cycle_exec(), console_history_free(), console_scrollback_free(), console_scrollback_prompt_end(), constraint_move_down_exec(), constraint_move_up_exec(), create_scene(), cryptomatte_remove(), delete_exec(), delete_metaelems_exec(), delete_nurb(), direct_link_area(), direct_link_library(), DRW_deferred_shader_remove(), DRW_instance_data_list_free(), drw_registered_engines_free(), dupliob_move_down_exec(), dupliob_move_up_exec(), dynamicPaint_freeSurface(), ED_area_newspace(), ED_armature_join_objects_exec(), ed_curve_delete_selected(), ED_gpencil_stroke_join_and_trim(), ED_gpencil_trace_data_to_strokes(), ED_node_tree_pop(), ED_object_gpencil_modifier_apply(), ED_object_gpencil_modifier_move_down(), ED_object_gpencil_modifier_move_up(), ED_object_modifier_copy(), ED_object_shaderfx_move_down(), ED_object_shaderfx_move_up(), ED_region_draw_cb_exit(), ED_region_draw_cb_remove_by_type(), ED_scene_view_layer_delete(), ED_screen_user_menu_item_remove(), ed_surf_delete_selected(), ED_view3d_cursor_snap_deactive(), face_map_move_exec(), fcurve_path_rename(), fcurve_remove(), fcurves_path_remove_fix(), filelist_file_release_entry(), filelist_intern_free_main_files(), flatten_group_do(), frame_cache_touch(), generate_geometry(), get_active_fcurve_channel(), get_best_nearest_fcurve_vert(), gpencil_cutter_dissolve(), gpencil_delete_selected_strokes(), gpencil_delete_temp_stroke_extension(), gpencil_dissolve_selected_curve_points(), gpencil_dissolve_selected_stroke_points(), gpencil_interpolate_free_tagged_strokes(), gpencil_object_modifier_remove(), gpencil_stroke_arrange_exec(), gpencil_stroke_join_exec(), gpencil_stroke_join_islands(), gpencil_stroke_separate_exec(), gpencil_update_on_write_stroke_cb(), gpu_batch_presets_unregister(), gpu_node_graph_prune_unused(), group_verify_socket_list(), id_delete(), id_sort_by_name(), IDP_RemoveFromGroup(), iksolver_clear_data(), iksolver_execute_tree(), image_free_anims(), image_free_packedfiles(), image_update_views_format(), IMB_exr_close(), imb_global_cache_get_tile(), imb_thread_cache_get_tile(), imb_tile_cache_tile_free(), initialize_posetree(), join_groups_action_temp(), knife_split_edge(), layer_collection_objects_sync(), layer_collection_sync(), lib_link_workspace_layout_restore(), lineart_chain_fix_ambiguous_segments(), lineart_edge_cut(), lineart_list_remove_pointer_item_no_free(), make_segment_exec(), make_selection_list_nurb(), mask_layer_move_exec(), mask_shape_key_rekey_exec(), menu_items_from_ui_create(), merge_2_nurb(), MOD_lineart_chain_connect(), MOD_lineart_chain_discard_unused(), MOD_lineart_smooth_chains(), nlaedit_move_down_exec(), nlaedit_move_up_exec(), nlaedit_snap_exec(), nlaedit_strip_at_region_position(), nlaedit_swap_exec(), node_free_node(), 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::ed::space_node::node_id_remap_cb(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::node_sort(), nodeAddSocket(), nodeRemLink(), nodeRemoveSocketEx(), blender::ed::space_node::ntree_socket_move_exec(), ntreeRemoveSocketInterface(), object_blend_read_data(), object_fmap_remove_edit_mode(), object_fmap_remove_object_mode(), object_remove_particle_system(), object_shaderfx_remove(), outliner_add_id_contents(), outliner_add_object_contents(), outliner_extract_children_from_subtree(), outliner_free_tree_element(), outliner_make_object_parent_hierarchy(), panel_delete(), pose_grab_with_ik_clear(), ptcache_remove_exec(), RE_engine_end_result(), RE_engines_exit(), RE_FreeRender(), read_libblock_undo_restore_at_old_address(), read_libblock_undo_restore_identical(), read_libblock_undo_restore_library(), read_library_linked_ids(), rearrange_animchannel_add_to_islands(), rearrange_island_bottom(), rearrange_island_down(), rearrange_island_top(), rearrange_island_up(), rebuild_pose_bone(), recalcData_nla(), remove_particle_dupliob_exec(), remove_particle_systems_from_object(), remove_particle_target_exec(), render_result_free(), render_result_free_list(), render_result_single_layer_end(), render_result_views_free(), render_result_views_shallowdelete(), repeat_history_exec(), report_delete_exec(), row_filter_remove_exec(), rule_del_exec(), rule_move_down_exec(), rule_move_up_exec(), scanfill(), scanfill_preprocess_self_isect(), scene_blend_read_lib(), scene_free_data(), screen_delarea(), screen_opengl_views_setup(), seq_convert_transform_animation(), seq_disk_cache_delete_file(), SEQ_edit_move_strip_to_seqbase(), SEQ_edit_remove_flagged_sequences(), SEQ_edit_strip_split(), SEQ_free_animdata(), SEQ_meta_stack_pop(), SEQ_modifier_remove(), sequencer_meta_make_exec(), sequencer_separate_images_exec(), shader_preview_free(), single_object_users_collection(), sort_linked_ids(), spacedata_cleanup_exec(), split_libdata(), split_main_newid(), splitlist(), state_del_exec(), state_move_down_exec(), state_move_up_exec(), strip_modifier_copy_exec(), strip_modifier_move_exec(), strip_modifier_remove_exec(), target_move_down_exec(), target_move_up_exec(), tracks_map_merge(), blender::bke::VertexGroupsAttributeProvider::try_delete(), txt_delete_line(), txt_move_lines(), UI_blocklist_free_inactive(), UI_but_active_only_ex(), ui_but_change_type(), ui_but_update_from_old_block(), UI_butstore_free(), UI_butstore_unregister(), UI_context_copy_to_selected_list(), UI_panel_begin(), ui_panel_category_active_set(), UI_popover_end(), ui_textedit_undo_push(), uiItemFullR(), undofont_free_data(), undomesh_free_data(), undosys_step_free_and_unlink(), update_visible_columns(), verify_socket_template(), vgroup_sort_bone_hierarchy(), wm_close_and_free_all(), WM_draw_cb_exit(), wm_event_add_mousemove_to_head(), wm_event_do_handlers(), WM_event_free_ui_handler_all(), WM_event_remove_area_handler(), WM_event_remove_keymap_handler(), WM_event_remove_ui_handler(), WM_gesture_end(), WM_gizmo_unlink(), wm_gizmogroup_free(), WM_gizmomaptype_group_unlink(), wm_handler_fileselect_do(), wm_handler_operator_call(), wm_handlers_do_intern(), wm_history_file_update(), wm_job_free(), WM_keyconfig_remove(), WM_keymap_remove(), wm_macro_modal(), wm_msg_rna_remove_by_id(), wm_msg_rna_update_by_id(), wm_msg_static_gset_key_free(), wm_msg_subscribe_value_free(), WM_msgbus_clear_by_owner(), WM_operator_free_all_after(), wm_operator_register(), WM_paint_cursor_end(), WM_paint_cursor_remove_by_type(), wm_surface_remove(), wm_window_close(), wm_window_delete_removed_timers(), wm_window_match_replace_by_file_wm(), workspace_relation_ensure_updated(), workspace_relation_remove(), and ww_write_zstd().

◆ BLI_remlink_safe()

bool BLI_remlink_safe ( struct ListBase listbase,
void vlink 
)

Checks that vlink is linked into listbase, removing it from there if so.

Definition at line 123 of file listbase.c.

References BLI_findindex(), and BLI_remlink().

Referenced by ANIM_keyingset_info_unregister(), BKE_armature_editbonelist_free(), BKE_mask_spline_remove(), read_libblock_undo_restore_library(), and wm_event_free_and_remove_from_queue_if_valid().

◆ BLI_rfindlink()

void* BLI_rfindlink ( const ListBase listbase,
int  number 
)

Definition at line 519 of file listbase.c.

References ListBase::last, NULL, and Link::prev.

◆ BLI_rfindptr()

void* BLI_rfindptr ( const ListBase listbase,
const void ptr,
const int  offset 
)

Definition at line 659 of file listbase.c.

References ListBase::last, NULL, offset, Link::prev, and ptr.

◆ BLI_rfindstring()

void* BLI_rfindstring ( const ListBase listbase,
const char *  id,
const int  offset 
)

Definition at line 590 of file listbase.c.

References ListBase::last, NULL, offset, Link::prev, and STREQ.

◆ BLI_rfindstring_ptr()

void* BLI_rfindstring_ptr ( const ListBase listbase,
const char *  id,
const int  offset 
)

Definition at line 624 of file listbase.c.

References ListBase::last, NULL, offset, Link::prev, and STREQ.

◆ listbase_double_from_single()

static void listbase_double_from_single ( Link iter,
ListBase listbase 
)
static

Assigns all Link.prev pointers from Link.next

Definition at line 254 of file listbase.c.

References ListBase::first, ListBase::last, Link::next, NULL, blender::meshintersect::prev(), and Link::prev.

Referenced by BLI_listbase_sort(), and BLI_listbase_sort_r().