Maintainer | Ertugrul Soeylemez <es@ertes.de> |
---|---|
Safe Haskell | None |
This module implements very fast and compact query-only maps.
- data QuickMap k a
- fromList :: (Ord k, Unbox a, Unbox k) => [(k, a)] -> QuickMap k a
- fromListN :: (Ord k, Unbox a, Unbox k) => Int -> [(k, a)] -> QuickMap k a
- fromVector :: (Ord k, Unbox a, Unbox k) => Vector (k, a) -> QuickMap k a
- lookup :: (Ord k, Unbox a, Unbox k) => k -> QuickMap k a -> Maybe a
- member :: (Ord k, Unbox a, Unbox k) => k -> QuickMap k a -> Bool
QuickMap
QuickMaps are maps from keys to values that use a compact unboxed vector as the internal representation. As such QuickMaps are always strict in both the keys and values.
Typeable2 QuickMap | |
(Eq k, Eq a, Unbox k, Unbox a) => Eq (QuickMap k a) | |
(Typeable (QuickMap k a), Data k, Data a, Unbox k, Unbox a) => Data (QuickMap k a) | |
(Eq (QuickMap k a), Ord k, Ord a, Unbox k, Unbox a) => Ord (QuickMap k a) | |
(Ord k, Read a, Read k, Unbox a, Unbox k) => Read (QuickMap k a) | |
(Show a, Show k, Unbox a, Unbox k) => Show (QuickMap k a) |
Construction
fromList :: (Ord k, Unbox a, Unbox k) => [(k, a)] -> QuickMap k aSource
Convert a list to a QuickMap
.
fromListN :: (Ord k, Unbox a, Unbox k) => Int -> [(k, a)] -> QuickMap k aSource
Convert a prefix of the given length of the given list to a
QuickMap
.
fromVector :: (Ord k, Unbox a, Unbox k) => Vector (k, a) -> QuickMap k aSource
Convert an unboxed vector to a QuickMap
.