dahdit-0.3.0: Binary parsing and serialization with integrated size
Safe HaskellSafe-Inferred
LanguageHaskell2010

Dahdit.Fancy

Synopsis

Documentation

newtype TermBytes Source #

Bytes terminated with null byte. NOTE: Terminated with TWO null bytes if the string is even length to align to Word16 boundaries, as required for RIFF format, for example.

Constructors

TermBytes 

Instances

Instances details
IsString TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

Show TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

Binary TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

HasCodec TermBytes Source # 
Instance details

Defined in Dahdit.Codec

ByteSized TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

Default TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: TermBytes #

Eq TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

Ord TermBytes Source # 
Instance details

Defined in Dahdit.Fancy

newtype StaticBytes (n :: Nat) Source #

A fixed-length bytestring (truncated or zero-padded on put if length does not match).

Constructors

StaticBytes 

Instances

Instances details
IsString (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

Show (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

KnownNat n => Binary (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

KnownNat n => ByteSized (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

KnownNat n => StaticByteSized (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

Default (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: StaticBytes n #

KnownNat n => Eq (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

KnownNat n => Ord (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

newtype StaticSeq (n :: Nat) a Source #

Constructors

StaticSeq 

Fields

Instances

Instances details
Foldable (StaticSeq n) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

fold :: Monoid m => StaticSeq n m -> m #

foldMap :: Monoid m => (a -> m) -> StaticSeq n a -> m #

foldMap' :: Monoid m => (a -> m) -> StaticSeq n a -> m #

foldr :: (a -> b -> b) -> b -> StaticSeq n a -> b #

foldr' :: (a -> b -> b) -> b -> StaticSeq n a -> b #

foldl :: (b -> a -> b) -> b -> StaticSeq n a -> b #

foldl' :: (b -> a -> b) -> b -> StaticSeq n a -> b #

foldr1 :: (a -> a -> a) -> StaticSeq n a -> a #

foldl1 :: (a -> a -> a) -> StaticSeq n a -> a #

toList :: StaticSeq n a -> [a] #

null :: StaticSeq n a -> Bool #

length :: StaticSeq n a -> Int #

elem :: Eq a => a -> StaticSeq n a -> Bool #

maximum :: Ord a => StaticSeq n a -> a #

minimum :: Ord a => StaticSeq n a -> a #

sum :: Num a => StaticSeq n a -> a #

product :: Num a => StaticSeq n a -> a #

Functor (StaticSeq n) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

fmap :: (a -> b) -> StaticSeq n a -> StaticSeq n b #

(<$) :: a -> StaticSeq n b -> StaticSeq n a #

Show a => Show (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

showsPrec :: Int -> StaticSeq n a -> ShowS #

show :: StaticSeq n a -> String #

showList :: [StaticSeq n a] -> ShowS #

(KnownNat n, Binary a, StaticByteSized a, Default a) => Binary (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

get :: Get (StaticSeq n a) Source #

put :: StaticSeq n a -> Put Source #

(KnownNat n, Binary a, StaticByteSized a, Default a) => HasCodec (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (StaticSeq n a) Source #

(KnownNat n, StaticByteSized a) => ByteSized (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

(KnownNat n, StaticByteSized a) => StaticByteSized (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

(KnownNat n, Default a) => Default (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: StaticSeq n a #

Eq a => Eq (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

(==) :: StaticSeq n a -> StaticSeq n a -> Bool #

(/=) :: StaticSeq n a -> StaticSeq n a -> Bool #

newtype StaticArray (n :: Nat) a Source #

Constructors

StaticArray 

Instances

Instances details
Show (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

showsPrec :: Int -> StaticArray n a -> ShowS #

show :: StaticArray n a -> String #

showList :: [StaticArray n a] -> ShowS #

(KnownNat n, LiftedPrim a, Default a) => Binary (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

get :: Get (StaticArray n a) Source #

put :: StaticArray n a -> Put Source #

(KnownNat n, LiftedPrim a, Default a) => HasCodec (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (StaticArray n a) Source #

(KnownNat n, StaticByteSized a) => ByteSized (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

(KnownNat n, StaticByteSized a) => StaticByteSized (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

(KnownNat n, LiftedPrim a, Default a) => Default (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: StaticArray n a #

Eq (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

(==) :: StaticArray n a -> StaticArray n a -> Bool #

(/=) :: StaticArray n a -> StaticArray n a -> Bool #

newtype BoolByte Source #

Constructors

BoolByte 

Fields

Instances

Instances details
Show BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

Binary BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

HasCodec BoolByte Source # 
Instance details

Defined in Dahdit.Codec

ByteSized BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

StaticByteSized BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

Default BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: BoolByte #

Eq BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

newtype ExactBytes (s :: Symbol) Source #

Constructors

ExactBytes 

Fields

Instances

Instances details
Show (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

KnownSymbol s => Binary (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

KnownSymbol s => HasCodec (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (ExactBytes s) Source #

KnownSymbol s => ByteSized (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

KnownSymbol s => StaticByteSized (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

Default (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: ExactBytes s #

Eq (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

(==) :: ExactBytes s -> ExactBytes s -> Bool #

(/=) :: ExactBytes s -> ExactBytes s -> Bool #