sets-0.0.5: Various set implementations in Haskell.

Safe HaskellNone
LanguageHaskell2010

Data.Set.Ordered.Many.With

Contents

Synopsis

Documentation

newtype SetsWith k c a Source

Constructors

SetsWith 

Fields

unSetsWith :: (a -> k, Map k (c a))
 

Instances

(Ord k, HasUnion (c a), HasSingleton a (c a)) => HasInsert a (SetsWith k c a) Source 
(Ord k, Eq (c a), HasEmpty (c a), HasDelete a (c a)) => HasDelete a (SetsWith k c a) Source 
Foldable c => Foldable (SetsWith k c) Source 
Functor c => Invariant (SetsWith k c) Source 
(Ord k, HasUnion (c a), HasSingleton a (c a)) => HasSingletonWith (a -> k) a (SetsWith k c a) Source 
HasEmptyWith (a -> k) (SetsWith k c a) Source 
(Eq (c a), Eq k) => Eq (SetsWith k c a) Source 
(Ord k, Eq (c a), CanBeSubset (c a)) => CanBeProperSubset (SetsWith k c a) Source 
(Ord k, Eq (c a), CanBeSubset (c a)) => CanBeSubset (SetsWith k c a) Source 
HasSize (SetsWith k c a) Source 
(Ord k, Eq (c a), HasEmpty (c a), HasDifference (c a)) => HasDifference (SetsWith k c a) Source 
(Ord k, Eq (c a), HasEmpty (c a), HasIntersection (c a)) => HasIntersection (SetsWith k c a) Source 
(Ord k, HasUnion (c a)) => HasUnion (SetsWith k c a) Source 

Operators

(\\) :: (Ord k, HasDifference (c a)) => SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source

Query

null :: SetsWith k c a -> Bool Source

size :: SetsWith k c a -> Int Source

member :: Ord k => a -> SetsWith k c a -> Bool Source

notMember :: Ord k => a -> SetsWith k c a -> Bool Source

lookupLT :: Ord k => a -> SetsWith k c a -> Maybe (c a) Source

lookupGT :: Ord k => a -> SetsWith k c a -> Maybe (c a) Source

lookupLE :: Ord k => a -> SetsWith k c a -> Maybe (c a) Source

lookupGE :: Ord k => a -> SetsWith k c a -> Maybe (c a) Source

isSubsetOf :: (Ord k, Eq (c a), CanBeSubset (c a)) => SetsWith k c a -> SetsWith k c a -> Bool Source

isProperSubsetOf :: (Ord k, Eq (c a), CanBeSubset (c a)) => SetsWith k c a -> SetsWith k c a -> Bool Source

Construction

empty :: (a -> k) -> SetsWith k c a Source

singleton :: (Ord k, HasUnion (c a), HasSingleton a (c a)) => (a -> k) -> a -> SetsWith k c a Source

insert :: (Ord k, HasUnion (c a), HasSingleton a (c a)) => a -> SetsWith k c a -> SetsWith k c a Source

delete :: (Ord k, Eq (c a), HasEmpty (c a), HasDelete a (c a)) => a -> SetsWith k c a -> SetsWith k c a Source

Combine

union :: (Ord k, HasUnion (c a)) => SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source

difference :: (Ord k, Eq (c a), HasEmpty (c a), HasDifference (c a)) => SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source

intersection :: (Ord k, Eq (c a), HasEmpty (c a), HasIntersection (c a)) => SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source

filter :: (Eq (c a), HasEmpty (c a), Witherable c) => (a -> Bool) -> SetsWith k c a -> SetsWith k c a Source

partition :: (c a -> Bool) -> SetsWith k c a -> (SetsWith k c a, SetsWith k c a) Source

split :: Ord k => a -> SetsWith k c a -> (SetsWith k c a, SetsWith k c a) Source

splitMember :: Ord k => a -> SetsWith k c a -> (SetsWith k c a, Bool, SetsWith k c a) Source

splitRoot :: Ord k => SetsWith k c a -> [SetsWith k c a] Source

lookupIndex :: Ord k => a -> SetsWith k c a -> Maybe Int Source

findIndex :: Ord k => a -> SetsWith k c a -> Int Source

setAt :: Int -> SetsWith k c a -> c a Source

deleteAt :: Int -> SetsWith k c a -> SetsWith k c a Source

map :: Functor c => (a -> b) -> (b -> a) -> SetsWith k c a -> SetsWith k c b Source

mapMaybe :: (Eq (c b), HasEmpty (c b), Witherable c) => (a -> Maybe b) -> (b -> a) -> SetsWith k c a -> SetsWith k c b Source

foldr :: Foldable c => (a -> b -> b) -> b -> SetsWith k c a -> b Source

foldl :: Foldable c => (b -> a -> b) -> b -> SetsWith k c a -> b Source

foldr' :: Foldable c => (a -> b -> b) -> b -> SetsWith k c a -> b Source

foldl' :: Foldable c => (b -> a -> b) -> b -> SetsWith k c a -> b Source

fold :: Foldable c => (a -> b -> b) -> b -> SetsWith k c a -> b Source

findMin :: (Ord a, Foldable c) => SetsWith k c a -> a Source

findMax :: (Ord a, Foldable c) => SetsWith k c a -> a Source

deleteMin :: SetsWith k c a -> SetsWith k c a Source

Deletes entire set with minimum key

deleteMax :: SetsWith k c a -> SetsWith k c a Source

deleteFindMin :: SetsWith k c a -> (c a, SetsWith k c a) Source

deleteFindMax :: SetsWith k c a -> (c a, SetsWith k c a) Source

minView :: SetsWith k c a -> Maybe (c a, SetsWith k c a) Source

maxView :: SetsWith k c a -> Maybe (c a, SetsWith k c a) Source

elems :: (HasUnion (c a), HasEmpty (c a)) => SetsWith k c a -> c a Source

toList :: SetsWith k c a -> (a -> k, [c a]) Source

fromList :: (Ord k, HasSingleton a (c a), HasUnion (c a), Foldable f) => (a -> k) -> f a -> SetsWith k c a Source

toAscList :: SetsWith k c a -> [c a] Source

toDescList :: SetsWith k c a -> [c a] Source

fromAscList :: (Eq k, HasSingleton a (c a)) => (a -> k) -> [a] -> SetsWith k c a Source

fromDistinctAscList :: HasSingleton a (c a) => (a -> k) -> [a] -> SetsWith k c a Source

showTree :: (Show k, Show (c a)) => SetsWith k c a -> String Source

showTreeWith :: (k -> c a -> String) -> Bool -> Bool -> SetsWith k c a -> String Source