BlenderDev/DynamicList

Wikipedia,自由的百科全书

代码:

/*========================================*/

/* Access list using realloc */

/*========================================*/

typedef struct DynamicArray{

 unsigned int count;
 unsigned int max_item_index;
 unsigned int last_item_index;
 void **items;

} DynamicArray;


/*========================================*/

/* Two way dynamic list with access array */

/*========================================*/

typedef struct DynamicList {

 struct DynamicArray da;
 struct ListBase lb;

} DynamicList;



操作函数


代码:

DynamicList *BLI_dlist_from_listbase(ListBase *lb);

ListBase *BLI_listbase_from_dlist(DynamicList *dlist, ListBase *lb);

void BLI_dlist_find_link(struct DynamicList *dlist, unsigned int index);

void BLI_dlist_free_item(DynamicList *dlist, unsigned int index);

void BLI_dlist_rem_item(DynamicList *dlist, unsigned int index);

void *BLI_dlist_add_item_index(DynamicList *dlist,void *item,unsigned int index);

void BLI_dlist_destroy(DynamicList *dlist);

void BLI_dlist_init(DynamicList *dlist);



详细信息:

http://mediawiki.blender.org/index.php/BlenderDev/DynamicListWithAccessArray

Personal tools