fgl-5.4.2.4: Martin Erwig's Functional Graph Library

Safe Haskell | None

Data.Graph.Inductive.Internal.FiniteMap

Contents

- Type
- Operations

Description

Simple Finite Maps. This implementation provides several useful methods that Data.FiniteMap does not.

Synopsis

- data Ord a => FiniteMap a b
  - = Empty
  - | Node Int (FiniteMap a b) (a, b) (FiniteMap a b)
- emptyFM :: Ord a => FiniteMap a b
- addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
- delFromFM :: Ord a => FiniteMap a b -> a -> FiniteMap a b
- updFM :: Ord a => FiniteMap a b -> a -> (b -> b) -> FiniteMap a b
- accumFM :: Ord a => FiniteMap a b -> a -> (b -> b -> b) -> b -> FiniteMap a b
- splitFM :: Ord a => FiniteMap a b -> a -> Maybe (FiniteMap a b, (a, b))
- isEmptyFM :: FiniteMap a b -> Bool
- sizeFM :: Ord a => FiniteMap a b -> Int
- lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
- elemFM :: Ord a => FiniteMap a b -> a -> Bool
- rangeFM :: Ord a => FiniteMap a b -> a -> a -> [b]
- minFM :: Ord a => FiniteMap a b -> Maybe (a, b)
- maxFM :: Ord a => FiniteMap a b -> Maybe (a, b)
- predFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)
- succFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)
- splitMinFM :: Ord a => FiniteMap a b -> Maybe (FiniteMap a b, (a, b))
- fmToList :: Ord a => FiniteMap a b -> [(a, b)]

# Type

data Ord a => FiniteMap a b Source

Constructors

Empty |
Node Int (FiniteMap a b) (a, b) (FiniteMap a b) |

Instances

(Eq b, Ord a) => Eq (FiniteMap a b) |
(Show a, Show b, Ord a) => Show (FiniteMap a b) |

# Operations

emptyFM :: Ord a => FiniteMap a bSource

addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a bSource

delFromFM :: Ord a => FiniteMap a b -> a -> FiniteMap a bSource

updFM :: Ord a => FiniteMap a b -> a -> (b -> b) -> FiniteMap a bSource

applies function to stored entry

accumFM :: Ord a => FiniteMap a b -> a -> (b -> b -> b) -> b -> FiniteMap a bSource

defines or aggregates entries

splitFM :: Ord a => FiniteMap a b -> a -> Maybe (FiniteMap a b, (a, b))Source

combines delFrom and lookup

isEmptyFM :: FiniteMap a b -> Bool Source

sizeFM :: Ord a => FiniteMap a b -> Int Source

lookupFM :: Ord a => FiniteMap a b -> a -> Maybe bSource

elemFM :: Ord a => FiniteMap a b -> a -> Bool Source

rangeFM :: Ord a => FiniteMap a b -> a -> a -> [b]Source

applies lookup to an interval

minFM :: Ord a => FiniteMap a b -> Maybe (a, b)Source

maxFM :: Ord a => FiniteMap a b -> Maybe (a, b)Source

predFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)Source

succFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)Source

splitMinFM :: Ord a => FiniteMap a b -> Maybe (FiniteMap a b, (a, b))Source

combines splitFM and minFM

fmToList :: Ord a => FiniteMap a b -> [(a, b)]Source