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

📄 cache_hash_t.h

📁 ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识
💻 H
字号:
/* -*- c++ -*- */// $Id: Cache_Hash_T.h 53169 2003-11-01 11:15:26Z dhinton $#ifndef JAWS_CACHE_HASH_T_H#define JAWS_CACHE_HASH_T_H#include "JAWS/Cache_Object.h"// Forward declarationtemplate <class EXT_ID, class INT_ID, class EQ_FUNC>class JAWS_Hash_Bucket_Manager;template <class EXT_ID, class HASH_FUNC, class EQ_FUNC>class JAWS_Cache_Hash{public:  typedef JAWS_Hash_Bucket_Manager<EXT_ID, JAWS_Cache_Object *, EQ_FUNC>          CACHE_BUCKET_MANAGER;  JAWS_Cache_Hash (ACE_Allocator *alloc = 0, size_t size = 521);  // 521 == smallest number > 512 that is prime.  Why is a prime  // number important?  I am trying to maximize scattering when using  // mod on the hashed value.  This might be bogus though.  virtual ~JAWS_Cache_Hash (void);  int find (const EXT_ID &ext_id) const;  int find (const EXT_ID &ext_id, JAWS_Cache_Object *&int_id) const;  int bind (const EXT_ID &ext_id, JAWS_Cache_Object *const &int_id);  int trybind (const EXT_ID &ext_id, JAWS_Cache_Object *&int_id);  int rebind (const EXT_ID &ext_id, JAWS_Cache_Object *const &int_id,	      EXT_ID &old_ext_id, JAWS_Cache_Object *&old_int_id);  int unbind (const EXT_ID &ext_id);  int unbind (const EXT_ID &ext_id, JAWS_Cache_Object *&int_id);  size_t size (void) const;protected:  virtual unsigned long hash (const EXT_ID &ext_id) const;  int isprime (unsigned long number) const;  int new_cachebucket (size_t idx);private:  ACE_Allocator *allocator_;  size_t size_;  ACE_SYNCH_MUTEX lock_;  CACHE_BUCKET_MANAGER **hashtable_;};#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)#include "JAWS/Cache_Hash_T.cpp"#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */#endif /* ACE_CACHE_HASH_T_H */

⌨️ 快捷键说明

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