ObjFile
val make_id : string -> 'a id
val open_in : file:string -> in_handle
val close_in : in_handle -> unit
val segments : in_handle -> Stdlib.Obj.t segment CString.Map.t
val open_out : file:string -> out_handle
val close_out : out_handle -> unit
val marshal_out_segment : out_handle -> segment:'a id -> 'a -> unit
val marshal_out_binary : out_handle -> segment:'a id -> Stdlib.out_channel * (unit -> unit)
marshal_out_binary oh segment
is a low level, stateful, API returning oc, stop
. Once called no other API can be used on the same oh
and only Stdlib.output_*
APIs should be used on oc
. stop ()
must be invoked in order to signal that all data was written to oc
(which should not be used afterwards). Only after calling stop
the other API can be used on oh
.