binrep
Safe HaskellNone
LanguageGHC2021

Binrep.Get.Struct

Synopsis

Documentation

class GetC a where Source #

constant size parser

Methods

getC :: GetterC a Source #

Instances

Instances details
GetC Int8 Source # 
Instance details

Defined in Binrep.Get.Struct

GetC Word8 Source # 
Instance details

Defined in Binrep.Get.Struct

GetC () Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC () Source #

(Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetC (Generically a) Source # 
Instance details

Defined in Binrep.Get.Struct

(Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetC (GenericallyNonSum a) Source # 
Instance details

Defined in Binrep.Get.Struct

Prim' a => GetC (ViaPrim a) Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC (ViaPrim a) Source #

(bs ~ MagicBytes a, ParseReifyBytesW64 0 bs) => GetC (Magic a) Source #

Efficiently parse a Magic a. Serialization constraints are included as we emit the expected bytestring in errors.

Instance details

Defined in Binrep.Type.Magic

Methods

getC :: GetterC (Magic a) Source #

(KnownNat n, Get a) => GetC (NullPadded n a) Source #

Run a Getter a isolated to n bytes.

Instance details

Defined in Binrep.Type.NullPadded

Methods

getC :: GetterC (NullPadded n a) Source #

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Int8) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Word8) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (Refined pr (Refined pl a)) => GetC (Refined (And pl pr) a) Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC (Refined (And pl pr) a) Source #

getGenericStruct :: (Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetterC a Source #

Serialize a term of the struct-like type a via its Generic instance.

unsafeRunGetCPtr :: GetC a => Ptr Word8 -> Either (ParseError Int Builder) a Source #

doesn't check len