Safe Haskell | None |
---|---|
Language | Haskell98 |
Database.Graph.HGraphStorage.Index
Description
- data Trie k v = Trie {}
- newTrie :: forall k v. (Binary k, Binary v, Default k, Default v) => Handle -> Trie k v
- newFileTrie :: forall k v. (Binary k, Binary v, Default k, Default v) => FilePath -> IO (Trie k v)
- insertNew :: (Binary k, Eq k, Default k, Binary v, Eq v, Default v) => [k] -> v -> Trie k v -> IO (Maybe v)
- insert :: (Binary k, Eq k, Default k, Binary v, Eq v, Default v) => [k] -> v -> Trie k v -> IO (Maybe v)
- lookup :: (Binary k, Eq k, Binary v, Eq v, Default v) => [k] -> Trie k v -> IO (Maybe v)
- prefix :: (Binary k, Eq k, Binary v, Eq v, Default v) => [k] -> Trie k v -> IO [([k], v)]
- delete :: forall k v. (Binary k, Eq k, Binary v, Eq v, Default v) => [k] -> Trie k v -> IO (Maybe v)
Documentation
Trie on disk
Constructors
Trie | |
Fields
|
newTrie :: forall k v. (Binary k, Binary v, Default k, Default v) => Handle -> Trie k v Source
Create a new trie with a given handle The limitations are: Key and Value must have a binary representation of constant length!
newFileTrie :: forall k v. (Binary k, Binary v, Default k, Default v) => FilePath -> IO (Trie k v) Source
Build a file backed trie
insertNew :: (Binary k, Eq k, Default k, Binary v, Eq v, Default v) => [k] -> v -> Trie k v -> IO (Maybe v) Source
Insert a value if it does not exist in the tree if it exists, return the old value and does nothing
insert :: (Binary k, Eq k, Default k, Binary v, Eq v, Default v) => [k] -> v -> Trie k v -> IO (Maybe v) Source
Insert a value for a key if the value existed for that key, return the old value
lookup :: (Binary k, Eq k, Binary v, Eq v, Default v) => [k] -> Trie k v -> IO (Maybe v) Source
Lookup a value from a key