binrep-0.3.1: Encode precise binary representations directly in types
Safe HaskellSafe-Inferred
LanguageHaskell2010

Binrep.Example.Tiff

Documentation

type W8 = I 'U 'I1 'LE Source #

data Tiff where Source #

Constructors

Tiff :: (Put (I 'U 'I4 end), bs ~ MagicBytes (TiffMagic end), ReifyBytes bs, KnownNat (Length bs)) => TiffBody end -> Tiff 

Instances

Instances details
Show Tiff Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

showsPrec :: Int -> Tiff -> ShowS #

show :: Tiff -> String #

showList :: [Tiff] -> ShowS #

BLen Tiff Source # 
Instance details

Defined in Binrep.Example.Tiff

Associated Types

type CBLen Tiff :: Natural Source #

Methods

blen :: Tiff -> BLenT Source #

Get Tiff Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

get :: Getter Tiff Source #

Put Tiff Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

put :: Tiff -> Builder Source #

type CBLen Tiff Source # 
Instance details

Defined in Binrep.Example.Tiff

type CBLen Tiff = TypeError ('Text "No CBLen associated family instance defined for " :<>: 'ShowType Tiff) :: Natural

data TiffBody (end :: Endianness) Source #

Constructors

TiffBody 

Fields

Instances

Instances details
(KnownSymbol (TiffMagic end), Typeable end) => Data (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TiffBody end -> c (TiffBody end) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TiffBody end) #

toConstr :: TiffBody end -> Constr #

dataTypeOf :: TiffBody end -> DataType #

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

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

gmapT :: (forall b. Data b => b -> b) -> TiffBody end -> TiffBody end #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TiffBody end -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TiffBody end -> r #

gmapQ :: (forall d. Data d => d -> u) -> TiffBody end -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TiffBody end -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TiffBody end -> m (TiffBody end) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TiffBody end -> m (TiffBody end) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TiffBody end -> m (TiffBody end) #

Generic (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Associated Types

type Rep (TiffBody end) :: Type -> Type #

Methods

from :: TiffBody end -> Rep (TiffBody end) x #

to :: Rep (TiffBody end) x -> TiffBody end #

Show (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

showsPrec :: Int -> TiffBody end -> ShowS #

show :: TiffBody end -> String #

showList :: [TiffBody end] -> ShowS #

(bs ~ MagicBytes (TiffMagic end), KnownNat (Length bs)) => BLen (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Associated Types

type CBLen (TiffBody end) :: Natural Source #

Methods

blen :: TiffBody end -> BLenT Source #

(bs ~ MagicBytes (TiffMagic end), ReifyBytes bs, irep ~ I 'U 'I4 end, Get irep) => Get (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

get :: Getter (TiffBody end) Source #

(bs ~ MagicBytes (TiffMagic end), ReifyBytes bs, irep ~ I 'U 'I4 end, Put irep) => Put (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

put :: TiffBody end -> Builder Source #

Eq (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

Methods

(==) :: TiffBody end -> TiffBody end -> Bool #

(/=) :: TiffBody end -> TiffBody end -> Bool #

type Rep (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

type Rep (TiffBody end) = D1 ('MetaData "TiffBody" "Binrep.Example.Tiff" "binrep-0.3.1-inplace" 'False) (C1 ('MetaCons "TiffBody" 'PrefixI 'True) (S1 ('MetaSel ('Just "tiffBodyMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Magic (TiffMagic end))) :*: S1 ('MetaSel ('Just "tiffBodyExInt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (I 'U 'I4 end))))
type CBLen (TiffBody end) Source # 
Instance details

Defined in Binrep.Example.Tiff

type CBLen (TiffBody end) = TypeError ('Text "No CBLen associated family instance defined for " :<>: 'ShowType (TiffBody end)) :: Natural

type family TiffMagic (end :: Endianness) :: Symbol where ... Source #

Equations

TiffMagic 'LE = "II" 
TiffMagic 'BE = "MM"