Blender
V3.3
|
#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 |
Manipulations on double-linked list (ListBase structs).
For single linked lists see 'BLI_linklist.h'
Definition in file listbase.c.
#define SORT_IMPL_FUNC listbase_sort_fn |
Definition at line 274 of file listbase.c.
#define SORT_IMPL_FUNC listbase_sort_fn_r |
Definition at line 274 of file listbase.c.
Definition at line 265 of file listbase.c.
#define SORT_IMPL_USE_THUNK |
Definition at line 273 of file listbase.c.
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().
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().
Definition at line 781 of file listbase.c.
References BLI_addtail(), ListBase::first, ListBase::last, MEM_dupallocN, Link::next, NULL, and src.
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().
Definition at line 504 of file listbase.c.
References ListBase::first, Link::next, and NULL.
Referenced by BLI_listbase_move_index().
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().
Definition at line 643 of file listbase.c.
References ListBase::first, Link::next, NULL, offset, and ptr.
Definition at line 571 of file listbase.c.
References ListBase::first, Link::next, NULL, offset, and STREQ.
Definition at line 608 of file listbase.c.
References ListBase::first, Link::next, NULL, offset, and STREQ.
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.
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().
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().
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().
Create a generic list node containing link to provided data.
Definition at line 842 of file listbase.c.
References data, LinkData::data, MEM_callocN, and NULL.
Referenced by action_get_item_transforms(), armature_flip_names_exec(), BKE_appdir_app_templates(), BKE_id_ordered_list(), BKE_image_get_tile_info(), BM_mesh_region_match(), colormanage_load_config(), count_images(), drw_deferred_shader_add(), DRW_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_smoke_ensure(), DRW_smoke_ensure_coba_field(), DRW_smoke_ensure_velocity(), ED_objects_recalculate_paths_selected(), ED_objects_recalculate_paths_visible(), ED_outliner_selected_objects_get(), fmodifier_subpanel_register(), frame_cache_add(), GPUCodegen::generate_uniform_buffer(), gizmo_prepare_drawing(), gpencil_interpolate_seq_exec(), gpencil_modifier_subpanel_register(), gpencil_stroke_arrange_exec(), gpencil_stroke_pair_table(), gpu_batch_presets_register(), image_camera_background_texture_get(), modifier_subpanel_register(), nla_buttons_register(), outliner_find_selected_collections(), outliner_find_selected_objects(), pose_flip_names_exec(), selected_objects_get(), SEQ_proxy_rebuild_context(), shaderfx_subpanel_register(), sigbus_handler_add(), task_mempool_iter_tls_func(), ui_button_group_add_but(), ui_imageuser_pass_menu(), and undofont_from_editfont().
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().
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().
Definition at line 379 of file listbase.c.
References ListBase::first, ListBase::last, Link::next, NULL, and Link::prev.
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.
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.
int BLI_listbase_count | ( | const ListBase * | listbase | ) |
Definition at line 492 of file listbase.c.
References count, ListBase::first, and Link::next.
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.
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().
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).
step | Absolute value defines step size, sign defines direction. E.g pass -1 to move vlink before previous, or 1 to move behind next. |
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().
Move the link at the index from to the position at index to.
Definition at line 436 of file listbase.c.
References BLI_findlink(), BLI_listbase_link_move(), and from.
Definition at line 797 of file listbase.c.
References ListBase::first, ListBase::last, Link::next, next, NULL, blender::meshintersect::prev(), and Link::prev.
Referenced by BM_edgeloop_flip(), gpencil_stroke_perimeter_ex(), lineart_chain_connect(), MOD_lineart_smooth_chains(), TEST(), and testbuffer_run_tests().
Definition at line 816 of file listbase.c.
References ListBase::first, ListBase::last, and NULL.
Definition at line 829 of file listbase.c.
References ListBase::first, ListBase::last, and NULL.
Definition at line 281 of file listbase.c.
References ListBase::first, ListBase::last, and listbase_double_from_single().
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().
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.
Definition at line 133 of file listbase.c.
References ListBase::first, ListBase::last, Link::next, Link::prev, and SWAP.
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.
Definition at line 23 of file listbase.c.
References ListBase::first, ListBase::last, NULL, and src.
Definition at line 41 of file listbase.c.
References ListBase::first, ListBase::last, NULL, and src.
Removes the head from listbase and returns it.
Definition at line 221 of file listbase.c.
References BLI_remlink(), and ListBase::first.
Referenced by apply_dash_for_frame(), BKE_blendfile_write_partial(), BKE_displist_free(), BKE_gpencil_stroke_sample(), BKE_key_free_nolib(), BKE_movieclip_free_gputexture(), BKE_object_free_modifiers(), BKE_object_free_particlesystems(), BKE_object_free_shaderfx(), BKE_ptcache_free_list(), BKE_studiolight_free(), BKE_undosys_type_free_all(), blf_glyph_cache_clear(), blf_glyph_cache_free(), BLO_memfile_free(), BM_mesh_edgeloops_free(), bm_uuidwalk_facestep_end(), CTX_store_free_list(), do_version_free_effects_245(), EDBM_select_interior_faces(), edbm_select_similar_region_exec(), freeMetaElemlist(), get_best_nearest_fcurve_vert(), gpu_batch_presets_exit(), gpu_node_graph_free_nodes(), lineart_chain_connect(), lineart_give_segment(), lineart_give_shadow_segment(), lineart_list_pop_pointer_no_free(), lineart_main_free_adjacent_data(), lineart_mem_destroy(), MOD_lineart_chain_clip_at_border(), MOD_lineart_chain_connect(), MOD_lineart_chain_split_angle(), MOD_lineart_chain_split_for_fixed_occlusion(), OVERLAY_image_free_movieclips_textures(), shapekey_free_data(), UI_block_free(), UI_blocklist_free(), wm_close_and_free(), WM_drag_free_list(), wm_event_do_notifiers(), wm_event_free_all(), WM_event_remove_handlers(), wm_main_playanim_intern(), WM_operator_stack_clear(), wm_xr_session_controller_data_free(), and wm_xr_session_surface_free_data().
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().
Removes vlink from listbase. Assumes it is linked into there!
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().
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().
Definition at line 519 of file listbase.c.
References ListBase::last, NULL, and Link::prev.
Definition at line 659 of file listbase.c.
References ListBase::last, NULL, offset, Link::prev, and ptr.
Definition at line 590 of file listbase.c.
References ListBase::last, NULL, offset, Link::prev, and STREQ.
Definition at line 624 of file listbase.c.
References ListBase::last, NULL, offset, Link::prev, and STREQ.
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().