74 for (
int i = 0; i < tse_group->
size; i++) {
75 if (tse_group->
elems[i] == elem) {
76 memcpy(tse_group->
elems[i],
77 tse_group->
elems[i + 1],
118 return tse_a->
type != tse_b->
type || tse_a->
nr != tse_b->
nr || tse_a->
id != tse_b->
id;
183 if (group->
size <= 1) {
197 tse_template.
id =
id;
220 for (
int i = 0; i <
size; i++, offset++) {
221 if (offset >=
size) {
227 return group->
elems[offset];
GHash * BLI_ghash_new_ex(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info, const unsigned int nentries_reserve) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
unsigned int BLI_ghashutil_ptrhash(const void *key)
BLI_INLINE void * BLI_ghashIterator_getValue(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
#define GHASH_ITER(gh_iter_, ghash_)
void BLI_ghash_clear_ex(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp, const unsigned int nentries_reserve)
bool BLI_ghash_remove(GHash *gh, const void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
bool BLI_ghash_ensure_p(GHash *gh, void *key, void ***r_val) ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_lookup(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
void BLI_mempool_iternew(BLI_mempool *pool, BLI_mempool_iter *iter) ATTR_NONNULL()
void * BLI_mempool_iterstep(BLI_mempool_iter *iter) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
int BLI_mempool_len(BLI_mempool *pool) ATTR_NONNULL(1)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
#define MEM_reallocN(vmemh, len)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
static void tse_group_free(TseGroup *tse_group)
static void tse_group_add_element(TseGroup *tse_group, TreeStoreElem *elem)
static unsigned int tse_hash(const void *ptr)
static TseGroup * BKE_outliner_treehash_lookup_group(GHash *th, short type, short nr, struct ID *id)
void BKE_outliner_treehash_clear_used(void *treehash)
static TseGroup * tse_group_create(void)
void * BKE_outliner_treehash_create_from_treestore(BLI_mempool *treestore)
static void free_treehash_group(void *key)
TreeStoreElem * BKE_outliner_treehash_lookup_unused(void *treehash, short type, short nr, struct ID *id)
static void tse_group_remove_element(TseGroup *tse_group, TreeStoreElem *elem)
static bool tse_cmp(const void *a, const void *b)
void * BKE_outliner_treehash_rebuild_from_treestore(void *treehash, BLI_mempool *treestore)
void BKE_outliner_treehash_free(void *treehash)
TreeStoreElem * BKE_outliner_treehash_lookup_any(void *treehash, short type, short nr, struct ID *id)
static void fill_treehash(void *treehash, BLI_mempool *treestore)
void BKE_outliner_treehash_add_element(void *treehash, TreeStoreElem *elem)
void BKE_outliner_treehash_remove_element(void *treehash, TreeStoreElem *elem)