module Lwt_text:Text channelssig
..end
Lwt_io
) plus a character
encoding.
It has almost the same interface as Lwt_io
except that it
uses Text.t
in place of string
and char
Types
type 'a
channel
typeinput_channel =
Lwt_io.input channel
typeoutput_channel =
Lwt_io.output channel
val make : ?strict:bool ->
?encoding:Encoding.t -> 'a Lwt_io.channel -> 'a channel
make ?strict ?encoding ch
creates a text channel from a byte
channel.strict
: tell whether encoding/decoding must be ``strict'',
which whether the encoder/decoder should fail on invalid
sequence. In non-strict mode, it transparently fallback to
ISO-8859-15. By the way it is ensured that read*
functions
always returns valid UTF-8 encoded text. strict
defaults to
false
.encoding
: is the character encoding used for the
channel. It defaults to Encoding.system
.val byte_channel : 'a channel -> 'a Lwt_io.channel
byte_channel ch
returns the underlying byte channel of a text
channelval encoding : 'a channel -> Encoding.t
encoding ch
returns the character encoding of a channel.val flush : output_channel -> unit Lwt.t
val close : 'a channel -> unit Lwt.t
val atomic : ('a channel -> 'b Lwt.t) -> 'a channel -> 'b Lwt.t
val stdin : input_channel
val stdout : output_channel
val stderr : output_channel
val zero : input_channel
val null : output_channel
val read_char : input_channel -> Text.t Lwt.t
val read_char_opt : input_channel -> Text.t option Lwt.t
val read_chars : input_channel -> Text.t Lwt_stream.t
val read_line : input_channel -> Text.t Lwt.t
val read_line_opt : input_channel -> Text.t option Lwt.t
val read_lines : input_channel -> Text.t Lwt_stream.t
val read : ?count:int -> input_channel -> Text.t Lwt.t
val write_char : output_channel -> Text.t -> unit Lwt.t
val write_chars : output_channel -> Text.t Lwt_stream.t -> unit Lwt.t
val write : output_channel -> Text.t -> unit Lwt.t
val write_line : output_channel -> Text.t -> unit Lwt.t
val write_lines : output_channel -> Text.t Lwt_stream.t -> unit Lwt.t
val open_file : ?buffer_size:int ->
?strict:bool ->
?encoding:Encoding.t ->
?flags:Unix.open_flag list ->
?perm:Unix.file_perm ->
mode:'a Lwt_io.mode -> Lwt_io.file_name -> 'a channel Lwt.t
val with_file : ?buffer_size:int ->
?strict:bool ->
?encoding:Encoding.t ->
?flags:Unix.open_flag list ->
?perm:Unix.file_perm ->
mode:'a Lwt_io.mode ->
Lwt_io.file_name -> ('a channel -> 'b Lwt.t) -> 'b Lwt.t
val lines_of_file : Lwt_io.file_name -> Text.t Lwt_stream.t
val lines_to_file : Lwt_io.file_name -> Text.t Lwt_stream.t -> unit Lwt.t
val chars_of_file : Lwt_io.file_name -> Text.t Lwt_stream.t
val chars_to_file : Lwt_io.file_name -> Text.t Lwt_stream.t -> unit Lwt.t
val fprint : output_channel -> Text.t -> unit Lwt.t
val fprintl : output_channel -> Text.t -> unit Lwt.t
val fprintf : output_channel ->
('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val fprintlf : output_channel ->
('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val print : Text.t -> unit Lwt.t
val printl : Text.t -> unit Lwt.t
val printf : ('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val printlf : ('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val eprint : Text.t -> unit Lwt.t
val eprintl : Text.t -> unit Lwt.t
val eprintf : ('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val eprintlf : ('a, unit, Text.t, unit Lwt.t) Pervasives.format4 -> 'a
val hexdump_stream : output_channel -> char Lwt_stream.t -> unit Lwt.t
val hexdump : output_channel -> string -> unit Lwt.t