binrep
Safe HaskellNone
LanguageGHC2021

Binrep.Type.NullPadded

Description

Data null-padded to a given length.

Synopsis

Documentation

data NullPad (n :: Natural) Source #

Instances

Instances details
Predicate (NullPad n :: Type) Source # 
Instance details

Defined in Binrep.Type.NullPadded

(KnownPredicateName (NullPad n), BLen a, KnownNat n) => Refine (NullPad n :: Type) a Source #

Assert that term will fit.

Instance details

Defined in Binrep.Type.NullPadded

Methods

validate :: Proxy# (NullPad n) -> a -> Maybe RefineFailure #

IsCBLen (NullPadded n a :: Type) Source # 
Instance details

Defined in Binrep.Type.NullPadded

Associated Types

type CBLen (NullPadded n a :: Type) 
Instance details

Defined in Binrep.Type.NullPadded

type CBLen (NullPadded n a :: Type) = n
KnownNat n => BLen (NullPadded n a) Source # 
Instance details

Defined in Binrep.Type.NullPadded

Methods

blen :: NullPadded n a -> Int Source #

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

Defined in Binrep.Type.NullPadded

Methods

get :: Getter (NullPadded n 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 #

(BLen a, KnownNat n, Put a) => Put (NullPadded n a) Source # 
Instance details

Defined in Binrep.Type.NullPadded

Methods

put :: NullPadded n a -> Putter Source #

(BLen a, KnownNat n, Put a) => PutC (NullPadded n a) Source # 
Instance details

Defined in Binrep.Type.NullPadded

Methods

putC :: NullPadded n a -> PutterC Source #

type PredicateName d (NullPad n :: Type) Source # 
Instance details

Defined in Binrep.Type.NullPadded

type PredicateName d (NullPad n :: Type) = ShowParen (d > 9) ("NullPad " ++ ShowNatDec n)
type CBLen (NullPadded n a :: Type) Source # 
Instance details

Defined in Binrep.Type.NullPadded

type CBLen (NullPadded n a :: Type) = n

type NullPadded (n :: Natural) a = Refined (NullPad n) a Source #

A type which is to be null-padded to a given total length.

Given some a :: NullPadded n a, it is guaranteed that

blen a <= natValInt @n

thus

natValInt @n - blen a >= 0

That is, the serialized stored data will not be longer than the total length.