46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
"""
|
|
Auto-generated Python stub file from hashtable.py
|
|
Module: hashtable
|
|
"""
|
|
|
|
|
|
import t, c
|
|
import string
|
|
import memhub
|
|
from stdint import *
|
|
|
|
_HT_EMPTY: t.CDefine = 0
|
|
_HT_TOMBSTONE: t.CDefine = 1
|
|
_HT_INIT_CAP: t.CDefine = 16
|
|
_HT_SLOT_SIZE: t.CDefine = 24
|
|
_FNV_OFFSET: t.CExtern | t.CUInt64T
|
|
_FNV_PRIME: t.CExtern | t.CUInt64T
|
|
|
|
def _fnv1a_hash(key: str) -> t.CUInt64T: pass
|
|
|
|
|
|
class HashTable:
|
|
__slots__: t.CVoid | t.CPtr
|
|
__count__: t.CSizeT = 0
|
|
__capacity__: t.CSizeT = 16
|
|
__tombstones__: t.CSizeT = 0
|
|
__mbuddy__: memhub.MemBuddy | t.CPtr
|
|
__iter_index__: t.CSizeT = 0
|
|
def __new__(self: HashTable, mb: memhub.MemBuddy | t.CPtr) -> t.CPtr: pass
|
|
def __init__(self: HashTable, mb: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
|
def _slot_hash(self: HashTable, idx: t.CSizeT) -> t.CUInt64T: pass
|
|
def _slot_key(self: HashTable, idx: t.CSizeT) -> str: pass
|
|
def _slot_value(self: HashTable, idx: t.CSizeT) -> t.CPtr: pass
|
|
def _set_slot(self: HashTable, idx: t.CSizeT, h: t.CUInt64T, key: str, val: t.CPtr) -> t.CInt: pass
|
|
def _find_slot(self: HashTable, key: str, h: t.CUInt64T) -> t.CSizeT: pass
|
|
def _resize(self: HashTable, new_cap: t.CSizeT) -> t.CInt: pass
|
|
def __setitem__(self: HashTable, key: str, val: t.CNeedPtr) -> t.CInt: pass
|
|
def __getitem__(self: HashTable, key: str) -> t.CPtr: pass
|
|
def __contains__(self: HashTable, key: str) -> t.CInt: pass
|
|
def __delitem__(self: HashTable, key: str) -> t.CInt: pass
|
|
def __len__(self: HashTable) -> t.CSizeT: pass
|
|
def __iter__(self: HashTable) -> HashTable | t.CPtr: pass
|
|
def __next__(self: HashTable) -> str: pass
|
|
def get(self: HashTable, key: str, default: t.CPtr) -> t.CPtr: pass
|
|
def set_int(self: HashTable, key: str, val: int) -> t.CInt: pass
|
|
def set_str(self: HashTable, key: str, val: str) -> t.CInt: pass |