stm-containers 0.2.13 → 0.2.14
raw patch · 7 files changed
+40/−1 lines, 7 files
Files
- library/STMContainers/Bimap.hs +10/−0
- library/STMContainers/HAMT.hs +4/−0
- library/STMContainers/HAMT/Nodes.hs +4/−0
- library/STMContainers/Map.hs +7/−0
- library/STMContainers/Multimap.hs +7/−0
- library/STMContainers/Set.hs +7/−0
- stm-containers.cabal +1/−1
library/STMContainers/Bimap.hs view
@@ -9,6 +9,7 @@ insert2, delete1, delete2,+ deleteAll, lookup1, lookup2, focus1,@@ -112,6 +113,15 @@ {-# INLINABLE delete2 #-} delete2 :: (Association a b) => b -> Bimap a b -> STM () delete2 k (Bimap m1 m2) = (inline delete1) k (Bimap m2 m1)++-- |+-- Delete all the associations.+{-# INLINE deleteAll #-}+deleteAll :: Bimap a b -> STM ()+deleteAll (Bimap m1 m2) =+ do+ Map.deleteAll m1+ Map.deleteAll m2 -- | -- Focus on a right value by a left value with a strategy.
library/STMContainers/HAMT.hs view
@@ -36,3 +36,7 @@ {-# INLINE stream #-} stream :: HAMT e -> ListT STM e stream = Nodes.stream 0++{-# INLINE deleteAll #-}+deleteAll :: HAMT e -> STM ()+deleteAll = Nodes.deleteAll
library/STMContainers/HAMT/Nodes.hs view
@@ -173,3 +173,7 @@ Nodes nodes -> size nodes Leaf _ _ -> pure 1 Leaves _ x -> pure (SizedArray.size x)++deleteAll :: Nodes e -> STM ()+deleteAll tvar = + writeTVar tvar WordArray.empty
library/STMContainers/Map.hs view
@@ -6,6 +6,7 @@ newIO, insert, delete,+ deleteAll, lookup, focus, null,@@ -54,6 +55,12 @@ {-# INLINE delete #-} delete :: (Key k) => k -> Map k v -> STM () delete k (Map h) = HAMT.focus Focus.deleteM k h++-- |+-- Delete all the associations.+{-# INLINE deleteAll #-}+deleteAll :: Map k v -> STM ()+deleteAll (Map h) = HAMT.deleteAll h -- | -- Focus on an item by a key with a strategy.
library/STMContainers/Multimap.hs view
@@ -9,6 +9,7 @@ insert, delete, deleteByKey,+ deleteAll, lookup, lookupByKey, focus,@@ -100,6 +101,12 @@ deleteByKey :: Key k => k -> Multimap k v -> STM () deleteByKey k (Multimap m) = Map.delete k m++-- |+-- Delete all the associations.+{-# INLINE deleteAll #-}+deleteAll :: Multimap k v -> STM ()+deleteAll (Multimap h) = Map.deleteAll h -- | -- Focus on an item with a strategy by a value and a key.
library/STMContainers/Set.hs view
@@ -6,6 +6,7 @@ newIO, insert, delete,+ deleteAll, lookup, focus, null,@@ -50,6 +51,12 @@ {-# INLINE delete #-} delete :: (Element e) => e -> Set e -> STM () delete e = HAMT.focus Focus.deleteM e . hamt++-- |+-- Delete all the associations.+{-# INLINE deleteAll #-}+deleteAll :: Set e -> STM ()+deleteAll = HAMT.deleteAll . hamt -- | -- Lookup an element.
stm-containers.cabal view
@@ -1,7 +1,7 @@ name: stm-containers version:- 0.2.13+ 0.2.14 synopsis: Containers for STM description: