sets-0.0.6.2: Ducktyped set interface for Haskell containers.

Safe HaskellNone
LanguageHaskell2010

Data.Set.Ordered.Many.With

Contents

Synopsis

Documentation

newtype SetsWith k c a Source #

Constructors

SetsWith 

Fields

Instances
(Ord k, HasUnion (c a), HasSingleton a (c a)) => HasInsert a (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

insert :: a -> SetsWith k c 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 # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

delete :: a -> SetsWith k c a -> SetsWith k c a Source #

Foldable c => Foldable (SetsWith k c) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

fold :: Monoid m => SetsWith k c m -> m #

foldMap :: Monoid m => (a -> m) -> SetsWith k c a -> m #

foldr :: (a -> b -> b) -> b -> SetsWith k c a -> b #

foldr' :: (a -> b -> b) -> b -> SetsWith k c a -> b #

foldl :: (b -> a -> b) -> b -> SetsWith k c a -> b #

foldl' :: (b -> a -> b) -> b -> SetsWith k c a -> b #

foldr1 :: (a -> a -> a) -> SetsWith k c a -> a #

foldl1 :: (a -> a -> a) -> SetsWith k c a -> a #

toList :: SetsWith k c a -> [a] #

null :: SetsWith k c a -> Bool #

length :: SetsWith k c a -> Int #

elem :: Eq a => a -> SetsWith k c a -> Bool #

maximum :: Ord a => SetsWith k c a -> a #

minimum :: Ord a => SetsWith k c a -> a #

sum :: Num a => SetsWith k c a -> a #

product :: Num a => SetsWith k c a -> a #

(Ord k, HasUnion (c a), HasSingleton a (c a)) => HasSingletonWith (a -> k) a (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

singletonWith :: (a -> k) -> a -> SetsWith k c a Source #

HasEmptyWith (a -> k) (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

emptyWith :: (a -> k) -> SetsWith k c a Source #

(Eq (c a), Eq k) => Eq (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

(==) :: SetsWith k c a -> SetsWith k c a -> Bool #

(/=) :: SetsWith k c a -> SetsWith k c a -> Bool #

(Ord k, Eq (c a), CanBeSubset (c a)) => CanBeProperSubset (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

isProperSubsetOf :: SetsWith k c a -> SetsWith k c a -> Bool Source #

(Ord k, Eq (c a), CanBeSubset (c a)) => CanBeSubset (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

isSubsetOf :: SetsWith k c a -> SetsWith k c a -> Bool Source #

HasSize (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

size :: SetsWith k c a -> Int Source #

(Ord k, Eq (c a), HasEmpty (c a), HasDifference (c a)) => HasDifference (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

difference :: SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source #

(Ord k, Eq (c a), HasEmpty (c a), HasIntersection (c a)) => HasIntersection (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

intersection :: SetsWith k c a -> SetsWith k c a -> SetsWith k c a Source #

(Ord k, HasUnion (c a)) => HasUnion (SetsWith k c a) Source # 
Instance details

Defined in Data.Set.Ordered.Many.With

Methods

union :: SetsWith k c a -> SetsWith k c a -> 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 #