Functor Syscall_result.Make

module Make: 
functor (M : Arg) ->
functor (* : sig
end) -> S with type ok_value := M.t
Parameters:
M : Arg
* : ()

type ok_value 
type 'a syscall_result 
type t = ok_value syscall_result 
val create_ok : ok_value -> t
val create_error : Unix_error.t -> t
val is_ok : t -> bool
val is_error : t -> bool
val to_result : t ->
(ok_value, Unix_error.t) Core_kernel.Std.Result.t
This returns a preallocated object for all errors and at least a few ok_values, so can be used in many contexts where avoiding allocation is important.
val ok_exn : t -> ok_value
val error_exn : t -> Unix_error.t
val reinterpret_error_exn : t -> 'a syscall_result
This is more efficient than calling error_exn and then the create_error of the destination type.
val ok_or_unix_error_exn : t ->
syscall_name:string -> ok_value
val ok_or_unix_error_with_args_exn : t ->
syscall_name:string ->
'a -> ('a -> Core_kernel.Std.Sexp.t) -> ok_value
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int

This returns a preallocated object for all errors and at least a few ok_values, so can be used in many contexts where avoiding allocation is important.

This is more efficient than calling error_exn and then the create_error of the destination type.