Copyright | (C) 2015, Yu Fukuzawa |
---|---|
License | BSD3 |
Maintainer | minpou.primer@email.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- data HashTable m k v
- type MonadHash m = (MonadBase (BaseEff m) m, MHash (BaseEff m))
- class (Eq k, Hashable k) => HashKey k
- new :: MonadHash m => m (HashTable (BaseEff m) k v)
- newSized :: MonadHash m => Int -> m (HashTable (BaseEff m) k v)
- delete :: (HashKey k, MonadHash m) => HashTable (BaseEff m) k v -> k -> m ()
- fromList :: (HashKey k, MonadHash m) => [(k, v)] -> m (HashTable (BaseEff m) k v)
- toList :: (HashKey k, MonadHash m) => HashTable (BaseEff m) k v -> m [(k, v)]
Documentation
A mutable hashtable.
There are two basic operation exported from the Control.Imperative module.
ref
- O(1). lookup the value of a hashtable at the given key.
assign
- O(1). insert the value at the given key.
Types
type MonadHash m = (MonadBase (BaseEff m) m, MHash (BaseEff m)) Source
Useful constraint synonym for hashtable operations.
Operations
new :: MonadHash m => m (HashTable (BaseEff m) k v) Source
O(1). Create an empty hashtable with a given size.
newSized :: MonadHash m => Int -> m (HashTable (BaseEff m) k v) Source
O(1). Create an empty hashtable with a given size.
delete :: (HashKey k, MonadHash m) => HashTable (BaseEff m) k v -> k -> m () Source
O(n) worst case, O(1) amortized. Delete key-value mapping in a hashtable.