`sig
type input = BatInnerIO.input
type 'a output = 'a BatInnerIO.output
type ('a, 'b) printer = 'b BatIO.output -> 'a -> unit
type 'a f_printer = Format.formatter -> 'a -> unit
exception No_more_input
exception Input_closed
exception Output_closed
val stdin : BatIO.input
val stdout : unit BatIO.output
val stderr : unit BatIO.output
val stdnull : unit BatIO.output
val read : BatIO.input -> char
val nread : BatIO.input -> int -> string
val really_nread : BatIO.input -> int -> string
val input : BatIO.input -> string -> int -> int -> int
val really_input : BatIO.input -> string -> int -> int -> int
val close_in : BatIO.input -> unit
val write : (char, 'a) BatIO.printer
val nwrite : (string, 'a) BatIO.printer
val output : 'a BatIO.output -> string -> int -> int -> int
val really_output : 'a BatIO.output -> string -> int -> int -> int
val flush : 'a BatIO.output -> unit
val flush_all : unit -> unit
val close_out : 'a BatIO.output -> 'a
val close_all : unit -> unit
val input_string : string -> BatIO.input
val output_string : unit -> string BatIO.output
val input_enum : char BatEnum.t -> BatIO.input
val output_enum : unit -> char BatEnum.t BatIO.output
val combine : 'a BatIO.output * 'b BatIO.output -> ('a * 'b) BatIO.output
val tab_out : ?tab:char -> int -> 'a BatIO.output -> unit BatIO.output
val read_all : BatIO.input -> string
val pipe : unit -> BatIO.input * unit BatIO.output
val copy : ?buffer:int -> BatIO.input -> 'a BatIO.output -> unit
val pos_in : BatIO.input -> BatIO.input * (unit -> int)
val progress_in : BatIO.input -> (unit -> unit) -> BatIO.input
val pos_out : 'a BatIO.output -> unit BatIO.output * (unit -> int)
val progress_out : 'a BatIO.output -> (unit -> unit) -> unit BatIO.output
external cast_output : 'a BatIO.output -> unit BatIO.output = "%identity"
exception Overflow of string
val read_byte : BatIO.input -> int
val read_signed_byte : BatIO.input -> int
val read_ui16 : BatIO.input -> int
val read_i16 : BatIO.input -> int
val read_i32 : BatIO.input -> int
val read_real_i32 : BatIO.input -> int32
val read_i64 : BatIO.input -> int64
val read_float : BatIO.input -> float
val read_double : BatIO.input -> float
val read_string : BatIO.input -> string
val read_line : BatIO.input -> string
val write_byte : (int, 'a) BatIO.printer
val write_ui16 : (int, 'a) BatIO.printer
val write_i16 : (int, 'a) BatIO.printer
val write_i32 : (int, 'a) BatIO.printer
val write_real_i32 : (int32, 'a) BatIO.printer
val write_i64 : (int64, 'a) BatIO.printer
val write_double : (float, 'a) BatIO.printer
val write_float : (float, 'a) BatIO.printer
val write_string : (string, 'a) BatIO.printer
val write_line : (string, 'a) BatIO.printer
module BigEndian :
sig
val read_ui16 : BatIO.input -> int
val read_i16 : BatIO.input -> int
val read_i32 : BatIO.input -> int
val read_real_i32 : BatIO.input -> int32
val read_i64 : BatIO.input -> int64
val read_double : BatIO.input -> float
val read_float : BatIO.input -> float
val write_ui16 : (int, 'a) BatIO.printer
val write_i16 : (int, 'a) BatIO.printer
val write_i32 : (int, 'a) BatIO.printer
val write_real_i32 : (int32, 'a) BatIO.printer
val write_i64 : (int64, 'a) BatIO.printer
val write_double : (float, 'a) BatIO.printer
val write_float : (float, 'a) BatIO.printer
val ui16s_of : BatIO.input -> int BatEnum.t
val i16s_of : BatIO.input -> int BatEnum.t
val i32s_of : BatIO.input -> int BatEnum.t
val real_i32s_of : BatIO.input -> int32 BatEnum.t
val i64s_of : BatIO.input -> int64 BatEnum.t
val doubles_of : BatIO.input -> float BatEnum.t
val floats_of : BatIO.input -> float BatEnum.t
end
type in_bits
type out_bits
exception Bits_error
val input_bits : BatIO.input -> BatIO.in_bits
val output_bits : 'a BatIO.output -> BatIO.out_bits
val read_bits : BatIO.in_bits -> int -> int
val write_bits : BatIO.out_bits -> nbits:int -> int -> unit
val flush_bits : BatIO.out_bits -> unit
val drop_bits : BatIO.in_bits -> unit
val create_in :
read:(unit -> char) ->
input:(string -> int -> int -> int) ->
close:(unit -> unit) -> BatIO.input
val wrap_in :
read:(unit -> char) ->
input:(string -> int -> int -> int) ->
close:(unit -> unit) -> underlying:BatIO.input list -> BatIO.input
val inherit_in :
?read:(unit -> char) ->
?input:(string -> int -> int -> int) ->
?close:(unit -> unit) -> BatIO.input -> BatIO.input
val create_out :
write:(char -> unit) ->
output:(string -> int -> int -> int) ->
flush:(unit -> unit) -> close:(unit -> 'a) -> 'a BatIO.output
val wrap_out :
write:(char -> unit) ->
output:(string -> int -> int -> int) ->
flush:(unit -> unit) ->
close:(unit -> 'a) -> underlying:'b BatIO.output list -> 'a BatIO.output
val inherit_out :
?write:(char -> unit) ->
?output:(string -> int -> int -> int) ->
?flush:(unit -> unit) ->
?close:(unit -> unit) -> 'a BatIO.output -> unit BatIO.output
val input_channel :
?autoclose:bool -> ?cleanup:bool -> Pervasives.in_channel -> BatIO.input
val output_channel :
?cleanup:bool -> Pervasives.out_channel -> unit BatIO.output
val to_input_channel : BatIO.input -> Pervasives.in_channel
class in_channel :
BatIO.input ->
object
method close_in : unit -> unit
method input : string -> int -> int -> int
end
class out_channel :
'a BatIO.output ->
object
method close_out : unit -> unit
method flush : unit -> unit
method output : string -> int -> int -> int
end
class in_chars :
BatIO.input ->
object method close_in : unit -> unit method get : unit -> char end
class out_chars :
'a BatIO.output ->
object
method close_out : unit -> unit
method flush : unit -> unit
method put : char -> unit
end
val from_in_channel : #BatIO.in_channel -> BatIO.input
val from_out_channel : #BatIO.out_channel -> unit BatIO.output
val from_in_chars : #BatIO.in_chars -> BatIO.input
val from_out_chars : #BatIO.out_chars -> unit BatIO.output
val bytes_of : BatIO.input -> int BatEnum.t
val signed_bytes_of : BatIO.input -> int BatEnum.t
val ui16s_of : BatIO.input -> int BatEnum.t
val i16s_of : BatIO.input -> int BatEnum.t
val i32s_of : BatIO.input -> int BatEnum.t
val real_i32s_of : BatIO.input -> int32 BatEnum.t
val i64s_of : BatIO.input -> int64 BatEnum.t
val doubles_of : BatIO.input -> float BatEnum.t
val floats_of : BatIO.input -> float BatEnum.t
val strings_of : BatIO.input -> string BatEnum.t
val lines_of : BatIO.input -> string BatEnum.t
val lines_of2 : BatIO.input -> string BatEnum.t
val chunks_of : int -> BatIO.input -> string BatEnum.t
val chars_of : BatIO.input -> char BatEnum.t
val bits_of : BatIO.in_bits -> int BatEnum.t
val write_bitss : nbits:int -> BatIO.out_bits -> int BatEnum.t -> unit
val default_buffer_size : int
val synchronize_in : ?lock:BatConcurrent.lock -> BatIO.input -> BatIO.input
val synchronize_out :
?lock:BatConcurrent.lock -> 'a BatIO.output -> unit BatIO.output
val lock : BatConcurrent.lock Pervasives.ref
val lock_factory : (unit -> BatConcurrent.lock) Pervasives.ref
val to_string : ('a, string) BatIO.printer -> 'a -> string
val to_f_printer : ('a, 'b) BatIO.printer -> 'a BatIO.f_printer
val comb : 'a BatIO.output * 'a BatIO.output -> 'a BatIO.output
val make_enum : (BatIO.input -> 'a) -> BatIO.input -> 'a BatEnum.t
val get_output_id : 'a BatIO.output -> int
val get_input_id : BatIO.input -> int
module Incubator :
sig
module Array :
sig
val pp :
?flush:bool ->
?first:string ->
?last:string ->
?sep:string ->
?indent:int ->
(Format.formatter -> 'a -> 'b) ->
Format.formatter -> 'a array -> unit
end
module Enum :
sig
val pp :
?flush:bool ->
?first:string ->
?last:string ->
?sep:string ->
?indent:int ->
(Format.formatter -> 'a -> 'b) ->
Format.formatter -> 'a BatEnum.t -> unit
end
module List :
sig
val pp :
?flush:bool ->
?first:string ->
?last:string ->
?sep:string ->
?indent:int ->
(Format.formatter -> 'a -> 'b) ->
Format.formatter -> 'a list -> unit
end
end
end`