| Safe Haskell | Safe-Inferred | 
|---|
Data.Refcount
- newtype  Refcount a = Refcount {
- unRefcount :: HashMap a Int
 
 - refcount :: (Hashable a, Eq a) => a -> Refcount a -> Int
 - refcounts :: Refcount a -> [(a, Int)]
 - refcounted :: Refcount a -> [a]
 - insertRef :: (Hashable a, Eq a) => a -> Refcount a -> Refcount a
 - deleteRef :: (Hashable a, Eq a) => a -> Refcount a -> Maybe (Refcount a)
 - removeRef :: (Hashable a, Eq a) => a -> Refcount a -> Maybe (Bool, Refcount a)
 - fromList :: (Hashable a, Eq a) => [a] -> Refcount a
 
Documentation
Maintain a collection of objects with duplication counts.
Constructors
| Refcount | |
Fields 
  | |
refcounted :: Refcount a -> [a]Source
Retrieve the refcounted objects.
insertRef :: (Hashable a, Eq a) => a -> Refcount a -> Refcount aSource
Insert an object and increment its count.
deleteRef :: (Hashable a, Eq a) => a -> Refcount a -> Maybe (Refcount a)Source
Remove a reference to an element and decrease its count, possibly removing it from the set.
 Returns Nothing if the element wasn't found, or Just set.