dawg-0.5.0: Directed acyclic word graphs
Data.DAWG.VMap
Description
A vector representation of Map.
Map
Synopsis
data VMap a Source
A strictly ascending vector of distinct elements with respect to fst values.
fst
Instances
empty :: Unbox a => VMap aSource
Empty map.
lookup :: Unbox a => Char -> VMap a -> Maybe aSource
Lookup the character in the map.
insert :: Unbox a => Char -> a -> VMap a -> VMap aSource
Insert the character/value pair into the map. TODO: Optimize! Use the invariant, that VMap is kept in an ascending vector.
fromList :: Unbox a => [(Char, a)] -> VMap aSource
Smart VMap constructor which ensures that the underlying vector is strictly ascending with respect to fst values.
VMap
toList :: Unbox a => VMap a -> [(Char, a)]Source
Convert the VMap to a list of ascending character/value pairs.