bytepatch-0.4.0: Patch byte-representable data in a bytestream
Safe HaskellSafe-Inferred
LanguageHaskell2010

StreamPatch.Patch.Linearize.InPlace

Documentation

type Len = Int Source #

class HasLength a where Source #

Methods

getLength :: a -> Len Source #

Returns non-negative values only.

Instances

Instances details
HasLength ByteString Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

HasLength Text Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

getLength :: Text -> Len Source #

HasLength String Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

getLength :: String -> Len Source #

data Error fs a Source #

Constructors

ErrorOverlap

Two edits wrote to the same offset.

Fields

Instances

Instances details
Foldable (HFunctorList fs) => Foldable (Error fs) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

fold :: Monoid m => Error fs m -> m #

foldMap :: Monoid m => (a -> m) -> Error fs a -> m #

foldMap' :: Monoid m => (a -> m) -> Error fs a -> m #

foldr :: (a -> b -> b) -> b -> Error fs a -> b #

foldr' :: (a -> b -> b) -> b -> Error fs a -> b #

foldl :: (b -> a -> b) -> b -> Error fs a -> b #

foldl' :: (b -> a -> b) -> b -> Error fs a -> b #

foldr1 :: (a -> a -> a) -> Error fs a -> a #

foldl1 :: (a -> a -> a) -> Error fs a -> a #

toList :: Error fs a -> [a] #

null :: Error fs a -> Bool #

length :: Error fs a -> Int #

elem :: Eq a => a -> Error fs a -> Bool #

maximum :: Ord a => Error fs a -> a #

minimum :: Ord a => Error fs a -> a #

sum :: Num a => Error fs a -> a #

product :: Num a => Error fs a -> a #

Traversable (HFunctorList fs) => Traversable (Error fs) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

traverse :: Applicative f => (a -> f b) -> Error fs a -> f (Error fs b) #

sequenceA :: Applicative f => Error fs (f a) -> f (Error fs a) #

mapM :: Monad m => (a -> m b) -> Error fs a -> m (Error fs b) #

sequence :: Monad m => Error fs (m a) -> m (Error fs a) #

Functor (HFunctorList fs) => Functor (Error fs) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

fmap :: (a -> b) -> Error fs a -> Error fs b #

(<$) :: a -> Error fs b -> Error fs a #

Generic (Error fs a) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Associated Types

type Rep (Error fs a) :: Type -> Type #

Methods

from :: Error fs a -> Rep (Error fs a) x #

to :: Rep (Error fs a) x -> Error fs a #

(Show a, ReifyConstraint Show (Flap a) fs, RMap fs, RecordToList fs) => Show (Error fs a) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

showsPrec :: Int -> Error fs a -> ShowS #

show :: Error fs a -> String #

showList :: [Error fs a] -> ShowS #

(Eq a, Eq (Rec (Flap a) fs)) => Eq (Error fs a) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

Methods

(==) :: Error fs a -> Error fs a -> Bool #

(/=) :: Error fs a -> Error fs a -> Bool #

type Rep (Error fs a) Source # 
Instance details

Defined in StreamPatch.Patch.Linearize.InPlace

type Rep (Error fs a) = D1 ('MetaData "Error" "StreamPatch.Patch.Linearize.InPlace" "bytepatch-0.4.0-inplace" 'False) (C1 ('MetaCons "ErrorOverlap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Len) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Patch Len fs a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Patch Len fs a)))))

linearizeInPlace :: forall a fs. HasLength a => [Patch Len fs a] -> Either (Error fs a) [Patch Len fs a] Source #