⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csegmenthashtable.h

📁 C/C++ 多任务下的数据结构与算法 (周伟明)华中科技大学出版社
💻 H
字号:
/*
 * Copyright (c) 2006-2008
 * Author: Weiming Zhou
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  
 */

/* 
 *	CSegmentHashtable.h
 *
 *	DESCRIPTION
 *		class for hashtable with segment locks  
 *
 *	HISTORY
 *		08-26-2008	create by zhouweiming.
 *
 */


#ifndef __CSEGMENTHASHTABLE_H__
#define __CSEGMENTHASHTABLE_H__


#include "CapiGlobal.h"
#include "CScopedLock.h"

class CSegmentHashTable {
PRIVATE:
    UINT         m_uBucketCount;
    UINT         m_uSegmentSize;
    UINT         m_uSegmentCount;
    int          m_nSegmentBits;

    CFastLock    *m_pLocks;
    SINGLENODE   **m_ppBucket;

    HASHFUNC     m_HashFunc;
    COMPAREFUNC  m_CompareFunc;
    DESTROYFUNC  m_DestroyFunc;
    COPYFUNC     m_CopyFunc;

    UINT         uReserved[6];  //Keep Cache Align

    inline UINT  GetSegment(UINT uBucketNo);
public:

    CSegmentHashTable(UINT uBucketCount, HASHFUNC Hash, 
        COMPAREFUNC Comp, DESTROYFUNC Destroy, COPYFUNC Copy);
    ~CSegmentHashTable();

    void *Find(void *pData);
    void Insert(void *pData);
    void Delete(void *pData);
};

#endif // __CSEGMENTHASHTABLE_H__

⌨️ 快捷键说明

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