| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Binrep.Type.NullPadded
Description
Data null-padded to a given length.
Synopsis
- data NullPad (n :: Natural)
- type NullPadded n a = Refined (NullPad n) a
Documentation
data NullPad (n :: Natural) Source #
Instances
| (BLen a, KnownNat n) => Predicate (NullPad n :: Type) a Source # | |
Defined in Binrep.Type.NullPadded | |
| IsCBLen (NullPadded n a :: Type) Source # | |
Defined in Binrep.Type.NullPadded Associated Types type CBLen (NullPadded n a) :: Natural Source # | |
| KnownNat n => BLen (NullPadded n a) Source # | |
Defined in Binrep.Type.NullPadded Methods blen :: NullPadded n a -> Int Source # | |
| (Get a, KnownNat n) => Get (NullPadded n a) Source # | |
Defined in Binrep.Type.NullPadded Methods get :: Getter (NullPadded n a) Source # | |
| (BLen a, KnownNat n, Put a) => Put (NullPadded n a) Source # | |
Defined in Binrep.Type.NullPadded Methods put :: NullPadded n a -> Putter Source # | |
| (BLen a, KnownNat n, PutC a) => PutC (NullPadded n a) Source # | |
Defined in Binrep.Type.NullPadded Methods putC :: NullPadded n a -> PutterC Source # | |
| type CBLen (NullPadded n a :: Type) Source # | |
Defined in Binrep.Type.NullPadded | |
type NullPadded n a = Refined (NullPad n) a Source #
A type which is to be null-padded to a given total length.
Given some a :: , it is guaranteed thatNullPadded n a
blena<=natValInt@n
thus
natValInt@n-blena>=0
That is, the serialized stored data will not be longer than the total length.
The binrep instances are careful not to construct bytestrings unnecessarily.