| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Data.HashMap.Strict.InsOrd
Description
InsOrdHashMap is like HashMap, but it folds and traverses in insertion order.
This module interface mimics Data.HashMap.Strict, with some additions.
Synopsis
- data InsOrdHashMap k v
- empty :: InsOrdHashMap k v
- singleton :: Hashable k => k -> v -> InsOrdHashMap k v
- null :: InsOrdHashMap k v -> Bool
- size :: InsOrdHashMap k v -> Int
- member :: (Eq k, Hashable k) => k -> InsOrdHashMap k a -> Bool
- lookup :: (Eq k, Hashable k) => k -> InsOrdHashMap k v -> Maybe v
- lookupDefault :: (Eq k, Hashable k) => v -> k -> InsOrdHashMap k v -> v
- insert :: (Eq k, Hashable k) => k -> v -> InsOrdHashMap k v -> InsOrdHashMap k v
- insertWith :: (Eq k, Hashable k) => (v -> v -> v) -> k -> v -> InsOrdHashMap k v -> InsOrdHashMap k v
- delete :: (Eq k, Hashable k) => k -> InsOrdHashMap k v -> InsOrdHashMap k v
- adjust :: (Eq k, Hashable k) => (v -> v) -> k -> InsOrdHashMap k v -> InsOrdHashMap k v
- update :: (Eq k, Hashable k) => (a -> Maybe a) -> k -> InsOrdHashMap k a -> InsOrdHashMap k a
- alter :: (Eq k, Hashable k) => (Maybe v -> Maybe v) -> k -> InsOrdHashMap k v -> InsOrdHashMap k v
- union :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v
- unionWith :: (Eq k, Hashable k) => (v -> v -> v) -> InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v
- unionWithKey :: (Eq k, Hashable k) => (k -> v -> v -> v) -> InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v
- unions :: (Eq k, Hashable k, Foldable f) => f (InsOrdHashMap k v) -> InsOrdHashMap k v
- map :: (v1 -> v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2
- mapKeys :: (Eq k', Hashable k') => (k -> k') -> InsOrdHashMap k v -> InsOrdHashMap k' v
- traverseKeys :: (Eq k', Hashable k', Applicative f) => (k -> f k') -> InsOrdHashMap k v -> f (InsOrdHashMap k' v)
- mapWithKey :: (k -> v1 -> v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2
- traverseWithKey :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b)
- unorderedTraverse :: Applicative f => (a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b)
- unorderedTraverseWithKey :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b)
- difference :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k w -> InsOrdHashMap k v
- intersection :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k w -> InsOrdHashMap k v
- intersectionWith :: (Eq k, Hashable k) => (v1 -> v2 -> v3) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 -> InsOrdHashMap k v3
- intersectionWithKey :: (Eq k, Hashable k) => (k -> v1 -> v2 -> v3) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 -> InsOrdHashMap k v3
- foldl' :: (a -> v -> a) -> a -> InsOrdHashMap k v -> a
- foldlWithKey' :: (a -> k -> v -> a) -> a -> InsOrdHashMap k v -> a
- foldr :: (v -> a -> a) -> a -> InsOrdHashMap k v -> a
- foldrWithKey :: (k -> v -> a -> a) -> a -> InsOrdHashMap k v -> a
- foldMapWithKey :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m
- unorderedFoldMap :: Monoid m => (a -> m) -> InsOrdHashMap k a -> m
- unorderedFoldMapWithKey :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m
- filter :: (v -> Bool) -> InsOrdHashMap k v -> InsOrdHashMap k v
- filterWithKey :: (k -> v -> Bool) -> InsOrdHashMap k v -> InsOrdHashMap k v
- mapMaybe :: (v1 -> Maybe v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2
- mapMaybeWithKey :: (k -> v1 -> Maybe v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2
- keys :: InsOrdHashMap k v -> [k]
- elems :: InsOrdHashMap k v -> [v]
- toList :: InsOrdHashMap k v -> [(k, v)]
- toRevList :: InsOrdHashMap k v -> [(k, v)]
- fromList :: forall k v. (Eq k, Hashable k) => [(k, v)] -> InsOrdHashMap k v
- toHashMap :: InsOrdHashMap k v -> HashMap k v
- fromHashMap :: HashMap k v -> InsOrdHashMap k v
- hashMap :: Iso (InsOrdHashMap k a) (InsOrdHashMap k b) (HashMap k a) (HashMap k b)
- unorderedTraversal :: Traversal (InsOrdHashMap k a) (InsOrdHashMap k b) a b
- valid :: InsOrdHashMap k v -> Bool
Documentation
data InsOrdHashMap k v Source #
HashMap which tries its best to remember insertion order of elements.
Instances
| NFData2 InsOrdHashMap Source # | Since: 0.2.5 |
Defined in Data.HashMap.Strict.InsOrd Methods liftRnf2 :: (a -> ()) -> (b -> ()) -> InsOrdHashMap a b -> () | |
| (Eq k, Hashable k) => FoldableWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods ifoldMap :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m ifoldMap' :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m ifoldr :: (k -> a -> b -> b) -> b -> InsOrdHashMap k a -> b ifoldl :: (k -> b -> a -> b) -> b -> InsOrdHashMap k a -> b ifoldr' :: (k -> a -> b -> b) -> b -> InsOrdHashMap k a -> b ifoldl' :: (k -> b -> a -> b) -> b -> InsOrdHashMap k a -> b | |
| (Eq k, Hashable k) => FunctorWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods imap :: (k -> a -> b) -> InsOrdHashMap k a -> InsOrdHashMap k b | |
| (Eq k, Hashable k) => TraversableWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods itraverse :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) | |
| (Eq k, Hashable k) => FoldableWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods ifoldMap :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m ifoldr :: (k -> a -> b -> b) -> b -> InsOrdHashMap k a -> b ifoldl' :: (k -> b -> a -> b) -> b -> InsOrdHashMap k a -> b | |
| (Eq k, Hashable k) => FunctorWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods imap :: (k -> a -> b) -> InsOrdHashMap k a -> InsOrdHashMap k b | |
| (Eq k, Hashable k) => TraversableWithIndex k (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods itraverse :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) | |
| Functor (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods fmap :: (a -> b) -> InsOrdHashMap k a -> InsOrdHashMap k b (<$) :: a -> InsOrdHashMap k b -> InsOrdHashMap k a | |
| Foldable (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods fold :: Monoid m => InsOrdHashMap k m -> m foldMap :: Monoid m => (a -> m) -> InsOrdHashMap k a -> m foldMap' :: Monoid m => (a -> m) -> InsOrdHashMap k a -> m foldr :: (a -> b -> b) -> b -> InsOrdHashMap k a -> b foldr' :: (a -> b -> b) -> b -> InsOrdHashMap k a -> b foldl :: (b -> a -> b) -> b -> InsOrdHashMap k a -> b foldl' :: (b -> a -> b) -> b -> InsOrdHashMap k a -> b foldr1 :: (a -> a -> a) -> InsOrdHashMap k a -> a foldl1 :: (a -> a -> a) -> InsOrdHashMap k a -> a toList :: InsOrdHashMap k a -> [a] null :: InsOrdHashMap k a -> Bool length :: InsOrdHashMap k a -> Int elem :: Eq a => a -> InsOrdHashMap k a -> Bool maximum :: Ord a => InsOrdHashMap k a -> a minimum :: Ord a => InsOrdHashMap k a -> a sum :: Num a => InsOrdHashMap k a -> a product :: Num a => InsOrdHashMap k a -> a | |
| Traversable (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods traverse :: Applicative f => (a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) sequenceA :: Applicative f => InsOrdHashMap k (f a) -> f (InsOrdHashMap k a) mapM :: Monad m => (a -> m b) -> InsOrdHashMap k a -> m (InsOrdHashMap k b) sequence :: Monad m => InsOrdHashMap k (m a) -> m (InsOrdHashMap k a) | |
| NFData k => NFData1 (InsOrdHashMap k) Source # | Since: 0.2.5 |
Defined in Data.HashMap.Strict.InsOrd Methods liftRnf :: (a -> ()) -> InsOrdHashMap k a -> () | |
| (Eq k, Hashable k, FromJSONKey k) => FromJSON1 (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (InsOrdHashMap k a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [InsOrdHashMap k a] | |
| ToJSONKey k => ToJSON1 (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods liftToJSON :: (a -> Value) -> ([a] -> Value) -> InsOrdHashMap k a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [InsOrdHashMap k a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> InsOrdHashMap k a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [InsOrdHashMap k a] -> Encoding | |
| (Eq k, Hashable k) => Apply (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods (<.>) :: InsOrdHashMap k (a -> b) -> InsOrdHashMap k a -> InsOrdHashMap k b (.>) :: InsOrdHashMap k a -> InsOrdHashMap k b -> InsOrdHashMap k b (<.) :: InsOrdHashMap k a -> InsOrdHashMap k b -> InsOrdHashMap k a liftF2 :: (a -> b -> c) -> InsOrdHashMap k a -> InsOrdHashMap k b -> InsOrdHashMap k c | |
| (Eq k, Hashable k) => Bind (InsOrdHashMap k) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods (>>-) :: InsOrdHashMap k a -> (a -> InsOrdHashMap k b) -> InsOrdHashMap k b join :: InsOrdHashMap k (InsOrdHashMap k a) -> InsOrdHashMap k a | |
| (Eq k, Hashable k) => IsList (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Associated Types type Item (InsOrdHashMap k v) Methods fromList :: [Item (InsOrdHashMap k v)] -> InsOrdHashMap k v fromListN :: Int -> [Item (InsOrdHashMap k v)] -> InsOrdHashMap k v toList :: InsOrdHashMap k v -> [Item (InsOrdHashMap k v)] | |
| (Eq k, Eq v) => Eq (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods (==) :: InsOrdHashMap k v -> InsOrdHashMap k v -> Bool (/=) :: InsOrdHashMap k v -> InsOrdHashMap k v -> Bool | |
| (Data k, Data v, Hashable k) => Data (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InsOrdHashMap k v -> c (InsOrdHashMap k v) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InsOrdHashMap k v) toConstr :: InsOrdHashMap k v -> Constr dataTypeOf :: InsOrdHashMap k v -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InsOrdHashMap k v)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InsOrdHashMap k v)) gmapT :: (forall b. Data b => b -> b) -> InsOrdHashMap k v -> InsOrdHashMap k v gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InsOrdHashMap k v -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InsOrdHashMap k v -> r gmapQ :: (forall d. Data d => d -> u) -> InsOrdHashMap k v -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> InsOrdHashMap k v -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> InsOrdHashMap k v -> m (InsOrdHashMap k v) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InsOrdHashMap k v -> m (InsOrdHashMap k v) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InsOrdHashMap k v -> m (InsOrdHashMap k v) | |
| (Eq k, Hashable k, Read k, Read v) => Read (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods readsPrec :: Int -> ReadS (InsOrdHashMap k v) readList :: ReadS [InsOrdHashMap k v] readPrec :: ReadPrec (InsOrdHashMap k v) readListPrec :: ReadPrec [InsOrdHashMap k v] | |
| (Show k, Show v) => Show (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods showsPrec :: Int -> InsOrdHashMap k v -> ShowS show :: InsOrdHashMap k v -> String showList :: [InsOrdHashMap k v] -> ShowS | |
| (Eq k, Hashable k) => Semigroup (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods (<>) :: InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v sconcat :: NonEmpty (InsOrdHashMap k v) -> InsOrdHashMap k v stimes :: Integral b => b -> InsOrdHashMap k v -> InsOrdHashMap k v | |
| (Eq k, Hashable k) => Monoid (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods mempty :: InsOrdHashMap k v mappend :: InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v mconcat :: [InsOrdHashMap k v] -> InsOrdHashMap k v | |
| (NFData k, NFData v) => NFData (InsOrdHashMap k v) Source # | Since: 0.2.5 |
Defined in Data.HashMap.Strict.InsOrd Methods rnf :: InsOrdHashMap k v -> () | |
| (Eq k, Hashable k, FromJSONKey k, FromJSON v) => FromJSON (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods parseJSON :: Value -> Parser (InsOrdHashMap k v) parseJSONList :: Value -> Parser [InsOrdHashMap k v] | |
| (ToJSONKey k, ToJSON v) => ToJSON (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods toJSON :: InsOrdHashMap k v -> Value toEncoding :: InsOrdHashMap k v -> Encoding toJSONList :: [InsOrdHashMap k v] -> Value toEncodingList :: [InsOrdHashMap k v] -> Encoding | |
| (Hashable k, Hashable v) => Hashable (InsOrdHashMap k v) Source # |
|
Defined in Data.HashMap.Strict.InsOrd | |
| (Eq k, Hashable k) => At (InsOrdHashMap k a) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods at :: Index (InsOrdHashMap k a) -> Lens' (InsOrdHashMap k a) (Maybe (IxValue (InsOrdHashMap k a))) | |
| (Eq k, Hashable k) => Ixed (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods ix :: Index (InsOrdHashMap k v) -> Traversal' (InsOrdHashMap k v) (IxValue (InsOrdHashMap k v)) | |
| (Eq k, Hashable k) => At (InsOrdHashMap k a) Source # | |
Defined in Data.HashMap.Strict.InsOrd Methods at :: Index (InsOrdHashMap k a) -> Lens' (InsOrdHashMap k a) (Maybe (IxValue (InsOrdHashMap k a))) | |
| (Eq k, Hashable k) => Ixed (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd Associated Types type IxKind (InsOrdHashMap k v) Methods ix :: Index (InsOrdHashMap k v) -> Optic' (IxKind (InsOrdHashMap k v)) NoIx (InsOrdHashMap k v) (IxValue (InsOrdHashMap k v)) | |
| type Index (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type Index (InsOrdHashMap k v) = k | |
| type IxValue (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type IxValue (InsOrdHashMap k v) = v | |
| type Index (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type Index (InsOrdHashMap k v) = k | |
| type IxValue (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type IxValue (InsOrdHashMap k v) = v | |
| type IxKind (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type IxKind (InsOrdHashMap k v) = An_AffineTraversal | |
| type Item (InsOrdHashMap k v) Source # | |
Defined in Data.HashMap.Strict.InsOrd type Item (InsOrdHashMap k v) = (k, v) | |
Construction
empty :: InsOrdHashMap k v Source #
singleton :: Hashable k => k -> v -> InsOrdHashMap k v Source #
Basic interface
null :: InsOrdHashMap k v -> Bool Source #
size :: InsOrdHashMap k v -> Int Source #
member :: (Eq k, Hashable k) => k -> InsOrdHashMap k a -> Bool Source #
lookup :: (Eq k, Hashable k) => k -> InsOrdHashMap k v -> Maybe v Source #
Arguments
| :: (Eq k, Hashable k) | |
| => v | Default value to return. |
| -> k | |
| -> InsOrdHashMap k v | |
| -> v |
insert :: (Eq k, Hashable k) => k -> v -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
insertWith :: (Eq k, Hashable k) => (v -> v -> v) -> k -> v -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
delete :: (Eq k, Hashable k) => k -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
adjust :: (Eq k, Hashable k) => (v -> v) -> k -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
update :: (Eq k, Hashable k) => (a -> Maybe a) -> k -> InsOrdHashMap k a -> InsOrdHashMap k a Source #
alter :: (Eq k, Hashable k) => (Maybe v -> Maybe v) -> k -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
Combine
union :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
unionWith :: (Eq k, Hashable k) => (v -> v -> v) -> InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
The union of two maps. If a key occurs in both maps, the provided function (first argument) will be used to compute the result.
Ordered traversal will go thru keys in the first map first.
unionWithKey :: (Eq k, Hashable k) => (k -> v -> v -> v) -> InsOrdHashMap k v -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
unions :: (Eq k, Hashable k, Foldable f) => f (InsOrdHashMap k v) -> InsOrdHashMap k v Source #
Transformations
map :: (v1 -> v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 Source #
mapKeys :: (Eq k', Hashable k') => (k -> k') -> InsOrdHashMap k v -> InsOrdHashMap k' v Source #
Order preserving mapping of keys.
traverseKeys :: (Eq k', Hashable k', Applicative f) => (k -> f k') -> InsOrdHashMap k v -> f (InsOrdHashMap k' v) Source #
mapWithKey :: (k -> v1 -> v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 Source #
traverseWithKey :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) Source #
Unordered
unorderedTraverse :: Applicative f => (a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) Source #
More efficient than traverse, when traversing in insertion order is not important.
unorderedTraverseWithKey :: Applicative f => (k -> a -> f b) -> InsOrdHashMap k a -> f (InsOrdHashMap k b) Source #
More efficient than traverseWithKey, when traversing in insertion order is not important.
Difference and intersection
difference :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k w -> InsOrdHashMap k v Source #
intersection :: (Eq k, Hashable k) => InsOrdHashMap k v -> InsOrdHashMap k w -> InsOrdHashMap k v Source #
intersectionWith :: (Eq k, Hashable k) => (v1 -> v2 -> v3) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 -> InsOrdHashMap k v3 Source #
intersectionWithKey :: (Eq k, Hashable k) => (k -> v1 -> v2 -> v3) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 -> InsOrdHashMap k v3 Source #
Folds
foldl' :: (a -> v -> a) -> a -> InsOrdHashMap k v -> a Source #
foldlWithKey' :: (a -> k -> v -> a) -> a -> InsOrdHashMap k v -> a Source #
foldr :: (v -> a -> a) -> a -> InsOrdHashMap k v -> a Source #
foldrWithKey :: (k -> v -> a -> a) -> a -> InsOrdHashMap k v -> a Source #
foldMapWithKey :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m Source #
Unordered
unorderedFoldMap :: Monoid m => (a -> m) -> InsOrdHashMap k a -> m Source #
More efficient than foldMap, when folding in insertion order is not important.
unorderedFoldMapWithKey :: Monoid m => (k -> a -> m) -> InsOrdHashMap k a -> m Source #
More efficient than foldMapWithKey, when folding in insertion order is not important.
Filter
filter :: (v -> Bool) -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
filterWithKey :: (k -> v -> Bool) -> InsOrdHashMap k v -> InsOrdHashMap k v Source #
mapMaybe :: (v1 -> Maybe v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 Source #
mapMaybeWithKey :: (k -> v1 -> Maybe v2) -> InsOrdHashMap k v1 -> InsOrdHashMap k v2 Source #
Conversions
keys :: InsOrdHashMap k v -> [k] Source #
elems :: InsOrdHashMap k v -> [v] Source #
toList :: InsOrdHashMap k v -> [(k, v)] Source #
toRevList :: InsOrdHashMap k v -> [(k, v)] Source #
fromList :: forall k v. (Eq k, Hashable k) => [(k, v)] -> InsOrdHashMap k v Source #
toHashMap :: InsOrdHashMap k v -> HashMap k v Source #
fromHashMap :: HashMap k v -> InsOrdHashMap k v Source #
Lenses
hashMap :: Iso (InsOrdHashMap k a) (InsOrdHashMap k b) (HashMap k a) (HashMap k b) Source #
This is a slight lie, as roundtrip doesn't preserve ordering.
unorderedTraversal :: Traversal (InsOrdHashMap k a) (InsOrdHashMap k b) a b Source #
Debugging
valid :: InsOrdHashMap k v -> Bool Source #
Test if the internal map structure is valid.