Safe Haskell | Safe-Inferred |
---|---|

Language | Haskell2010 |

`Set`

partial functions. Import as:

import qualified RIO.Set.Partial as Set'

# Indexed

findIndex :: Ord a => a -> Set a -> Int #

*O(log n)*. Return the *index* of an element, which is its zero-based
index in the sorted sequence of elements. The index is a number from *0* up
to, but not including, the `size`

of the set. Calls `error`

when the element
is not a `member`

of the set.

findIndex 2 (fromList [5,3]) Error: element is not in the set findIndex 3 (fromList [5,3]) == 0 findIndex 5 (fromList [5,3]) == 1 findIndex 6 (fromList [5,3]) Error: element is not in the set

*Since: containers-0.5.4*

*O(log n)*. Retrieve an element by its *index*, i.e. by its zero-based
index in the sorted sequence of elements. If the *index* is out of range (less
than zero, greater or equal to `size`

of the set), `error`

is called.

elemAt 0 (fromList [5,3]) == 3 elemAt 1 (fromList [5,3]) == 5 elemAt 2 (fromList [5,3]) Error: index out of range

*Since: containers-0.5.4*

deleteAt :: Int -> Set a -> Set a #

*O(log n)*. Delete the element at *index*, i.e. by its zero-based index in
the sorted sequence of elements. If the *index* is out of range (less than zero,
greater or equal to `size`

of the set), `error`

is called.

deleteAt 0 (fromList [5,3]) == singleton 5 deleteAt 1 (fromList [5,3]) == singleton 3 deleteAt 2 (fromList [5,3]) Error: index out of range deleteAt (-1) (fromList [5,3]) Error: index out of range

*Since: containers-0.5.4*

# Min/Max

deleteFindMin :: Set a -> (a, Set a) #

*O(log n)*. Delete and find the minimal element.

deleteFindMin set = (findMin set, deleteMin set)

deleteFindMax :: Set a -> (a, Set a) #

*O(log n)*. Delete and find the maximal element.

deleteFindMax set = (findMax set, deleteMax set)