module Agda.Utils.IntMap (module Agda.Utils.IntMap, module Data.IntMap) where

import Data.IntMap

{-# INLINE forWithKey_ #-}
forWithKey_ :: forall v m. Applicative m => IntMap v -> (Int -> v -> m ()) -> m ()
forWithKey_ :: forall v (m :: * -> *).
Applicative m =>
IntMap v -> (Int -> v -> m ()) -> m ()
forWithKey_ IntMap v
m Int -> v -> m ()
f = (Int -> v -> m () -> m ()) -> m () -> IntMap v -> m ()
forall a b. (Int -> a -> b -> b) -> b -> IntMap a -> b
foldrWithKey (\ Int
k v
v m ()
act -> Int -> v -> m ()
f Int
k v
v m () -> m () -> m ()
forall a b. m a -> m b -> m b
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
*> m ()
act) (() -> m ()
forall a. a -> m a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ()) IntMap v
m