Module Core__Iobuf.Expert
The Expert
module is for building efficient out-of-module Iobuf
abstractions.
val buf : (_, _) t -> Core__.Import.Bigstring.t
These accessors will not allocate, and are mainly here to assist in building low-cost syscall wrappers.
One must be careful to avoid writing out of the limits (between
lo_min
andhi_max
) of thebuf
. Doing so would violate the invariants of the parentIobuf
.
val hi_max : (_, _) t -> int
val hi : (_, _) t -> int
val lo : (_, _) t -> int
val lo_min : (_, _) t -> int
to_bigstring_shared t
andto_iobuf_shared t
allocate new wrappers around the storage ofbuf t
, relative tot
's current bounds.These operations allow access outside the bounds and limits of
t
, and without respect to its read/write access. Be careful not to violatet
's invariants.
val reinitialize_of_bigstring : (_, _) t -> pos:int -> len:int -> Core__.Import.Bigstring.t -> unit
reinitialize_of_bigstring t bigstring
reinitializest
with backingbigstring
, and the window and limits specified starting atpos
and of lengthlen
.