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

Dahdit.Fancy

Synopsis

Documentation

newtype TermBytes8 Source #

Bytes terminated with null byte.

Constructors

TermBytes8 

Instances

Instances details
IsString TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

Show TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

Binary TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

Default TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: TermBytes8 #

Eq TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

Ord TermBytes8 Source # 
Instance details

Defined in Dahdit.Fancy

newtype TermBytes16 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

TermBytes16 

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 => StaticByteSized (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

Associated Types

type StaticSize (StaticBytes n) :: Nat Source #

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

type StaticSize (StaticBytes n) Source # 
Instance details

Defined in Dahdit.Fancy

type StaticSize (StaticBytes n) = n

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

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

Defined in Dahdit.Fancy

Associated Types

type StaticSize (StaticSeq n a) :: Nat Source #

(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 #

type StaticSize (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Fancy

type StaticSize (StaticSeq n a) = n * StaticSize a

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

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

Defined in Dahdit.Fancy

Associated Types

type StaticSize (StaticArray n a) :: Nat Source #

(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 #

type StaticSize (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Fancy

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

StaticByteSized BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

Associated Types

type StaticSize BoolByte :: Nat Source #

Default BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: BoolByte #

Eq BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

type StaticSize BoolByte Source # 
Instance details

Defined in Dahdit.Fancy

newtype ExactBytes (n :: Nat) (s :: Symbol) Source #

Constructors

ExactBytes 

Fields

Instances

Instances details
Show (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

showsPrec :: Int -> ExactBytes n s -> ShowS #

show :: ExactBytes n s -> String #

showList :: [ExactBytes n s] -> ShowS #

(SymLen n s, KnownSymbol s, KnownNat n) => Binary (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

(SymLen n s, KnownSymbol s, KnownNat n) => StaticByteSized (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

Associated Types

type StaticSize (ExactBytes n s) :: Nat Source #

Default (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

def :: ExactBytes n s #

Eq (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

Methods

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

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

type StaticSize (ExactBytes n s) Source # 
Instance details

Defined in Dahdit.Fancy

type StaticSize (ExactBytes n s) = n