Copyright | (c) Andrey Mulik 2020 |
---|---|
License | BSD-style |
Maintainer | work.a.mulik@gmail.com |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Synopsis
- module SDP.Hashable
- module SDP.Linear
- module SDP.Set
- data HashSet a
Exports
module SDP.Hashable
module SDP.Linear
module SDP.Set
Hash set
A set of values. A set cannot contain duplicate values.
Instances
Foldable HashSet | |
Defined in Data.HashSet.Internal fold :: Monoid m => HashSet m -> m # foldMap :: Monoid m => (a -> m) -> HashSet a -> m # foldMap' :: Monoid m => (a -> m) -> HashSet a -> m # foldr :: (a -> b -> b) -> b -> HashSet a -> b # foldr' :: (a -> b -> b) -> b -> HashSet a -> b # foldl :: (b -> a -> b) -> b -> HashSet a -> b # foldl' :: (b -> a -> b) -> b -> HashSet a -> b # foldr1 :: (a -> a -> a) -> HashSet a -> a # foldl1 :: (a -> a -> a) -> HashSet a -> a # elem :: Eq a => a -> HashSet a -> Bool # maximum :: Ord a => HashSet a -> a # minimum :: Ord a => HashSet a -> a # | |
Eq1 HashSet | |
Ord1 HashSet | |
Defined in Data.HashSet.Internal | |
Show1 HashSet | |
Hashable1 HashSet | |
Defined in Data.HashSet.Internal | |
(Eq a, Hashable a) => IsList (HashSet a) | |
Eq a => Eq (HashSet a) | Note that, in the presence of hash collisions, equal
In general, the lack of substitutivity can be observed with any function that depends on the key ordering, such as folds and traversals. |
(Data a, Eq a, Hashable a) => Data (HashSet a) | |
Defined in Data.HashSet.Internal gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HashSet a -> c (HashSet a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HashSet a) # toConstr :: HashSet a -> Constr # dataTypeOf :: HashSet a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HashSet a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HashSet a)) # gmapT :: (forall b. Data b => b -> b) -> HashSet a -> HashSet a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HashSet a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HashSet a -> r # gmapQ :: (forall d. Data d => d -> u) -> HashSet a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> HashSet a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HashSet a -> m (HashSet a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HashSet a -> m (HashSet a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HashSet a -> m (HashSet a) # | |
Ord a => Ord (HashSet a) | |
Defined in Data.HashSet.Internal | |
(Eq a, Hashable a, Read a) => Read (HashSet a) | |
Show a => Show (HashSet a) | |
(Hashable a, Eq a) => Semigroup (HashSet a) | O(n+m) To obtain good performance, the smaller set must be presented as the first argument. Examples
|
(Hashable a, Eq a) => Monoid (HashSet a) | O(n+m) To obtain good performance, the smaller set must be presented as the first argument. Examples
|
NFData a => NFData (HashSet a) | |
Defined in Data.HashSet.Internal | |
Hashable a => Hashable (HashSet a) | |
Defined in Data.HashSet.Internal | |
Nullable (HashSet e) Source # | |
Estimate (HashSet e) Source # | |
Defined in SDP.HashSet (<.=>) :: HashSet e -> Int -> Ordering # (<==>) :: Compare (HashSet e) # (.==) :: HashSet e -> Int -> Bool # (./=) :: HashSet e -> Int -> Bool # (.<=) :: HashSet e -> Int -> Bool # (.>=) :: HashSet e -> Int -> Bool # (.<) :: HashSet e -> Int -> Bool # (.>) :: HashSet e -> Int -> Bool # (.<.) :: HashSet e -> HashSet e -> Bool # (.>.) :: HashSet e -> HashSet e -> Bool # (.<=.) :: HashSet e -> HashSet e -> Bool # (.>=.) :: HashSet e -> HashSet e -> Bool # | |
(Eq e, Hashable e) => Set (HashSet e) e Source # | |
Defined in SDP.HashSet set :: HashSet e -> HashSet e # insert :: e -> HashSet e -> HashSet e # delete :: e -> HashSet e -> HashSet e # (/\) :: HashSet e -> HashSet e -> HashSet e # (\/) :: HashSet e -> HashSet e -> HashSet e # (\\) :: HashSet e -> HashSet e -> HashSet e # (\^/) :: HashSet e -> HashSet e -> HashSet e # (/?\) :: HashSet e -> HashSet e -> Bool # (\?/) :: HashSet e -> HashSet e -> Bool # (\+/) :: HashSet e -> HashSet e -> Bool # intersections :: Foldable f => f (HashSet e) -> HashSet e # unions :: Foldable f => f (HashSet e) -> HashSet e # differences :: Foldable f => f (HashSet e) -> HashSet e # symdiffs :: Foldable f => f (HashSet e) -> HashSet e # member :: e -> HashSet e -> Bool # lookupLT :: e -> HashSet e -> Maybe e # lookupGT :: e -> HashSet e -> Maybe e # | |
Bordered (HashSet e) Int Source # | |
Defined in SDP.HashSet | |
type Item (HashSet a) | |
Defined in Data.HashSet.Internal |