Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
C-style null-terminated data.
I mix string and bytestring terminology here, due to bad C influences. This
module is specifically interested in bytestrings and their encoding. String/text
encoding is handled in Text
.
Synopsis
- data NullTerminate
- type NullTerminated = Refined NullTerminate
- class NullCheck a where
- hasNoNulls :: a -> Bool
Documentation
data NullTerminate Source #
Null-terminated data. Arbitrary length terminated with a null byte. Permits no null bytes inside the data.
Instances
NullCheck a => Predicate NullTerminate a Source # | Null-terminated data may not contain any null bytes. |
Defined in Binrep.Type.NullTerminated validate :: Proxy NullTerminate -> a -> Maybe RefineException # | |
BLen a => BLen (NullTerminated a) Source # | |
Defined in Binrep.Type.NullTerminated blen :: NullTerminated a -> Int Source # | |
Get (NullTerminated ByteString) Source # | Parse a null-terminated bytestring. |
Defined in Binrep.Type.NullTerminated get :: Getter (NullTerminated ByteString) Source # | |
Put a => Put (NullTerminated a) Source # | Serialization of null-terminated data may be defined generally using the data's underlying serializer. |
Defined in Binrep.Type.NullTerminated put :: NullTerminated a -> Poke Source # |
type NullTerminated = Refined NullTerminate Source #
class NullCheck a where Source #
hasNoNulls :: a -> Bool Source #
Instances
NullCheck ByteString Source # | |
Defined in Binrep.Type.NullTerminated hasNoNulls :: ByteString -> Bool Source # |