sig
type item = Biocaml_internal_utils.Line.t
module MakeIO :
functor (Future : Future.S) ->
sig
val read : Future.Reader.t -> Biocaml_lines.item Future.Pipe.Reader.t
val write :
Future.Writer.t ->
Biocaml_lines.item Future.Pipe.Reader.t -> unit Future.Deferred.t
val write_file :
?perm:int ->
?append:bool ->
string ->
Biocaml_lines.item Future.Pipe.Reader.t -> unit Future.Deferred.t
end
val read : Future_std.Reader.t -> item Future_std.Pipe.Reader.t
val write :
Future_std.Writer.t ->
item Future_std.Pipe.Reader.t -> unit Future_std.Deferred.t
val write_file :
?perm:int ->
?append:bool ->
string -> item Future_std.Pipe.Reader.t -> unit Future_std.Deferred.t
val of_char_stream :
char Biocaml_internal_utils.Stream.t ->
Biocaml_lines.item Biocaml_internal_utils.Stream.t
val of_channel :
Pervasives.in_channel ->
Biocaml_lines.item Biocaml_internal_utils.Stream.t
val of_string :
string -> Biocaml_lines.item Biocaml_internal_utils.Stream.t
val to_channel :
Biocaml_lines.item Biocaml_internal_utils.Stream.t ->
Pervasives.out_channel -> unit
module Buffer :
sig
type t
exception No_next_line
val make : ?filename:string -> unit -> Biocaml_lines.Buffer.t
val feed_line : Biocaml_lines.Buffer.t -> Biocaml_lines.item -> unit
val feed_string : Biocaml_lines.Buffer.t -> string -> unit
val queued_lines : Biocaml_lines.Buffer.t -> int
val is_empty : Biocaml_lines.Buffer.t -> bool
val peek_line : Biocaml_lines.Buffer.t -> Biocaml_lines.item option
val next_line : Biocaml_lines.Buffer.t -> Biocaml_lines.item option
val next_line_exn : Biocaml_lines.Buffer.t -> Biocaml_lines.item
val current_position :
Biocaml_lines.Buffer.t -> Biocaml_internal_utils.Pos.t
val contents :
Biocaml_lines.Buffer.t -> Biocaml_lines.item list * string option
val empty : Biocaml_lines.Buffer.t -> unit
end
module Transform :
sig
val string_to_item :
unit -> (string, Biocaml_lines.item) Biocaml_transform.t
val group2 :
unit ->
(Biocaml_lines.item,
(Biocaml_lines.item * Biocaml_lines.item,
[> `premature_end_of_input ])
Biocaml_internal_utils.Result.t)
Biocaml_transform.t
val item_to_string :
?buffer:[ `clear of int | `reset of int ] ->
unit -> (Biocaml_lines.item, string) Biocaml_transform.t
val make :
?name:string ->
?filename:string ->
next:(Biocaml_lines.Buffer.t ->
[ `not_ready
| `output of ('b, 'errnext) Biocaml_internal_utils.Result.t ]) ->
on_error:([ `incomplete_input of
Biocaml_internal_utils.Pos.t * string list *
string option
| `next of 'errnext ] -> 'err) ->
unit ->
(string, ('b, 'err) Biocaml_internal_utils.Result.t)
Biocaml_transform.t
val make_merge_error :
?name:string ->
?filename:string ->
next:(Biocaml_lines.Buffer.t ->
[ `not_ready
| `output of
('a,
[> `incomplete_input of
Biocaml_internal_utils.Pos.t * string list *
string option ]
as 'b)
Biocaml_internal_utils.Result.t ]) ->
unit ->
(string, ('a, 'b) Biocaml_internal_utils.Result.t)
Biocaml_transform.t
end
val item_of_sexp : Sexplib.Sexp.t -> Biocaml_lines.item
val sexp_of_item : Biocaml_lines.item -> Sexplib.Sexp.t
end