To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
An input channel for doing blocking reads from input sources like files and sockets.
Note that an
In_channel.t is a custom block with a finalizer, and so is allocated directly to the major heap. Creating a lot of in_channels can result in many major collections and poor performance.
Note that this is simply another interface on the
in_channel type in the OCaml standard library.
type t = Caml.in_channel
include Base.Equal.S with type t := t
val equal : t Base.Equal.equal
val stdin : t
Channels are opened in binary mode iff
binary is true. This only has an effect on Windows.
val create : ?binary:Base.bool -> Base.string -> t
val with_file : ?binary:Base.bool -> Base.string -> f:(t -> 'a) -> 'a
with_file ~f fname executes
~f on the open channel from
fname, and closes it afterwards.
close t closes
t, or does nothing if
t is already closed, and may raise an exception.
val input : t -> buf:Base.bytes -> pos:Base.int -> len:Base.int -> Base.int
val really_input : t -> buf:Base.bytes -> pos:Base.int -> len:Base.int -> Base.unit Base.option
val really_input_exn : t -> buf:Base.bytes -> pos:Base.int -> len:Base.int -> Base.unit
Pervasives.really_input, for backwards compatibility
val input_char : t -> Base.char Base.option
Read one character from the given input channel. Return
None if there are no more characters to read.
val input_byte : t -> Base.int Base.option
input_char, but return the 8-bit integer representing the character. Return
None if an end of file was reached.
val input_binary_int : t -> Base.int Base.option
Read an integer encoded in binary format (4 bytes, big-endian) from the given input channel. See
None if an end of file was reached while reading the integer.
val unsafe_input_value : t -> _ Base.option
Ocaml's built-in marshal format
val input_buffer : t -> Base.Buffer.t -> len:Base.int -> Base.unit Base.option
input_buffer t buf ~len reads at most
len characters from the input channel
t and stores them at the end of buffer
None if the channel contains fewer than
len characters. In this case, the characters are still added to the buffer, so as to avoid loss of data.
val input_all : t -> Base.string
val input_line : ?fix_win_eol:Base.bool -> t -> Base.string Base.option
input_line ?fix_win_eol t reads a line from
t and returns it, without the newline ("\n") character at the end, and, if
fix_win_eol the trailing "\r\n" is dropped.
val input_line_exn : ?fix_win_eol:Base.bool -> t -> Base.string
val fold_lines : ?fix_win_eol:Base.bool -> t -> init:'a -> f:('a -> Base.string -> 'a) -> 'a
fold_lines ?fix_win_eol t ~init ~f folds over the lines read from
input_line. Lines are provided to
f in the order they are found in the file.
val input_lines : ?fix_win_eol:Base.bool -> t -> Base.string Base.list
Completely reads an input channel and returns the results as a list of strings. Each line in one string.
val iter_lines : ?fix_win_eol:Base.bool -> t -> f:(Base.string -> Base.unit) -> Base.unit
iter_lines ?fix_win_eol t ~f applies
f to each line read from
val seek : t -> Base.int64 -> Base.unit
This works only for regular files. On files of other kinds, the behavior is unspecified.
val pos : t -> Base.int64
val length : t -> Base.int64
Return the size (number of characters) of the regular file on which the given channel is opened. If the channel is opened on a file that is not a regular file, the result is meaningless. The returned size does not take into account the end-of-line translations that can be performed when reading from a channel opened in text mode.
Pervasives.set_binary_mode_in, only applicable for Windows or Cygwin, no-op otherwise
val read_lines : ?fix_win_eol:Base.bool -> Base.string -> Base.string Base.list
read_lines filename reads the full contents of file and returns it as a list of lines, closing the file when it's done. It's the equivalent of
val read_all : Base.string -> Base.string
read_all filename reads the full contents of file and returns it as a single string, closing the file when it's done. It's the equivalent of