70 return &
id_map->type_maps[i];
78 const bool create_valid_ids_set,
79 struct Main *old_bmain,
115 if (create_valid_ids_set) {
117 if (old_bmain !=
NULL) {
139 key->
name =
id->name + 2;
226 key->
name =
id->name + 2;
short BKE_idtype_idcode_iter_step(int *index)
#define MAIN_ID_SESSION_UUID_UNSET
#define FOREACH_MAIN_ID_END
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
struct ListBase * which_libbase(struct Main *bmain, short type)
struct GSet * BKE_main_gset_create(struct Main *bmain, struct GSet *gset)
bool BLI_gset_haskey(const GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
unsigned int BLI_ghashutil_ptrhash(const void *key)
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
GHash * BLI_ghash_int_new(const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_lookup(const GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
bool BLI_ghash_remove(GHash *gh, const void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
#define BLI_ghashutil_strhash(key)
void BLI_gset_free(GSet *gs, GSetKeyFreeFP keyfreefp)
bool BLI_ghash_ensure_p(GHash *gh, void *key, void ***r_val) ATTR_WARN_UNUSED_RESULT
BLI_mempool * BLI_mempool_create(unsigned int esize, unsigned int elem_num, unsigned int pchunk, unsigned int flag) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL
void * BLI_mempool_alloc(BLI_mempool *pool) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL ATTR_NONNULL(1)
void BLI_mempool_destroy(BLI_mempool *pool) ATTR_NONNULL(1)
#define UNUSED_VARS_NDEBUG(...)
#define POINTER_FROM_UINT(i)
ID and Library types, which are fundamental for sdna.
Read Guarded memory(de)allocation.
ID * BKE_main_idmap_lookup_uuid(struct IDNameLib_Map *id_map, const uint session_uuid)
void BKE_main_idmap_insert_id(struct IDNameLib_Map *id_map, ID *id)
static bool idkey_cmp(const void *a, const void *b)
void BKE_main_idmap_remove_id(struct IDNameLib_Map *id_map, ID *id)
void BKE_main_idmap_destroy(struct IDNameLib_Map *id_map)
struct Main * BKE_main_idmap_main_get(struct IDNameLib_Map *id_map)
ID * BKE_main_idmap_lookup_id(struct IDNameLib_Map *id_map, const ID *id)
ID * BKE_main_idmap_lookup_name(struct IDNameLib_Map *id_map, short id_type, const char *name, const Library *lib)
static struct IDNameLib_TypeMap * main_idmap_from_idcode(struct IDNameLib_Map *id_map, short id_type)
struct IDNameLib_Map * BKE_main_idmap_create(struct Main *bmain, const bool create_valid_ids_set, struct Main *old_bmain, const int idmap_types)
static unsigned int idkey_hash(const void *ptr)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
SocketIndexByIdentifierMap * map
BLI_mempool * type_maps_keys_pool
struct GSet * valid_id_pointers
struct IDNameLib_TypeMap type_maps[INDEX_ID_MAX]
unsigned int session_uuid