亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hash.h

?? GUN開源阻止下的編譯器GCC
?? H
字號:
/* Hash tables for Objective C method dispatch.   Copyright (C) 1993, 1995 Free Software Foundation, Inc.This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU CC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING.  If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA.  *//* As a special exception, if you link this library with files   compiled with GCC to produce an executable, this does not cause   the resulting executable to be covered by the GNU General Public License.   This exception does not however invalidate any other reasons why   the executable file might be covered by the GNU General Public License.  */#ifndef __hash_INCLUDE_GNU#define __hash_INCLUDE_GNU#include <stddef.h>/* * This data structure is used to hold items *  stored in a hash table.  Each node holds  *  a key/value pair. * * Items in the cache are really of type void *. */typedef struct cache_node{  struct cache_node *next;	/* Pointer to next entry on the list.				   NULL indicates end of list. */  const void *key;		/* Key used to locate the value.  Used				   to locate value when more than one				   key computes the same hash				   value. */  void *value;			/* Value stored for the key. */} *node_ptr;/* * This data type is the function that computes a hash code given a key. * Therefore, the key can be a pointer to anything and the function specific * to the key type.  * * Unfortunately there is a mutual data structure reference problem with this * typedef.  Therefore, to remove compiler warnings the functions passed to * hash_new will have to be casted to this type.  */typedef unsigned int (*hash_func_type)(void *, const void *);/* * This data type is the function that compares two hash keys and returns an * integer greater than, equal to, or less than 0, according as the first * parameter is lexicographically greater than, equal to, or less than the * second.  */typedef int (*compare_func_type)(const void *, const void *);/* * This data structure is the cache. * * It must be passed to all of the hashing routines *   (except for new). */typedef struct cache{  /* Variables used to implement the hash itself.  */  node_ptr *node_table; /* Pointer to an array of hash nodes.  */  /* Variables used to track the size of the hash table so to determine    when to resize it.  */  unsigned int size; /* Number of buckets allocated for the hash table			(number of array entries allocated for			"node_table").  Must be a power of two.  */  unsigned int used; /* Current number of entries in the hash table.  */  unsigned int mask; /* Precomputed mask.  */  /* Variables used to implement indexing through the hash table.  */  unsigned int last_bucket; /* Tracks which entry in the array where			       the last value was returned.  */  /* Function used to compute a hash code given a key.      This function is specified when the hash table is created.  */  hash_func_type    hash_func;  /* Function used to compare two hash keys to see if they are equal.  */  compare_func_type compare_func;} *cache_ptr;/* Two important hash tables.  */extern cache_ptr module_hash_table, class_hash_table;/* Allocate and initialize a hash table.  */ cache_ptr hash_new (unsigned int size,		    hash_func_type hash_func,		    compare_func_type compare_func);                       /* Deallocate all of the hash nodes and the cache itself.  */void hash_delete (cache_ptr cache);/* Add the key/value pair to the hash table.  If the   hash table reaches a level of fullness then it will be resized.                                                       assert if the key is already in the hash.  */void hash_add (cache_ptr *cachep, const void *key, void *value);     /* Remove the key/value pair from the hash table.     assert if the key isn't in the table.  */void hash_remove (cache_ptr cache, const void *key);/* Used to index through the hash table.  Start with NULL   to get the first entry.                                                     Successive calls pass the value returned previously.   ** Don't modify the hash during this operation ***                                                      Cache nodes are returned such that key or value can   be extracted.  */node_ptr hash_next (cache_ptr cache, node_ptr node);/* Used to return a value from a hash table using a given key.  */void *hash_value_for_key (cache_ptr cache, const void *key);/************************************************        Useful hashing functions.                  Declared inline for your pleasure.        ************************************************//* Calculate a hash code by performing some    manipulation of the key pointer.  (Use the lowest bits   except for those likely to be 0 due to alignment.)  */static inline unsigned inthash_ptr (cache_ptr cache, const void *key){  return ((size_t)key / sizeof (void *)) & cache->mask;}/* Calculate a hash code by iterating over a NULL    terminate string.  */static inline unsigned int hash_string (cache_ptr cache, const void *key){  unsigned int ret = 0;  unsigned int ctr = 0;                  while (*(char*)key) {    ret ^= *(char*)key++ << ctr;    ctr = (ctr + 1) % sizeof (void *);  }  return ret & cache->mask;}/* Compare two pointers for equality.  */static inline int compare_ptrs (const void *k1, const void *k2){  return !(k1 - k2);}/* Compare two strings.  */static inline int compare_strings (const void *k1, const void *k2){  if (k1 == k2)    return 1;  else if (k1 == 0 || k2 == 0)    return 0;  else    return !strcmp (k1, k2);}#endif /* not __hash_INCLUDE_GNU */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线观看视频| 日本一区二区电影| 亚洲午夜免费福利视频| 一本大道av伊人久久综合| 亚洲欧美成人一区二区三区| 99re热这里只有精品视频| 亚洲欧美成人一区二区三区| 欧美性猛交xxxxxx富婆| 日韩精品亚洲一区二区三区免费| 日韩欧美在线影院| 国产成人精品免费视频网站| 亚洲欧洲精品成人久久奇米网| 欧洲国产伦久久久久久久| 日韩av一区二区三区四区| 欧美大片拔萝卜| 不卡的av在线| 午夜久久久久久久久久一区二区| 欧美成人bangbros| 成人久久久精品乱码一区二区三区 | 韩国av一区二区三区在线观看| 日韩欧美黄色影院| 成人国产精品免费网站| 亚洲一区二区av在线| 欧美一区二区三区免费观看视频| 国产精品1区2区| 亚洲一二三区不卡| 精品久久久久香蕉网| 99精品久久只有精品| 青娱乐精品视频在线| 中文字幕不卡在线观看| 欧美美女激情18p| 国产成人在线影院 | 91久久精品日日躁夜夜躁欧美| 亚洲va欧美va天堂v国产综合| 久久人人超碰精品| 欧美揉bbbbb揉bbbbb| 国产电影一区在线| 日韩高清不卡一区二区三区| 午夜影院久久久| 国产亲近乱来精品视频| 911精品国产一区二区在线| 岛国精品在线播放| 日本在线不卡一区| 亚洲欧美日韩成人高清在线一区| 日韩欧美国产麻豆| 欧美性大战xxxxx久久久| 国产白丝网站精品污在线入口| 亚洲成人黄色小说| 亚洲欧美区自拍先锋| 久久综合精品国产一区二区三区| 欧美视频你懂的| 99国产精品久久久| 国产成人免费xxxxxxxx| 蜜臀a∨国产成人精品| 亚洲综合小说图片| 国产精品免费久久久久| 26uuu成人网一区二区三区| 在线播放亚洲一区| 在线视频国内一区二区| 99久久综合99久久综合网站| 精品亚洲免费视频| 麻豆91在线看| 日韩av高清在线观看| 午夜国产不卡在线观看视频| 亚洲美女精品一区| 亚洲摸摸操操av| 国产精品成人免费精品自在线观看 | 另类成人小视频在线| 亚洲gay无套男同| 亚洲综合久久久久| 亚洲精品国产第一综合99久久| 中文字幕在线不卡| 中文字幕在线免费不卡| 国产精品久久久久久久久晋中 | www.亚洲人| 成人永久免费视频| 国产精品66部| 国产a区久久久| 成人午夜视频福利| 成人免费黄色大片| 97久久超碰国产精品电影| 成人h精品动漫一区二区三区| 成人永久免费视频| 成人av动漫网站| 91亚洲永久精品| 91麻豆国产精品久久| 91精品福利视频| 精品视频123区在线观看| 欧美日韩国产首页| 日韩欧美国产小视频| 久久综合九色欧美综合狠狠| 国产欧美日韩三区| 国产精品久久久久久妇女6080| 亚洲色欲色欲www| 亚洲电影第三页| 美女视频黄a大片欧美| 国产一区二三区| 成人激情电影免费在线观看| 91丝袜国产在线播放| 欧美日韩夫妻久久| 精品国产一区二区三区不卡| 国产精品天美传媒| 亚洲一级二级在线| 精品一区二区三区免费视频| 国产91精品在线观看| 91福利精品视频| 欧美一级一区二区| 国产精品卡一卡二| 三级一区在线视频先锋| 国产精品一二三四五| 一本大道久久a久久精品综合| 中文字幕亚洲区| 免费在线观看日韩欧美| 国产盗摄精品一区二区三区在线| 91视频在线观看| 欧美一区二区三区免费大片 | a亚洲天堂av| 欧美人妖巨大在线| 国产欧美一区二区精品性色超碰| 一区二区三区在线视频观看58| 美女免费视频一区| 色哟哟一区二区| 精品99久久久久久| 亚洲最色的网站| 国产精品2024| 欧美精品777| 自拍偷拍亚洲欧美日韩| 久久精品免费看| 欧美性大战久久久| 国产精品久久午夜| 激情五月播播久久久精品| 欧美综合欧美视频| 国产精品视频观看| 美美哒免费高清在线观看视频一区二区| 丁香六月综合激情| 欧美不卡一二三| 视频一区视频二区中文字幕| 波多野洁衣一区| 久久久久久免费网| 免费精品视频在线| 欧美视频中文字幕| 日韩毛片一二三区| 成人在线综合网| 欧美精品一区二区三区蜜臀| 日韩精品福利网| 欧美日韩一区二区不卡| 亚洲摸摸操操av| 99精品视频免费在线观看| 国产婷婷一区二区| 激情五月婷婷综合| 欧美成人综合网站| 免费成人av在线播放| 欧美午夜精品理论片a级按摩| 中文字幕av一区二区三区| 狠狠色综合播放一区二区| 91精品欧美一区二区三区综合在| 亚洲午夜久久久久| 欧美亚男人的天堂| 一区二区三区在线免费| 91亚洲精品久久久蜜桃| 最新久久zyz资源站| 成人动漫中文字幕| 亚洲欧洲另类国产综合| 99久久婷婷国产综合精品电影| 中文字幕欧美区| 成人黄动漫网站免费app| 国产精品婷婷午夜在线观看| 粉嫩13p一区二区三区| 中文一区在线播放| 97久久精品人人爽人人爽蜜臀| 国产精品毛片无遮挡高清| 成人黄色国产精品网站大全在线免费观看 | 国产精品久久久久久久久晋中| 国产精品香蕉一区二区三区| 精品少妇一区二区三区日产乱码| 久久国产精品99久久久久久老狼 | 狠狠色丁香久久婷婷综| 精品少妇一区二区三区免费观看| 美女脱光内衣内裤视频久久网站| 日韩欧美在线123| 国产一区激情在线| 欧美国产一区视频在线观看| 99精品欧美一区二区蜜桃免费| 亚洲黄一区二区三区| 欧美日韩国产a| 久久精品国产亚洲5555| 久久精品一区二区三区四区| 成人免费视频国产在线观看| 亚洲精品亚洲人成人网| 欧美精品在线一区二区三区| 精品一区二区三区视频在线观看| 欧美国产日韩在线观看| 日本电影亚洲天堂一区| 日本亚洲欧美天堂免费| 国产日韩欧美在线一区| 欧洲一区二区三区免费视频| 奇米精品一区二区三区四区| 国产日产欧产精品推荐色| 91九色02白丝porn| 精品一二线国产|