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

StreamPatch.Seek

Synopsis

Documentation

class Seek (s :: Type) where Source #

Associated Types

type SeekRep s :: Type Source #

Methods

unSeek :: s -> SeekRep s Source #

mkSeek :: SeekRep s -> s Source #

newtype SIx a Source #

Seek to stream index. Relative to a base, which can either move during patching (actual relative) or stay constant ("absolute"). We abstract over the internal type to allow using natural types where we want to disallow negatives, and possibly allow sized types for efficiency.

Constructors

SIx 

Fields

Instances

Instances details
FromJSON a => FromJSON (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

parseJSON :: Value -> Parser (SIx a) #

parseJSONList :: Value -> Parser [SIx a] #

ToJSON a => ToJSON (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

toJSON :: SIx a -> Value #

toEncoding :: SIx a -> Encoding #

toJSONList :: [SIx a] -> Value #

toEncodingList :: [SIx a] -> Encoding #

Data a => Data (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SIx a -> c (SIx a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SIx a) #

toConstr :: SIx a -> Constr #

dataTypeOf :: SIx a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SIx a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SIx a)) #

gmapT :: (forall b. Data b => b -> b) -> SIx a -> SIx a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SIx a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SIx a -> r #

gmapQ :: (forall d. Data d => d -> u) -> SIx a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SIx a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SIx a -> m (SIx a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SIx a -> m (SIx a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SIx a -> m (SIx a) #

Generic (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Associated Types

type Rep (SIx a) :: Type -> Type #

Methods

from :: SIx a -> Rep (SIx a) x #

to :: Rep (SIx a) x -> SIx a #

Show a => Show (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

showsPrec :: Int -> SIx a -> ShowS #

show :: SIx a -> String #

showList :: [SIx a] -> ShowS #

Eq a => Eq (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

(==) :: SIx a -> SIx a -> Bool #

(/=) :: SIx a -> SIx a -> Bool #

Ord a => Ord (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

Methods

compare :: SIx a -> SIx a -> Ordering #

(<) :: SIx a -> SIx a -> Bool #

(<=) :: SIx a -> SIx a -> Bool #

(>) :: SIx a -> SIx a -> Bool #

(>=) :: SIx a -> SIx a -> Bool #

max :: SIx a -> SIx a -> SIx a #

min :: SIx a -> SIx a -> SIx a #

type Rep (SIx a) Source # 
Instance details

Defined in StreamPatch.Seek

type Rep (SIx a) = D1 ('MetaData "SIx" "StreamPatch.Seek" "bytepatch-0.4.0-inplace" 'True) (C1 ('MetaCons "SIx" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSIx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))