Copyright | (c) Andrey Mulik 2020 |
---|---|

License | BSD-style |

Maintainer | work.a.mulik@gmail.com |

Portability | non-portable (GHC extensions) |

Safe Haskell | Trustworthy |

Language | Haskell2010 |

SDP.Plate.AnyBorder provides `AnyBorder`

- template of generalized by
index type structure, based on `Int`

-indexed primitive.

## Synopsis

- module SDP.IndexedM
- module SDP.Shaped
- module SDP.Sort
- module SDP.Scan
- data AnyBorder rep i e = AnyBorder !i !i !(rep e)

# Export

module SDP.IndexedM

module SDP.Shaped

module SDP.Sort

module SDP.Scan

# Border template

data AnyBorder rep i e Source #

`AnyBorder`

is template, that appends arbitrary bounds to any structure.

AnyBorder !i !i !(rep e) |

#### Instances

(Index i, Freeze m mut (rep e), Bordered1 rep Int e) => Freeze m mut (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder | |

(Index i, Thaw m imm (rep e), Bordered1 rep Int e) => Thaw m imm (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder | |

(Index i, SortM1 m rep e) => SortM m (AnyBorder rep i e) e Source # | |

(Index i, BorderedM1 m rep Int e, SplitM1 m rep e) => SplitM m (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder takeM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # dropM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # keepM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # sansM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # splitM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e, AnyBorder rep i e) Source # divideM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e, AnyBorder rep i e) Source # splitsM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] Source # dividesM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] Source # partsM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] Source # chunksM :: Int -> AnyBorder rep i e -> m [AnyBorder rep i e] Source # eachM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # prefixM :: (e -> Bool) -> AnyBorder rep i e -> m Int Source # suffixM :: (e -> Bool) -> AnyBorder rep i e -> m Int Source # mprefix :: (e -> m Bool) -> AnyBorder rep i e -> m Int Source # msuffix :: (e -> m Bool) -> AnyBorder rep i e -> m Int Source # | |

(Index i, LinearM1 m rep e, BorderedM1 m rep Int e) => LinearM m (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder newNull :: m (AnyBorder rep i e) Source # nowNull :: AnyBorder rep i e -> m Bool Source # singleM :: e -> m (AnyBorder rep i e) Source # getHead :: AnyBorder rep i e -> m e Source # getLast :: AnyBorder rep i e -> m e Source # prepend :: e -> AnyBorder rep i e -> m (AnyBorder rep i e) Source # append :: AnyBorder rep i e -> e -> m (AnyBorder rep i e) Source # newLinear :: [e] -> m (AnyBorder rep i e) Source # newLinearN :: Int -> [e] -> m (AnyBorder rep i e) Source # fromFoldableM :: Foldable f => f e -> m (AnyBorder rep i e) Source # getLeft :: AnyBorder rep i e -> m [e] Source # getRight :: AnyBorder rep i e -> m [e] Source # (!#>) :: AnyBorder rep i e -> Int -> m e Source # writeM :: AnyBorder rep i e -> Int -> e -> m () Source # copied :: AnyBorder rep i e -> m (AnyBorder rep i e) Source # copied' :: AnyBorder rep i e -> Int -> Int -> m (AnyBorder rep i e) Source # reversed :: AnyBorder rep i e -> m (AnyBorder rep i e) Source # merged :: Foldable f => f (AnyBorder rep i e) -> m (AnyBorder rep i e) Source # filled :: Int -> e -> m (AnyBorder rep i e) Source # copyTo :: AnyBorder rep i e -> Int -> AnyBorder rep i e -> Int -> Int -> m () Source # ofoldrM :: (Int -> e -> r -> m r) -> r -> AnyBorder rep i e -> m r Source # ofoldlM :: (Int -> r -> e -> m r) -> r -> AnyBorder rep i e -> m r Source # ofoldrM' :: (Int -> e -> r -> m r) -> r -> AnyBorder rep i e -> m r Source # ofoldlM' :: (Int -> r -> e -> m r) -> r -> AnyBorder rep i e -> m r Source # foldrM :: (e -> r -> m r) -> r -> AnyBorder rep i e -> m r Source # foldlM :: (r -> e -> m r) -> r -> AnyBorder rep i e -> m r Source # foldrM' :: (e -> r -> m r) -> r -> AnyBorder rep i e -> m r Source # foldlM' :: (r -> e -> m r) -> r -> AnyBorder rep i e -> m r Source # | |

(Index i, BorderedM1 m rep Int e) => BorderedM m (AnyBorder rep i e) i Source # | |

Defined in SDP.Templates.AnyBorder getBounds :: AnyBorder rep i e -> m (i, i) Source # getLower :: AnyBorder rep i e -> m i Source # getUpper :: AnyBorder rep i e -> m i Source # getSizeOf :: AnyBorder rep i e -> m Int Source # getSizesOf :: AnyBorder rep i e -> m [Int] Source # nowIndexIn :: AnyBorder rep i e -> i -> m Bool Source # getOffsetOf :: AnyBorder rep i e -> i -> m Int Source # getIndexOf :: AnyBorder rep i e -> Int -> m i Source # getIndices :: AnyBorder rep i e -> m [i] Source # | |

(Index i, Freeze m (rep e) imm) => Freeze m (AnyBorder rep i e) imm Source # | |

Defined in SDP.Templates.AnyBorder | |

(Index i, Thaw m (rep e) mut) => Thaw m (AnyBorder rep i e) mut Source # | |

Defined in SDP.Templates.AnyBorder | |

(Index i, MapM1 m rep Int e, LinearM1 m rep e, BorderedM1 m rep Int e) => MapM m (AnyBorder rep i e) i e Source # | |

Defined in SDP.Templates.AnyBorder newMap :: [(i, e)] -> m (AnyBorder rep i e) Source # newMap' :: e -> [(i, e)] -> m (AnyBorder rep i e) Source # getAssocs :: AnyBorder rep i e -> m [(i, e)] Source # (>!) :: AnyBorder rep i e -> i -> m e Source # (!>) :: AnyBorder rep i e -> i -> m e Source # (!?>) :: AnyBorder rep i e -> i -> m (Maybe e) Source # updateM :: AnyBorder rep i e -> (i -> e -> e) -> m (AnyBorder rep i e) Source # overwrite :: AnyBorder rep i e -> [(i, e)] -> m (AnyBorder rep i e) Source # memberM' :: AnyBorder rep i e -> i -> m Bool Source # getKeys :: AnyBorder rep i e -> m [i] Source # (.?) :: (e -> Bool) -> AnyBorder rep i e -> m (Maybe i) Source # (*?) :: (e -> Bool) -> AnyBorder rep i e -> m [i] Source # kfoldrM :: (i -> e -> acc -> m acc) -> acc -> AnyBorder rep i e -> m acc Source # kfoldlM :: (i -> acc -> e -> m acc) -> acc -> AnyBorder rep i e -> m acc Source # kfoldrM' :: (i -> e -> acc -> m acc) -> acc -> AnyBorder rep i e -> m acc Source # kfoldlM' :: (i -> acc -> e -> m acc) -> acc -> AnyBorder rep i e -> m acc Source # | |

(Index i, IndexedM1 m rep Int e) => IndexedM m (AnyBorder rep i e) i e Source # | |

Defined in SDP.Templates.AnyBorder fromAssocs :: (i, i) -> [(i, e)] -> m (AnyBorder rep i e) Source # fromAssocs' :: (i, i) -> e -> [(i, e)] -> m (AnyBorder rep i e) Source # writeM' :: AnyBorder rep i e -> i -> e -> m () Source # swapM' :: AnyBorder rep i e -> i -> i -> m () Source # fromIndexed' :: Indexed v' j e => v' -> m (AnyBorder rep i e) Source # fromIndexedM :: IndexedM m v' j e => v' -> m (AnyBorder rep i e) Source # reshaped :: IndexedM m v' j e => (i, i) -> v' -> (i -> j) -> m (AnyBorder rep i e) Source # fromAccum :: (e -> e' -> e) -> AnyBorder rep i e -> [(i, e')] -> m (AnyBorder rep i e) Source # updateM' :: AnyBorder rep i e -> (e -> e) -> i -> m () Source # | |

(Index i, Freeze1 m mut imm e) => Freeze m (AnyBorder mut i e) (AnyBorder imm i e) Source # | |

(Index i, Thaw1 m imm mut e) => Thaw m (AnyBorder imm i e) (AnyBorder mut i e) Source # | |

(Bordered1 rep Int e, Split1 rep e) => Shaped (AnyBorder rep) e Source # | |

Defined in SDP.Templates.AnyBorder defaultRebound :: (Index i, Index j, Bordered2 (AnyBorder rep) i e) => AnyBorder rep i e -> AnyBorder rep j e Source # rebound :: Index i => AnyBorder rep i e -> (i, i) -> AnyBorder rep i e Source # reshape :: (Index i, Index j) => AnyBorder rep i e -> (j, j) -> AnyBorder rep j e Source # (!!) :: SubIndex i j => AnyBorder rep i e -> (i :|: j) -> AnyBorder rep j e Source # slices :: SubIndex i j => AnyBorder rep i e -> [AnyBorder rep j e] Source # unslice :: (Foldable f, SubIndex i j) => f (AnyBorder rep j e) -> AnyBorder rep i e Source # | |

(Index i, Functor rep) => Functor (AnyBorder rep i) Source # | |

(Index i, Applicative rep) => Applicative (AnyBorder rep i) Source # | |

Defined in SDP.Templates.AnyBorder pure :: a -> AnyBorder rep i a # (<*>) :: AnyBorder rep i (a -> b) -> AnyBorder rep i a -> AnyBorder rep i b # liftA2 :: (a -> b -> c) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c # (*>) :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i b # (<*) :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i a # | |

(Index i, Foldable rep) => Foldable (AnyBorder rep i) Source # | |

Defined in SDP.Templates.AnyBorder fold :: Monoid m => AnyBorder rep i m -> m # foldMap :: Monoid m => (a -> m) -> AnyBorder rep i a -> m # foldMap' :: Monoid m => (a -> m) -> AnyBorder rep i a -> m # foldr :: (a -> b -> b) -> b -> AnyBorder rep i a -> b # foldr' :: (a -> b -> b) -> b -> AnyBorder rep i a -> b # foldl :: (b -> a -> b) -> b -> AnyBorder rep i a -> b # foldl' :: (b -> a -> b) -> b -> AnyBorder rep i a -> b # foldr1 :: (a -> a -> a) -> AnyBorder rep i a -> a # foldl1 :: (a -> a -> a) -> AnyBorder rep i a -> a # toList :: AnyBorder rep i a -> [a] # null :: AnyBorder rep i a -> Bool # length :: AnyBorder rep i a -> Int # elem :: Eq a => a -> AnyBorder rep i a -> Bool # maximum :: Ord a => AnyBorder rep i a -> a # minimum :: Ord a => AnyBorder rep i a -> a # | |

(Index i, Traversable rep) => Traversable (AnyBorder rep i) Source # | |

Defined in SDP.Templates.AnyBorder traverse :: Applicative f => (a -> f b) -> AnyBorder rep i a -> f (AnyBorder rep i b) # sequenceA :: Applicative f => AnyBorder rep i (f a) -> f (AnyBorder rep i a) # mapM :: Monad m => (a -> m b) -> AnyBorder rep i a -> m (AnyBorder rep i b) # sequence :: Monad m => AnyBorder rep i (m a) -> m (AnyBorder rep i a) # | |

(Index i, Eq1 rep) => Eq1 (AnyBorder rep i) Source # | |

(Index i, Ord1 rep) => Ord1 (AnyBorder rep i) Source # | |

Defined in SDP.Templates.AnyBorder | |

(Index i, Zip rep) => Zip (AnyBorder rep i) Source # | |

Defined in SDP.Templates.AnyBorder zap :: AnyBorder rep i (a -> b) -> AnyBorder rep i a -> AnyBorder rep i b Source # all2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool Source # all3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool Source # all4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool Source # all5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool Source # all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool Source # any2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool Source # any3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool Source # any4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool Source # any5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool Source # any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool Source # zip :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i (a, b) Source # zip3 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i (a, b, c) Source # zip4 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i (a, b, c, d) Source # zip5 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i (a, b, c, d, e) Source # zip6 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i (a, b, c, d, e, f) Source # zipWith :: (a -> b -> c) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c Source # zipWith3 :: (a -> b -> c -> d) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d Source # zipWith4 :: (a -> b -> c -> d -> e) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e Source # zipWith5 :: (a -> b -> c -> d -> e -> f) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f Source # zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i g Source # | |

(Index i, IsList (rep e), Bordered1 rep Int e) => IsList (AnyBorder rep i e) Source # | |

(Index i, Eq (rep e)) => Eq (AnyBorder rep i e) Source # | |

(Typeable rep, Typeable e, Data i, Data (rep e)) => Data (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnyBorder rep i e -> c (AnyBorder rep i e) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnyBorder rep i e) # toConstr :: AnyBorder rep i e -> Constr # dataTypeOf :: AnyBorder rep i e -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnyBorder rep i e)) # dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (AnyBorder rep i e)) # gmapT :: (forall b. Data b => b -> b) -> AnyBorder rep i e -> AnyBorder rep i e # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnyBorder rep i e -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnyBorder rep i e -> r # gmapQ :: (forall d. Data d => d -> u) -> AnyBorder rep i e -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AnyBorder rep i e -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # | |

(Index i, Ord (rep e)) => Ord (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder compare :: AnyBorder rep i e -> AnyBorder rep i e -> Ordering # (<) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (<=) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (>) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (>=) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # max :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # min :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # | |

(Index i, Read i, Read e, Indexed1 rep Int e) => Read (AnyBorder rep i e) Source # | |

(Indexed1 rep Int Char, Index i, Show i) => Show (AnyBorder rep i Char) Source # | |

(Indexed1 rep Int e, Index i, Show i, Show e) => Show (AnyBorder rep i e) Source # | |

(Index i, IsString (rep Char), Bordered1 rep Int Char) => IsString (AnyBorder rep i Char) Source # | |

Defined in SDP.Templates.AnyBorder fromString :: String -> AnyBorder rep i Char # | |

Generic (AnyBorder rep i e) Source # | |

Linear1 (AnyBorder rep i) e => Semigroup (AnyBorder rep i e) Source # | |

Linear1 (AnyBorder rep i) e => Monoid (AnyBorder rep i e) Source # | |

Linear1 (AnyBorder rep i) e => Default (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder | |

Index i => Estimate (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder (<.=>) :: AnyBorder rep i e -> Int -> Ordering Source # (<==>) :: Compare (AnyBorder rep i e) Source # (.==) :: AnyBorder rep i e -> Int -> Bool Source # (./=) :: AnyBorder rep i e -> Int -> Bool Source # (.<=) :: AnyBorder rep i e -> Int -> Bool Source # (.>=) :: AnyBorder rep i e -> Int -> Bool Source # (.<) :: AnyBorder rep i e -> Int -> Bool Source # (.>) :: AnyBorder rep i e -> Int -> Bool Source # (.<.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (.>.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (.<=.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (.>=.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (.==.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (./=.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # | |

(Index i, Bordered (rep e) Int, Nullable (rep e)) => Nullable (AnyBorder rep i e) Source # | |

(Index i, Sort (rep e) e) => Sort (AnyBorder rep i e) e Source # | |

(Index i, Split1 rep e, Bordered1 rep Int e) => Split (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder take :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # drop :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # keep :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # sans :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # save :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # skip :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # split :: Int -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # divide :: Int -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # splits :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] Source # divides :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] Source # parts :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] Source # chunks :: Int -> AnyBorder rep i e -> [AnyBorder rep i e] Source # splitBy :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # divideBy :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # splitsBy :: (e -> Bool) -> AnyBorder rep i e -> [AnyBorder rep i e] Source # splitsOn :: AnyBorder rep i e -> AnyBorder rep i e -> [AnyBorder rep i e] Source # replaceBy :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # removeAll :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # combo :: Equal e -> AnyBorder rep i e -> Int Source # justifyL :: Int -> e -> AnyBorder rep i e -> AnyBorder rep i e Source # justifyR :: Int -> e -> AnyBorder rep i e -> AnyBorder rep i e Source # each :: Int -> AnyBorder rep i e -> AnyBorder rep i e Source # eachFrom :: Int -> Int -> AnyBorder rep i e -> AnyBorder rep i e Source # isPrefixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # isSuffixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # isInfixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # prefix :: (e -> Bool) -> AnyBorder rep i e -> Int Source # suffix :: (e -> Bool) -> AnyBorder rep i e -> Int Source # infixes :: AnyBorder rep i e -> AnyBorder rep i e -> [Int] Source # dropSide :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # takeWhile :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # dropWhile :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # takeEnd :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # dropEnd :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # spanl :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # breakl :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # spanr :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # breakr :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # selectWhile :: (e -> Maybe a) -> AnyBorder rep i e -> [a] Source # selectEnd :: (e -> Maybe a) -> AnyBorder rep i e -> [a] Source # extractWhile :: (e -> Maybe a) -> AnyBorder rep i e -> ([a], AnyBorder rep i e) Source # extractEnd :: (e -> Maybe a) -> AnyBorder rep i e -> (AnyBorder rep i e, [a]) Source # selectWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a Source # selectEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a Source # extractWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (t a, AnyBorder rep i e) Source # extractEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (AnyBorder rep i e, t a) Source # | |

(Index i, Linear1 rep e, Bordered1 rep Int e) => Linear (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder uncons :: AnyBorder rep i e -> (e, AnyBorder rep i e) Source # uncons' :: AnyBorder rep i e -> Maybe (e, AnyBorder rep i e) Source # toHead :: e -> AnyBorder rep i e -> AnyBorder rep i e Source # head :: AnyBorder rep i e -> e Source # tail :: AnyBorder rep i e -> AnyBorder rep i e Source # unsnoc :: AnyBorder rep i e -> (AnyBorder rep i e, e) Source # unsnoc' :: AnyBorder rep i e -> Maybe (AnyBorder rep i e, e) Source # toLast :: AnyBorder rep i e -> e -> AnyBorder rep i e Source # init :: AnyBorder rep i e -> AnyBorder rep i e Source # last :: AnyBorder rep i e -> e Source # single :: e -> AnyBorder rep i e Source # (++) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # replicate :: Int -> e -> AnyBorder rep i e Source # fromList :: [e] -> AnyBorder rep i e Source # fromListN :: Int -> [e] -> AnyBorder rep i e Source # listR :: AnyBorder rep i e -> [e] Source # listL :: AnyBorder rep i e -> [e] Source # fromFoldable :: Foldable f => f e -> AnyBorder rep i e Source # (!^) :: AnyBorder rep i e -> Int -> e Source # write :: AnyBorder rep i e -> Int -> e -> AnyBorder rep i e Source # concat :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e Source # concatMap :: Foldable f => (a -> AnyBorder rep i e) -> f a -> AnyBorder rep i e Source # intersperse :: e -> AnyBorder rep i e -> AnyBorder rep i e Source # filter :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # except :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # partition :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) Source # partitions :: Foldable f => f (e -> Bool) -> AnyBorder rep i e -> [AnyBorder rep i e] Source # select :: (e -> Maybe a) -> AnyBorder rep i e -> [a] Source # select' :: (t e ~ AnyBorder rep i e, Linear1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a Source # extract :: (e -> Maybe a) -> AnyBorder rep i e -> ([a], AnyBorder rep i e) Source # extract' :: (t e ~ AnyBorder rep i e, Linear1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (t a, AnyBorder rep i e) Source # selects :: Foldable f => f (e -> Maybe a) -> AnyBorder rep i e -> ([[a]], AnyBorder rep i e) Source # selects' :: (Foldable f, t e ~ AnyBorder rep i e, Linear1 t a) => f (e -> Maybe a) -> AnyBorder rep i e -> ([t a], AnyBorder rep i e) Source # isSubseqOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # reverse :: AnyBorder rep i e -> AnyBorder rep i e Source # force :: AnyBorder rep i e -> AnyBorder rep i e Source # subsequences :: AnyBorder rep i e -> [AnyBorder rep i e] Source # iterate :: Int -> (e -> e) -> e -> AnyBorder rep i e Source # nub :: AnyBorder rep i e -> AnyBorder rep i e Source # nubBy :: Equal e -> AnyBorder rep i e -> AnyBorder rep i e Source # ofoldr :: (Int -> e -> b -> b) -> b -> AnyBorder rep i e -> b Source # ofoldl :: (Int -> b -> e -> b) -> b -> AnyBorder rep i e -> b Source # ofoldr' :: (Int -> e -> b -> b) -> b -> AnyBorder rep i e -> b Source # ofoldl' :: (Int -> b -> e -> b) -> b -> AnyBorder rep i e -> b Source # o_foldr :: (e -> b -> b) -> b -> AnyBorder rep i e -> b Source # o_foldl :: (b -> e -> b) -> b -> AnyBorder rep i e -> b Source # o_foldr' :: (e -> b -> b) -> b -> AnyBorder rep i e -> b Source # o_foldl' :: (b -> e -> b) -> b -> AnyBorder rep i e -> b Source # | |

Index i => Bordered (AnyBorder rep i e) i Source # | |

Defined in SDP.Templates.AnyBorder bounds :: AnyBorder rep i e -> (i, i) Source # lower :: AnyBorder rep i e -> i Source # upper :: AnyBorder rep i e -> i Source # sizeOf :: AnyBorder rep i e -> Int Source # sizesOf :: AnyBorder rep i e -> [Int] Source # indexIn :: AnyBorder rep i e -> i -> Bool Source # indices :: AnyBorder rep i e -> [i] Source # | |

(SetWith1 (AnyBorder rep i) e, Nullable (AnyBorder rep i e), Ord e) => Set (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder set :: AnyBorder rep i e -> AnyBorder rep i e Source # insert :: e -> AnyBorder rep i e -> AnyBorder rep i e Source # delete :: e -> AnyBorder rep i e -> AnyBorder rep i e Source # (/\) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # (\/) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # (\\) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # (\^/) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # (/?\) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (\?/) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # (\+/) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # intersections :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e Source # unions :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e Source # differences :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e Source # symdiffs :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e Source # member :: e -> AnyBorder rep i e -> Bool Source # lookupLT :: e -> AnyBorder rep i e -> Maybe e Source # lookupGT :: e -> AnyBorder rep i e -> Maybe e Source # | |

(Index i, SetWith1 rep e, Linear1 rep e, Bordered1 rep Int e) => SetWith (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder setWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e Source # groupSetWith :: Compare e -> (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e Source # insertWith :: Compare e -> e -> AnyBorder rep i e -> AnyBorder rep i e Source # deleteWith :: Compare e -> e -> AnyBorder rep i e -> AnyBorder rep i e Source # intersectionWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # differenceWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # symdiffWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # unionWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # intersectionsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e Source # differencesWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e Source # unionsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e Source # symdiffsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e Source # isIntersectsWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # isDisjointWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # memberWith :: Compare e -> e -> AnyBorder rep i e -> Bool Source # isSubsetWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool Source # subsets :: AnyBorder rep i e -> [AnyBorder rep i e] Source # lookupLTWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e Source # lookupGTWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e Source # lookupGEWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e Source # lookupLEWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e Source # | |

Linear1 (AnyBorder rep i) e => Scan (AnyBorder rep i e) e Source # | |

Defined in SDP.Templates.AnyBorder scanl :: (b -> e -> b) -> b -> AnyBorder rep i e -> [b] Source # scanl' :: (b -> e -> b) -> b -> AnyBorder rep i e -> [b] Source # scanr :: (e -> b -> b) -> b -> AnyBorder rep i e -> [b] Source # scanr' :: (e -> b -> b) -> b -> AnyBorder rep i e -> [b] Source # scanl1 :: (e -> e -> e) -> AnyBorder rep i e -> [e] Source # scanr1 :: (e -> e -> e) -> AnyBorder rep i e -> [e] Source # | |

(Index i, Indexed1 rep Int e) => Map (AnyBorder rep i e) i e Source # | |

Defined in SDP.Templates.AnyBorder assocs :: AnyBorder rep i e -> [(i, e)] Source # toMap :: [(i, e)] -> AnyBorder rep i e Source # toMap' :: e -> [(i, e)] -> AnyBorder rep i e Source # insert' :: i -> e -> AnyBorder rep i e -> AnyBorder rep i e Source # delete' :: i -> AnyBorder rep i e -> AnyBorder rep i e Source # member' :: i -> AnyBorder rep i e -> Bool Source # (//) :: AnyBorder rep i e -> [(i, e)] -> AnyBorder rep i e Source # (.!) :: AnyBorder rep i e -> i -> e Source # (!) :: AnyBorder rep i e -> i -> e Source # (!?) :: AnyBorder rep i e -> i -> Maybe e Source # filter' :: (i -> e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e Source # union' :: (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # difference' :: (e -> e -> Maybe e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # intersection' :: (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e Source # update :: AnyBorder rep i e -> (i -> e -> e) -> AnyBorder rep i e Source # lookupLT' :: i -> AnyBorder rep i e -> Maybe (i, e) Source # lookupGT' :: i -> AnyBorder rep i e -> Maybe (i, e) Source # lookupLE' :: i -> AnyBorder rep i e -> Maybe (i, e) Source # lookupGE' :: i -> AnyBorder rep i e -> Maybe (i, e) Source # keys :: AnyBorder rep i e -> [i] Source # (.$) :: (e -> Bool) -> AnyBorder rep i e -> Maybe i Source # (*$) :: (e -> Bool) -> AnyBorder rep i e -> [i] Source # kfoldr :: (i -> e -> b -> b) -> b -> AnyBorder rep i e -> b Source # kfoldl :: (i -> b -> e -> b) -> b -> AnyBorder rep i e -> b Source # kfoldr' :: (i -> e -> b -> b) -> b -> AnyBorder rep i e -> b Source # kfoldl' :: (i -> b -> e -> b) -> b -> AnyBorder rep i e -> b Source # | |

(Index i, Indexed1 rep Int e) => Indexed (AnyBorder rep i e) i e Source # | |

Defined in SDP.Templates.AnyBorder assoc :: (i, i) -> [(i, e)] -> AnyBorder rep i e Source # assoc' :: (i, i) -> e -> [(i, e)] -> AnyBorder rep i e Source # fromIndexed :: Indexed m j e => m -> AnyBorder rep i e Source # write' :: AnyBorder rep i e -> i -> e -> AnyBorder rep i e Source # accum :: (e -> e' -> e) -> AnyBorder rep i e -> [(i, e')] -> AnyBorder rep i e Source # imap :: Map m j e => (i, i) -> m -> (i -> j) -> AnyBorder rep i e Source # update' :: AnyBorder rep i e -> (e -> e) -> i -> AnyBorder rep i e Source # updates' :: AnyBorder rep i e -> (i -> e -> e) -> AnyBorder rep i e Source # | |

type Rep (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder type Rep (AnyBorder rep i e) = D1 ('MetaData "AnyBorder" "SDP.Templates.AnyBorder" "sdp-0.2-AH2T5KX1xmG8Wo3slp7kFT" 'False) (C1 ('MetaCons "AnyBorder" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (rep e))))) | |

type Item (AnyBorder rep i e) Source # | |

Defined in SDP.Templates.AnyBorder |