143 const int remap_flags);
147 const int remap_flags);
160 const int remap_flags);
283 bool allow_idtype_mismatch =
false;
289 never_null_users_.
clear();
300 return (source_types_ & filter) != 0;
304 void add(
ID *old_id,
ID *new_id);
306 void add_overwrite(
ID *old_id,
ID *new_id);
311 const ID *id_self)
const;
323 ID *id_self =
nullptr)
const;
327 never_null_users_.
add(
id);
332 return never_null_users_;
338 for (
auto item : mappings_.
items()) {
339 func(item.key, item.value);
void BKE_libblock_remap_multiple_raw(Main *bmain, blender::bke::id::IDRemapper &mappings, const int remap_flags)
void BKE_libblock_remap_multiple_locked(Main *bmain, blender::bke::id::IDRemapper &mappings, const int remap_flags)
void BKE_library_callback_remap_editor_id_reference_set(BKE_library_remap_editor_id_reference_cb func)
void(*)(const blender::bke::id::IDRemapper &mappings) BKE_library_remap_editor_id_reference_cb
@ ID_REMAP_SKIP_USER_CLEAR
@ ID_REMAP_SKIP_USER_REFCOUNT
@ ID_REMAP_FORCE_INTERNAL_RUNTIME_POINTERS
@ ID_REMAP_SKIP_OVERRIDE_LIBRARY
@ ID_REMAP_FORCE_USER_REFCOUNT
@ ID_REMAP_SKIP_NEVER_NULL_USAGE
@ ID_REMAP_DO_LIBRARY_POINTERS
@ ID_REMAP_FORCE_OBDATA_IN_EDITMODE
@ ID_REMAP_FORCE_UI_POINTERS
@ ID_REMAP_SKIP_INDIRECT_USAGE
@ ID_REMAP_FORCE_NEVER_NULL_USAGE
@ ID_REMAP_STORE_NEVER_NULL_USAGE
@ ID_REMAP_ALLOW_IDTYPE_MISMATCH
@ ID_REMAP_SKIP_UPDATE_TAGGING
@ ID_REMAP_NO_ORIG_POINTERS_ACCESS
void BKE_libblock_relink_to_newid(Main *bmain, ID *id, int remap_flag) ATTR_NONNULL()
@ ID_REMAP_RESULT_SOURCE_REMAPPED
@ ID_REMAP_RESULT_SOURCE_UNASSIGNED
@ ID_REMAP_RESULT_SOURCE_NOT_MAPPABLE
@ ID_REMAP_RESULT_SOURCE_UNAVAILABLE
void BKE_libblock_relink_multiple(Main *bmain, const blender::Span< ID * > ids, eIDRemapType remap_type, blender::bke::id::IDRemapper &id_remapper, int remap_flags)
@ 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 BKE_libblock_remap_multiple(Main *bmain, blender::bke::id::IDRemapper &mappings, const int remap_flags)
void void void BKE_libblock_unlink(Main *bmain, void *idv, bool do_skip_indirect) ATTR_NONNULL()
void(*)(const void *) BKE_library_free_notifier_reference_cb
void BKE_libblock_remap_locked(Main *bmain, void *old_idv, void *new_idv, int remap_flags) ATTR_NONNULL(1
void BKE_libblock_relink_ex(Main *bmain, void *idv, void *old_idv, void *new_idv, int remap_flags) ATTR_NONNULL(2)
void void BKE_libblock_remap(Main *bmain, void *old_idv, void *new_idv, int remap_flags) ATTR_NONNULL(1
void(*)(ID *old_id, ID *new_id, void *user_data) IDRemapperIterFunction
#define ATTR_NONNULL(...)
#define ENUM_OPERATORS(_type, _max)
ItemIterator items() const
void iter(FunctionRef< void(ID *old_id, ID *new_id)> func) const
void never_null_users_add(ID *id)
bool contains_mappings_for_any(IDTypeFilter filter) const
const Set< ID * > & never_null_users() const
CCL_NAMESPACE_BEGIN struct Options options
static void add(blender::Map< std::string, std::string > &messages, Message &msg)
unsigned __int64 uint64_t