|
Blender V4.5
|
#include "BLI_compiler_attrs.h"Go to the source code of this file.
Classes | |
| struct | LinkNode |
| struct | LinkNodePair |
Macros | |
| #define | BLI_linklist_prepend_alloca(listp, ptr) |
| #define | BLI_linklist_append_alloca(list_pair, ptr) |
Typedefs | |
| typedef void(*) | LinkNodeFreeFP(void *link) |
| typedef void(*) | LinkNodeApplyFP(void *link, void *userdata) |
| typedef struct LinkNode | LinkNode |
| typedef struct LinkNodePair | LinkNodePair |
| #define BLI_linklist_append_alloca | ( | list_pair, | |
| ptr ) |
Definition at line 89 of file BLI_linklist.h.
| #define BLI_linklist_prepend_alloca | ( | listp, | |
| ptr ) |
Definition at line 87 of file BLI_linklist.h.
Referenced by bm_edgenet_path_check_overlap(), BM_face_exists_overlap(), BM_face_exists_overlap_subset(), bm_face_split_edgenet_partial_connect(), bm_mesh_loops_calc_normals_for_vert_with_clnors(), BM_vert_separate(), BM_vert_separate_hflag(), BM_vert_separate_tested_edges(), blender::ed::object::clear_override_library_exec(), ED_region_panels_layout_ex(), ED_region_property_search(), and view3d_gpu_select_ex().
| typedef struct LinkNode LinkNode |
| typedef void(*) LinkNodeApplyFP(void *link, void *userdata) |
Definition at line 17 of file BLI_linklist.h.
| typedef void(*) LinkNodeFreeFP(void *link) |
Definition at line 16 of file BLI_linklist.h.
| typedef struct LinkNodePair LinkNodePair |
Use for append (single linked list, storing the last element).
| void void void void BLI_linklist_append | ( | LinkNodePair * | list_pair, |
| void * | ptr ) |
Definition at line 196 of file BLI_linklist.cc.
References BLI_linklist_append(), BLI_linklist_append_nlink(), and MEM_mallocN().
Referenced by blender::meshintersect::add_edge_constraint(), BKE_lib_override_library_main_proxy_convert(), BLI_file_read_as_lines(), BLI_linklist_append(), BLI_linklist_append_nlink(), cloth_add_shear_bend_spring(), cmp_node_image_add_pass_output(), and lib_override_resync_tagging_finalize().
| void BLI_linklist_append_arena | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| struct MemArena * | ma ) |
References ATTR_NONNULL, and BLI_linklist_append_arena().
Referenced by BLI_linklist_append_arena(), BLI_linklist_append_arena(), and lib_override_group_tag_data_object_to_collection_init_collection_process().
| void void void BLI_linklist_append_nlink | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| LinkNode * | nlink ) |
A version of append that takes the allocated link.
References ATTR_NONNULL, BLI_linklist_append(), and BLI_linklist_append_nlink().
Referenced by BLI_linklist_append(), BLI_linklist_append_arena(), BLI_linklist_append_nlink(), BLI_linklist_append_nlink(), and BLI_linklist_append_pool().
| void void BLI_linklist_append_pool | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| struct BLI_mempool * | mempool ) |
References ATTR_NONNULL, ATTR_WARN_UNUSED_RESULT, BLI_linklist_append_pool(), and BLI_linklist_pop().
Referenced by BLI_linklist_append_pool(), and BLI_linklist_append_pool().
| void BLI_linklist_apply | ( | LinkNode * | list, |
| LinkNodeApplyFP | applyfunc, | ||
| void * | userdata ) |
Definition at line 295 of file BLI_linklist.cc.
References BLI_linklist_apply(), LinkNode::link, and LinkNode::next.
Referenced by BLI_linklist_apply(), and BLI_linklist_pop_pool().
| int BLI_linklist_count | ( | const LinkNode * | list | ) |
Definition at line 24 of file BLI_linklist.cc.
References BLI_linklist_count(), len(), and LinkNode::next.
Referenced by BLI_linklist_count(), bm_uidwalk_pass_add(), collada_export(), and filelist_readjob_list_lib().
Definition at line 48 of file BLI_linklist.cc.
References BLI_linklist_find(), i, and LinkNode::next.
Referenced by BLI_linklist_find().
Definition at line 61 of file BLI_linklist.cc.
References BLI_linklist_find_last(), and LinkNode::next.
Referenced by BLI_linklist_find_last().
| void BLI_linklist_free | ( | LinkNode * | list, |
| LinkNodeFreeFP | freefunc ) |
Definition at line 255 of file BLI_linklist.cc.
References BLI_linklist_free(), LinkNode::link, MEM_freeN(), and LinkNode::next.
Referenced by blender::meshintersect::add_face_constraints(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_lib_override_library_main_proxy_convert(), BLI_linklist_free(), BLI_linklist_pop_pool(), BLO_datablock_info_linklist_free(), cloth_free_edgelist(), cloth_free_errorsprings(), cloth_free_modifier(), cloth_free_modifier_extern(), cmp_node_image_verify_outputs(), collada_export(), ED_file_indexer_entries_clear(), blender::bke::editbmesh_calc_modifiers(), file_read_reports_finalize(), lib_override_library_main_resync_on_library_indirect_level(), blender::ed::object::make_links_data_exec(), blender::bke::mesh_calc_modifiers(), mouse_mesh_shortest_path_edge(), mouse_mesh_shortest_path_face(), mouse_mesh_shortest_path_vert(), mouse_mesh_uv_shortest_path_edge(), mouse_mesh_uv_shortest_path_face(), and mouse_mesh_uv_shortest_path_vert().
| void BLI_linklist_free_pool | ( | LinkNode * | list, |
| LinkNodeFreeFP | freefunc, | ||
| struct BLI_mempool * | mempool ) |
Definition at line 269 of file BLI_linklist.cc.
References BLI_linklist_free_pool(), BLI_mempool_free(), LinkNode::link, and LinkNode::next.
Referenced by BLI_linklist_free_pool(), BLI_linklist_pop_pool(), bm_edgenet_path_calc(), bm_edgenet_path_calc_best(), BM_mesh_edgenet(), bm_mesh_region_match_pair(), and bm_uidwalk_init_from_edge().
| void BLI_linklist_freeN | ( | LinkNode * | list | ) |
Definition at line 283 of file BLI_linklist.cc.
References BLI_linklist_freeN(), LinkNode::link, MEM_freeN(), and LinkNode::next.
Referenced by _bpy_names(), BLI_file_free_lines(), BLI_linklist_freeN(), BLI_linklist_pop_pool(), BLO_main_validate_libraries(), filelist_readjob_list_lib(), knifeproject_exec(), and ui_multibut_free().
| int BLI_linklist_index | ( | const LinkNode * | list, |
| const void * | ptr ) |
Definition at line 35 of file BLI_linklist.cc.
References BLI_linklist_index(), LinkNode::link, and LinkNode::next.
Referenced by bc_is_in_Export_set(), BLI_linklist_index(), cmp_node_image_verify_outputs(), blender::seq::do_render_strip_uncached(), drw_select_filter_object_mode_lock_for_weight_paint(), ghash_insert_link(), lib_override_library_main_resync_on_library_indirect_level(), and vert_dissolve_add().
| void void BLI_linklist_insert_after | ( | LinkNode ** | listp, |
| void * | ptr ) |
Definition at line 238 of file BLI_linklist.cc.
References BLI_linklist_insert_after(), LinkNode::link, MEM_callocN(), and LinkNode::next.
Referenced by BLI_linklist_insert_after(), and BLI_linklist_pop_pool().
| void BLI_linklist_move_item | ( | LinkNode ** | listp, |
| int | curr_index, | ||
| int | new_index ) |
Move an item from its current position to a new one inside a single-linked list.
Definition at line 87 of file BLI_linklist.cc.
References BLI_linklist_move_item(), i, and LinkNode::next.
Referenced by BLI_linklist_move_item(), and bookmark_move_exec().
| void void void * BLI_linklist_pop | ( | LinkNode ** | listp | ) |
Definition at line 214 of file BLI_linklist.cc.
References BLI_linklist_pop(), MEM_freeN(), and LinkNode::next.
Referenced by BLI_linklist_append_pool(), BLI_linklist_pop(), blender::draw::DRW_cache_free_old_subdiv(), flatten_group_do(), gpu_free_unused_buffers(), and blender::meshintersect::remove_outer_edges_until_constraints().
| void * BLI_linklist_pop_pool | ( | LinkNode ** | listp, |
| struct BLI_mempool * | mempool ) |
References ATTR_NONNULL, ATTR_WARN_UNUSED_RESULT, BLI_linklist_apply(), BLI_linklist_free(), BLI_linklist_free_pool(), BLI_linklist_freeN(), BLI_linklist_insert_after(), BLI_linklist_pop_pool(), BLI_linklist_sort(), and BLI_linklist_sort_r().
Referenced by BLI_linklist_pop_pool(), BLI_linklist_pop_pool(), bm_edgenet_edge_get_next(), bm_edgenet_path_calc(), and bm_edgenet_path_step().
| void void BLI_linklist_prepend | ( | LinkNode ** | listp, |
| void * | ptr ) |
Definition at line 161 of file BLI_linklist.cc.
References BLI_linklist_prepend(), BLI_linklist_prepend_nlink(), and MEM_mallocN().
Referenced by BKE_object_groups(), BLI_linklist_prepend(), BLI_linklist_prepend_nlink(), BLO_blendhandle_get_datablock_info(), BLO_blendhandle_get_datablock_names(), BLO_blendhandle_get_linkable_groups(), BM_face_triangulate(), BM_mesh_calc_path_edge(), BM_mesh_calc_path_face(), BM_mesh_calc_path_uv_edge(), BM_mesh_calc_path_uv_face(), BM_mesh_calc_path_uv_vert(), BM_mesh_calc_path_vert(), cloth_add_shear_bend_spring(), cloth_build_springs(), blender::draw::DRW_subdiv_cache_free(), ED_file_indexer_entries_extend_from_datablock_infos(), flatten_group_do(), image_free_gpu(), blender::ed::asset::index::init_indexer_entries_from_value(), knifeproject_poly_from_object(), lib_override_library_main_resync_on_library_indirect_level(), mesh_calc_path_region_elem(), mesh_calc_path_region_elem(), obrel_list_add(), blender::meshintersect::remove_outer_edges_until_constraints(), and ui_multibut_add().
References ATTR_NONNULL, and BLI_linklist_prepend_arena().
Referenced by BKE_library_make_local(), BLI_linklist_prepend_arena(), BLI_linklist_prepend_arena(), BM_face_split_edgenet_connect_islands(), BM_vert_loop_groups_data_layer_create(), do_projectpaint_smear(), do_projectpaint_smear_f(), do_projectpaint_soften(), do_projectpaint_soften_f(), layer_bucket_init(), project_paint_bleed_add_face_user(), project_paint_delayed_face_init(), project_paint_face_init(), smart_project_exec(), and vert_dissolve_add().
A version of BLI_linklist_prepend that takes the allocated link.
References ATTR_NONNULL, BLI_linklist_prepend(), and BLI_linklist_prepend_nlink().
Referenced by BKE_library_make_local(), BKE_lnor_space_add_loop(), BLI_linklist_prepend(), BLI_linklist_prepend_arena(), BLI_linklist_prepend_nlink(), BLI_linklist_prepend_nlink(), BLI_linklist_prepend_pool(), and BM_face_split_edgenet_connect_islands().
| void void BLI_linklist_prepend_pool | ( | LinkNode ** | listp, |
| void * | ptr, | ||
| struct BLI_mempool * | mempool ) |
References ATTR_NONNULL, and BLI_linklist_prepend_pool().
Referenced by BLI_linklist_prepend_pool(), BLI_linklist_prepend_pool(), bm_edgenet_path_calc(), bm_edgenet_path_from_pass(), bm_edgenet_path_step(), BM_mesh_edgenet(), bm_uidwalk_facestep_begin(), bm_uidwalk_init_from_edge(), and bm_uidwalk_pass_add().
| void BLI_linklist_reverse | ( | LinkNode ** | listp | ) |
Definition at line 71 of file BLI_linklist.cc.
References BLI_linklist_reverse(), and LinkNode::next.
Referenced by BKE_modifier_calc_data_masks(), BLI_linklist_reverse(), and bm_edgenet_path_calc().
Definition at line 322 of file BLI_linklist.cc.
References BLI_linklist_sort(), and LinkNode::next.
Referenced by BLI_linklist_pop_pool(), BLI_linklist_sort(), and bm_mesh_loops_calc_normals_for_vert_with_clnors().
| LinkNode * BLI_linklist_sort_r | ( | LinkNode * | list, |
| int(* | cmp )(void *, const void *, const void *), | ||
| void * | thunk ) |
Definition at line 330 of file BLI_linklist.cc.
References BLI_linklist_sort_r(), and LinkNode::next.
Referenced by BLI_linklist_pop_pool(), and BLI_linklist_sort_r().