foldrWithKey

foldrWithKey :: (Key -> a -> b -> b) -> b -> IntMap a -> b
containers Data.IntMap.Strict, containers Data.IntMap.Lazy
O(n). Fold the keys and values in the map using the given right-associative binary operator, such that foldrWithKey f z == foldr (uncurry f) z . toAscList. For example, > keys map = foldrWithKey (\k x ks -> k:ks) [] map > let f k a result = result ++ "(" ++ (show k) ++ ":" ++ a ++ ")" > foldrWithKey f "Map: " (fromList [(5,"a"), (3,"b")]) == "Map: (5:a)(3:b)"
foldrWithKey :: (k -> a -> b -> b) -> b -> Map k a -> b
containers Data.Map.Lazy, containers Data.Map.Strict
O(n). Fold the keys and values in the map using the given right-associative binary operator, such that foldrWithKey f z == foldr (uncurry f) z . toAscList. For example, > keys map = foldrWithKey (\k x ks -> k:ks) [] map > let f k a result = result ++ "(" ++ (show k) ++ ":" ++ a ++ ")" > foldrWithKey f "Map: " (fromList [(5,"a"), (3,"b")]) == "Map: (5:a)(3:b)"
foldrWithKey' :: (Key -> a -> b -> b) -> b -> IntMap a -> b
containers Data.IntMap.Strict, containers Data.IntMap.Lazy
O(n). A strict version of foldrWithKey. Each application of the operator is evaluated before using the result in the next application. This function is strict in the starting value.
foldrWithKey' :: (k -> a -> b -> b) -> b -> Map k a -> b
containers Data.Map.Lazy, containers Data.Map.Strict
O(n). A strict version of foldrWithKey. Each application of the operator is evaluated before using the result in the next application. This function is strict in the starting value.