码迷,mamicode.com
首页 > 其他好文 > 详细

宏HASH_DELETE

时间:2015-11-24 00:58:18      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

 

HASH_DELETE(buf_page_t, hash, buf_pool->page_hash, fold, bpage);

NAME 可理解为 void* next
/*******************************************************************//**
Deletes a struct from a hash table. */

#define HASH_DELETE(TYPE, NAME, TABLE, FOLD, DATA)do {    hash_cell_t*    cell3333;    TYPE*        struct3333;    HASH_ASSERT_OWNED(TABLE, FOLD)    cell3333 = hash_get_nth_cell(TABLE, hash_calc_hash(FOLD, TABLE));    if (cell3333->node == DATA) {        HASH_ASSERT_VALID(DATA->NAME);        cell3333->node = DATA->NAME;    } else {        struct3333 = (TYPE*) cell3333->node;        while (struct3333->NAME != DATA) {            struct3333 = (TYPE*) struct3333->NAME;            ut_a(struct3333);        }        struct3333->NAME = DATA->NAME;    }    HASH_INVALIDATE(DATA, NAME);} while (0)

 

宏HASH_DELETE

标签:

原文地址:http://www.cnblogs.com/taek/p/4990165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!