| Copyright | (C) 2016 Rev. Johnny Healey |
|---|---|
| License | LGPL-3 |
| Maintainer | Rev. Johnny Healey <rev.null@gmail.com> |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.FixFile.Trie.Light
Description
This is a Trie data type that can be used with FixFile. It can be used
as a key-value store where the key is a ByteString of arbitrary size.
- data Trie v a
- value :: Fixed g => g (Trie v) -> Maybe v
- freeze :: Fixed g => g (Trie v) -> g (Trie v)
- createTrieFile :: (Serialize v, Typeable v) => FilePath -> IO (FixFile (Ref (Trie v)))
- openTrieFile :: (Serialize v, Typeable v) => FilePath -> IO (FixFile (Ref (Trie v)))
- lookupTrie :: Fixed g => ByteString -> g (Trie v) -> Maybe v
- lookupTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s (Maybe v)
- descendTrie :: Fixed g => ByteString -> g (Trie v) -> Maybe (g (Trie v))
- descendTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s (Maybe (Stored s (Trie v)))
- insertTrie :: Fixed g => ByteString -> v -> g (Trie v) -> g (Trie v)
- insertTrieT :: Serialize v => ByteString -> v -> Transaction (Ref (Trie v)) s ()
- deleteTrie :: Fixed g => ByteString -> g (Trie v) -> g (Trie v)
- deleteTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s ()
- iterateTrie :: Fixed g => ByteString -> g (Trie v) -> [(ByteString, v)]
- iterateTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s [(ByteString, v)]
Documentation
Instances
| Functor (Trie v) Source # | |
| Foldable (Trie v) Source # | |
| Traversable (Trie v) Source # | |
| FixedTraversable (Trie v) Source # | |
| FixedFoldable (Trie v) Source # | |
| FixedFunctor (Trie v) Source # | |
| FixedSub (Trie v) Source # | |
| FixedAlg (Trie v) Source # | |
| Null1 (Trie v) Source # | |
| (Read a, Read v) => Read (Trie v a) Source # | |
| (Show a, Show v) => Show (Trie v a) Source # | |
| Generic (Trie v a) Source # | |
| (Serialize v, Serialize a) => Serialize (Trie v a) Source # | |
| type Alg (Trie v) Source # | |
| type Sub (Trie v) v v' Source # | |
| type Rep (Trie v a) Source # | |
lookupTrie :: Fixed g => ByteString -> g (Trie v) -> Maybe v Source #
Lookup a possible value stored in a trie for a given ByteString key.
lookupTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s (Maybe v) Source #
Transaction version of lookupTrie.
descendTrie :: Fixed g => ByteString -> g (Trie v) -> Maybe (g (Trie v)) Source #
Lookup a possible value stored in a trie for a given ByteString key.
descendTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s (Maybe (Stored s (Trie v))) Source #
insertTrie :: Fixed g => ByteString -> v -> g (Trie v) -> g (Trie v) Source #
Insert a value into a trie for the given ByteString key.
insertTrieT :: Serialize v => ByteString -> v -> Transaction (Ref (Trie v)) s () Source #
Transaction version of insertTrie.
deleteTrie :: Fixed g => ByteString -> g (Trie v) -> g (Trie v) Source #
Delete a value from a trie for a given ByteString key.
deleteTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s () Source #
Transaction version of deleteTrie.
iterateTrie :: Fixed g => ByteString -> g (Trie v) -> [(ByteString, v)] Source #
Iterate over a Trie for all of the ByteString and value tuples for a
given ByteString prefix.
iterateTrieT :: Serialize v => ByteString -> Transaction (Ref (Trie v)) s [(ByteString, v)] Source #
Transaction version of iterateTrie.