Metro.IOHashMap
data IOHashMap a b Source #
newIOHashMap :: MonadIO m => m (IOHashMap a b) Source #
insert :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> a -> b -> m () Source #
delete :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> a -> m () Source #
lookup :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> a -> m (Maybe b) Source #
update :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> (b -> Maybe b) -> a -> m () Source #
adjust :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> (b -> b) -> a -> m () Source #
alter :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> (Maybe b -> Maybe b) -> a -> m () Source #
null :: MonadIO m => IOHashMap a b -> m Bool Source #
size :: MonadIO m => IOHashMap a b -> m Int Source #
member :: (Eq a, Hashable a, MonadIO m) => IOHashMap a b -> a -> m Bool Source #
keys :: MonadIO m => IOHashMap a b -> m [a] Source #
elems :: MonadIO m => IOHashMap a b -> m [b] Source #
clear :: MonadIO m => IOHashMap a b -> m () Source #
toList :: MonadIO m => IOHashMap a b -> m [(a, b)] Source #
insertSTM :: (Eq a, Hashable a) => IOHashMap a b -> a -> b -> STM () Source #
lookupSTM :: (Eq a, Hashable a) => IOHashMap a b -> a -> STM (Maybe b) Source #
foldrWithKeySTM :: IOHashMap a b -> (a -> b -> c -> c) -> c -> STM c Source #
deleteSTM :: (Eq a, Hashable a) => IOHashMap a b -> a -> STM () Source #