|
Blender
V2.93
|
#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) BLI_linklist_prepend_nlink(listp, ptr, alloca(sizeof(LinkNode))) |
| #define | BLI_linklist_append_alloca(list_pair, ptr) BLI_linklist_append_nlink(list_pair, ptr, alloca(sizeof(LinkNode))) |
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 | |||
| ) | BLI_linklist_append_nlink(list_pair, ptr, alloca(sizeof(LinkNode))) |
Definition at line 97 of file BLI_linklist.h.
| #define BLI_linklist_prepend_alloca | ( | listp, | |
| ptr | |||
| ) | BLI_linklist_prepend_nlink(listp, ptr, alloca(sizeof(LinkNode))) |
Definition at line 95 of file BLI_linklist.h.
| typedef void(* LinkNodeApplyFP) (void *link, void *userdata) |
Definition at line 36 of file BLI_linklist.h.
| typedef void(* LinkNodeFreeFP) (void *link) |
Definition at line 35 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 222 of file BLI_linklist.c.
References BLI_linklist_append_nlink(), MEM_mallocN, and ptr.
Referenced by BLI_file_read_as_lines(), bone_mouse_select_menu(), cloth_add_shear_bend_spring(), cmp_node_image_add_pass_output(), and object_mouse_select_menu().
| void BLI_linklist_append_arena | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| struct MemArena * | ma | ||
| ) |
Referenced by wm_link_append_data_item_add(), and wm_link_append_data_library_add().
| void void void BLI_linklist_append_nlink | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| LinkNode * | nlink | ||
| ) |
| void void BLI_linklist_append_pool | ( | LinkNodePair * | list_pair, |
| void * | ptr, | ||
| struct BLI_mempool * | mempool | ||
| ) |
| void BLI_linklist_apply | ( | LinkNode * | list, |
| LinkNodeApplyFP | applyfunc, | ||
| void * | userdata | ||
| ) |
Definition at line 321 of file BLI_linklist.c.
References LinkNode::link, and LinkNode::next.
| int BLI_linklist_count | ( | const LinkNode * | list | ) |
Definition at line 40 of file BLI_linklist.c.
References len, and LinkNode::next.
Referenced by bm_uuidwalk_pass_add(), collada_export(), drw_debug_draw_lines(), drw_debug_draw_spheres(), and filelist_readjob_list_lib().
Definition at line 64 of file BLI_linklist.c.
References LinkNode::next, and NULL.
Definition at line 77 of file BLI_linklist.c.
References LinkNode::next.
Referenced by mouse_mesh_uv_shortest_path_vert().
| void BLI_linklist_free | ( | LinkNode * | list, |
| LinkNodeFreeFP | freefunc | ||
| ) |
Definition at line 281 of file BLI_linklist.c.
References LinkNode::link, MEM_freeN, LinkNode::next, and next.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), bone_mouse_select_menu(), cloth_free_edgelist(), cloth_free_errorsprings(), cloth_free_modifier(), cloth_free_modifier_extern(), cmp_node_image_verify_outputs(), collada_export(), editbmesh_calc_modifiers(), IMB_thumb_load_blend(), lineart_gpencil_bake_common(), lineart_gpencil_bake_endjob(), make_links_data_exec(), mesh_calc_modifiers(), mouse_mesh_shortest_path_edge(), mouse_mesh_shortest_path_face(), mouse_mesh_shortest_path_vert(), mouse_mesh_uv_shortest_path_face(), mouse_mesh_uv_shortest_path_vert(), and object_mouse_select_menu().
| void BLI_linklist_free_pool | ( | LinkNode * | list, |
| LinkNodeFreeFP | freefunc, | ||
| struct BLI_mempool * | mempool | ||
| ) |
Definition at line 295 of file BLI_linklist.c.
References BLI_mempool_free(), LinkNode::link, LinkNode::next, and next.
Referenced by bm_edgenet_path_calc(), bm_edgenet_path_calc_best(), BM_mesh_edgenet(), bm_mesh_region_match_pair(), and bm_uuidwalk_init_from_edge().
| void BLI_linklist_freeN | ( | LinkNode * | list | ) |
Definition at line 309 of file BLI_linklist.c.
References LinkNode::link, MEM_freeN, LinkNode::next, and next.
Referenced by _bpy_names(), BLI_file_free_lines(), BLO_main_validate_libraries(), filelist_readjob_list_lib(), IMB_thumb_load_blend(), knifeproject_exec(), and ui_multibut_free().
| int BLI_linklist_index | ( | const LinkNode * | list, |
| void * | ptr | ||
| ) |
Definition at line 51 of file BLI_linklist.c.
References LinkNode::link, LinkNode::next, and ptr.
Referenced by bc_is_in_Export_set(), cmp_node_image_verify_outputs(), do_render_strip_uncached(), drw_select_filter_object_mode_lock_for_weight_paint(), ghash_insert_link(), intersect_line_tri(), and mouse_mesh_uv_shortest_path_vert().
| void void BLI_linklist_insert_after | ( | LinkNode ** | listp, |
| void * | ptr | ||
| ) |
Definition at line 264 of file BLI_linklist.c.
References LinkNode::link, MEM_mallocN, LinkNode::next, node, NULL, and ptr.
Referenced by mouse_mesh_uv_shortest_path_vert().
| 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. Note *listp may be modified.
Definition at line 107 of file BLI_linklist.c.
References LinkNode::next, and NULL.
Referenced by bookmark_move_exec().
| void void void* BLI_linklist_pop | ( | LinkNode ** | listp | ) |
Definition at line 240 of file BLI_linklist.c.
References MEM_freeN, and next.
Referenced by flatten_group_do(), gpu_free_unused_buffers(), menu_items_from_ui_create(), and node_group_ungroup().
| void* BLI_linklist_pop_pool | ( | LinkNode ** | listp, |
| struct BLI_mempool * | mempool | ||
| ) |
Referenced by 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 184 of file BLI_linklist.c.
References BLI_linklist_prepend_nlink(), MEM_mallocN, and ptr.
Referenced by BKE_object_groups(), BLO_blendhandle_get_datablock_info(), BLO_blendhandle_get_datablock_names(), BLO_blendhandle_get_linkable_groups(), BLO_blendhandle_get_previews(), BM_face_triangulate(), BM_mesh_calc_path_edge(), BM_mesh_calc_path_face(), 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(), flatten_group_do(), image_free_gpu(), knifeproject_poly_from_object(), lineart_gpencil_bake_common(), menu_items_from_ui_create(), menu_types_add_from_keymap_items(), mesh_calc_path_region_elem(), node_group_ungroup(), obrel_list_add(), and ui_multibut_add().
Referenced by BKE_library_make_local(), 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(), intersect_line_tri(), layer_bucket_init(), project_paint_bleed_add_face_user(), project_paint_delayed_face_init(), project_paint_face_init(), and smart_project_exec().
Referenced by BKE_library_make_local(), BKE_lnor_space_add_loop(), and BM_face_split_edgenet_connect_islands().
| void void BLI_linklist_prepend_pool | ( | LinkNode ** | listp, |
| void * | ptr, | ||
| struct BLI_mempool * | mempool | ||
| ) |
| void BLI_linklist_reverse | ( | LinkNode ** | listp | ) |
Definition at line 87 of file BLI_linklist.c.
Referenced by BKE_modifier_calc_data_masks(), bm_edgenet_path_calc(), and DRW_pass_sort_shgroup_reverse().
Definition at line 348 of file BLI_linklist.c.
References LinkNode::next.
| LinkNode* BLI_linklist_sort_r | ( | LinkNode * | list, |
| int(*)(void *, const void *, const void *) | cmp, | ||
| void * | thunk | ||
| ) |
Definition at line 356 of file BLI_linklist.c.
References LinkNode::next.