binrep
Safe HaskellNone
LanguageGHC2021

Binrep.Type.NullTerminated

Description

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

Documentation

data NullTerminate Source #

Null-terminated data. Arbitrary length terminated with a null byte. Permits no null bytes inside the data.

Instances

Instances details
Predicate NullTerminate Source # 
Instance details

Defined in Binrep.Type.NullTerminated

Associated Types

type PredicateName d NullTerminate 
Instance details

Defined in Binrep.Type.NullTerminated

type PredicateName d NullTerminate = "NullTerminate"
Refine NullTerminate ByteString Source #

Null-terminated data may not contain any null bytes.

Instance details

Defined in Binrep.Type.NullTerminated

BLen a => BLen (NullTerminated a) Source # 
Instance details

Defined in Binrep.Type.NullTerminated

Methods

blen :: NullTerminated a -> Int Source #

Get a => Get (NullTerminated a) Source #

We may parse any null-terminated data using a special flatparse combinator.

The combinator doesn't permit distinguishing between the two possible failures: either there was no next null, or the inner parser didn't consume up to it.

Instance details

Defined in Binrep.Type.NullTerminated

Put a => Put (NullTerminated a) Source #

Serialization of null-terminated data may be defined generally using the data's underlying serializer.

Instance details

Defined in Binrep.Type.NullTerminated

type PredicateName d NullTerminate Source # 
Instance details

Defined in Binrep.Type.NullTerminated

type PredicateName d NullTerminate = "NullTerminate"