peek package:store
Serialized a value from bytes, throwing exceptions if it encounters
invalid data or runs out of input bytes.
Serialized a value from bytes, throwing exceptions if it encounters
invalid data or runs out of input bytes.
Peek actions are useful for building sequential deserializers.
They are actions which read from memory and construct values from it.
The
Applicative and
Monad instances make it easy to
chain these together to get more complicated deserializers. This
machinery keeps track of the current
Ptr and end-of-buffer
Ptr.
Ensure the presence of a given magic value.
Throws a
PeekException if the value isn't present.
Decode the results of
pokeOrdMap using a given function to
construct the map.
Implement
peek for an
IsSequence of
Store
instances.
Note that many monomorphic containers have more efficient
implementations (for example, via memcpy).
Exception thrown while running
peek. Note that other types of
exceptions can also be thrown. Invocations of
fail in the
Poke monad causes this exception to be thrown.
PeekException is thrown when the data being decoded is invalid.
Run the
Peek action, with a
Ptr to the end of the buffer
where data is poked, and a
Ptr to the current position. The
result is the
Ptr, along with a return value.
May throw a
PeekException if the memory contains invalid
values.