97 struct IDRemapper *mappings,
101 struct IDRemapper *mappings,
125 bool do_flag_never_null,
146 struct IDRemapper *id_remapper,
234 struct ID **r_id_ptr,
246 struct ID **r_id_ptr,
257 const struct ID *id_self);
void(* BKE_library_remap_editor_id_reference_cb)(const struct IDRemapper *mappings)
void BKE_library_callback_remap_editor_id_reference_set(BKE_library_remap_editor_id_reference_cb func)
void(* BKE_library_free_notifier_reference_cb)(const void *)
IDRemapperApplyResult BKE_id_remapper_apply_ex(const struct IDRemapper *id_remapper, struct ID **r_id_ptr, IDRemapperApplyOptions options, struct ID *id_self)
@ ID_REMAP_SKIP_USER_CLEAR
@ ID_REMAP_FORCE_INTERNAL_RUNTIME_POINTERS
@ ID_REMAP_SKIP_OVERRIDE_LIBRARY
@ ID_REMAP_FORCE_USER_REFCOUNT
@ ID_REMAP_SKIP_NEVER_NULL_USAGE
@ ID_REMAP_FLAG_NEVER_NULL_USAGE
@ ID_REMAP_FORCE_OBDATA_IN_EDITMODE
@ ID_REMAP_SKIP_INDIRECT_USAGE
@ ID_REMAP_FORCE_NEVER_NULL_USAGE
void BKE_libblock_remap_multiple_locked(struct Main *bmain, struct IDRemapper *mappings, short remap_flags)
@ ID_REMAP_RESULT_SOURCE_REMAPPED
@ ID_REMAP_RESULT_SOURCE_UNASSIGNED
@ ID_REMAP_RESULT_SOURCE_NOT_MAPPABLE
@ ID_REMAP_RESULT_SOURCE_UNAVAILABLE
bool BKE_id_remapper_has_mapping_for(const struct IDRemapper *id_remapper, uint64_t type_filter)
IDRemapperApplyResult BKE_id_remapper_get_mapping_result(const struct IDRemapper *id_remapper, struct ID *id, IDRemapperApplyOptions options, const struct ID *id_self)
void void BKE_libblock_remap(struct Main *bmain, void *old_idv, void *new_idv, short remap_flags) ATTR_NONNULL(1
void BKE_id_remapper_add(struct IDRemapper *id_remapper, struct ID *old_id, struct ID *new_id)
void BKE_id_remapper_clear(struct IDRemapper *id_remapper)
@ ID_REMAP_APPLY_UPDATE_REFCOUNT
@ ID_REMAP_APPLY_UNMAP_WHEN_REMAPPING_TO_SELF
@ ID_REMAP_APPLY_ENSURE_REAL
void BKE_library_callback_free_notifier_reference_set(BKE_library_free_notifier_reference_cb func)
void(* IDRemapperIterFunction)(struct ID *old_id, struct ID *new_id, void *user_data)
const char * BKE_id_remapper_result_string(const IDRemapperApplyResult result)
void void void BKE_libblock_unlink(struct Main *bmain, void *idv, bool do_flag_never_null, bool do_skip_indirect) ATTR_NONNULL()
void BKE_libblock_relink_to_newid(struct Main *bmain, struct ID *id, int remap_flag) ATTR_NONNULL()
void BKE_id_remapper_print(const struct IDRemapper *id_remapper)
void BKE_libblock_remap_locked(struct Main *bmain, void *old_idv, void *new_idv, short remap_flags) ATTR_NONNULL(1
void BKE_libblock_relink_ex(struct Main *bmain, void *idv, void *old_idv, void *new_idv, short remap_flags) ATTR_NONNULL(1
IDRemapperApplyResult BKE_id_remapper_apply(const struct IDRemapper *id_remapper, struct ID **r_id_ptr, IDRemapperApplyOptions options)
bool BKE_id_remapper_is_empty(const struct IDRemapper *id_remapper)
struct IDRemapper * BKE_id_remapper_create(void)
void BKE_id_remapper_iter(const struct IDRemapper *id_remapper, IDRemapperIterFunction func, void *user_data)
void BKE_id_remapper_free(struct IDRemapper *id_remapper)
void void BKE_libblock_relink_multiple(struct Main *bmain, struct LinkNode *ids, eIDRemapType remap_type, struct IDRemapper *id_remapper, short remap_flags)
void BKE_libblock_remap_multiple(struct Main *bmain, struct IDRemapper *mappings, short remap_flags)
#define ATTR_NONNULL(...)
CCL_NAMESPACE_BEGIN struct Options options
SyclQueue void void size_t num_bytes void
unsigned __int64 uint64_t