node.h

来自「cache库 别人写的」· C头文件 代码 · 共 49 行

H
49
字号
/********************************************************************
	created:	2008/01/23
	filename: 	node.h
	author:		Lichuang
                
	purpose:    
*********************************************************************/

#ifndef __NODE_H__
#define __NODE_H__

#include "ccache.h"

#ifndef USE_LIST
enum color_t
{
    RED,
    BLACK
};
#endif

typedef struct node_t
{
    int index;
    int hashindex;
    int keysize;
    int datasize;
    int lrunext, lruprev;

#ifdef USE_LIST
    int next, prev;
#else    
    color_t color;
    int parent, left, right;
#endif

    char end[0];
}node_t;

int getfreenode(cache_t* cache, comfun cmp, delfun fun);

#define NODE_KEY(node)      ((char*)&((node)->end[0]))
#define NODE_DATA(node)     ((char*)&((node)->end[0]) + (node)->keysize)

#define NODE(cache, index)  (node_t*)((char*)&((cache)->data[0]) + (cache)->hashitemtolsize + (cache)->nodesize * (index)) 

#endif /* __NODE_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?