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

📄 index.h

📁 OTP是开放电信平台的简称
💻 H
字号:
/* ``The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in * compliance with the License. You should have received a copy of the * Erlang Public License along with this software. If not, it can be * retrieved via the world wide web at http://www.erlang.org/. *  * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. *  * The Initial Developer of the Original Code is Ericsson Utvecklings AB. * Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings * AB. All Rights Reserved.'' *  *     $Id$ *//*** General hash and index functions** The idea behind this file was to capture the** way Atom,Export and Module table was implemented*/#ifndef __INDEX_H__#define __INDEX_H__#ifndef __HASH_H__#include "hash.h"#endiftypedef struct index_slot {    HashBucket bucket;    int index;} IndexSlot;typedef struct index_table{    Hash htable;		/* Mapping obj -> index */    ErtsAlcType_t type;    int size;			/* Allocated size */    int limit;			/* Max size */    int entries;		/* Number of entries */    IndexSlot*** seg_table;	/* Mapping index -> obj */} IndexTable;#define INDEX_PAGE_SHIFT 10#define INDEX_PAGE_SIZE (1 << INDEX_PAGE_SHIFT)#define INDEX_PAGE_MASK ((1 << INDEX_PAGE_SHIFT)-1)IndexTable *erts_index_init(ErtsAlcType_t,IndexTable*,char*,int,int,HashFunctions);void index_info(int, void *, IndexTable*);int index_table_sz(IndexTable *);int index_get(IndexTable*, void*);int index_put(IndexTable*, void*);void erts_index_merge(Hash*, IndexTable*);ERTS_GLB_INLINE IndexSlot* erts_index_lookup(IndexTable*, Uint);#if ERTS_GLB_INLINE_INCL_FUNC_DEFERTS_GLB_INLINE IndexSlot*erts_index_lookup(IndexTable* t, Uint ix){    return t->seg_table[ix>>INDEX_PAGE_SHIFT][ix&INDEX_PAGE_MASK];}#endif#endif

⌨️ 快捷键说明

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