tiny_httpd/iostream/Iostream/In/index.html
2024-06-18 20:31:56 +00:00

18 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>In (iostream.Iostream.In)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">iostream</a> &#x00BB; <a href="../index.html">Iostream</a> &#x00BB; In</nav><header class="odoc-preamble"><h1>Module <code><span>Iostream.In</span></code></h1><p>Input stream.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec class-type anchored" id="class-type-t"><a href="#class-type-t" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t/index.html">t</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>An input stream, i.e an incoming stream of bytes.</p></div></div><div class="odoc-spec"><div class="spec class-type anchored" id="class-type-t_seekable"><a href="#class-type-t_seekable" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t_seekable/index.html">t_seekable</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>An input stream that is also seekable.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create :
<span><span class="optlabel">?close</span>:<span>(<span>unit <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">input</span>:<span>(<span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int)</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<a href="class-type-t/index.html">t</a></span></code></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-empty"><a href="#class-empty" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-empty/index.html">empty</a></span><span> : <a href="class-type-t/index.html">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Empty input, contains 0 bytes.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_in_channel"><a href="#class-of_in_channel" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_in_channel/index.html">of_in_channel</a></span><span> : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Stdlib/index.html#type-in_channel">in_channel</a> <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_in_channel"><a href="#val-of_in_channel" class="anchor"></a><code><span><span class="keyword">val</span> of_in_channel : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Stdlib/index.html#type-in_channel">in_channel</a> <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>Wrap a standard input channel.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-open_file"><a href="#class-open_file" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-open_file/index.html">open_file</a></span><span> : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span>
<a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_file"><a href="#val-open_file" class="anchor"></a><code><span><span class="keyword">val</span> open_file :
<span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_open_file"><a href="#val-with_open_file" class="anchor"></a><code><span><span class="keyword">val</span> with_open_file :
<span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?mode</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span><a href="class-type-t_seekable/index.html">t_seekable</a> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_string"><a href="#class-of_string" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_string/index.html">of_string</a></span><span> : <span><span class="optlabel">?off</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_string"><a href="#val-of_string" class="anchor"></a><code><span><span class="keyword">val</span> of_string : <span><span class="optlabel">?off</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>An input channel reading from the string.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">offset</span> <p>initial offset in the string. Default <code>0</code>.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">len</span> <p>the length of the slice we read from. Default <code>String.length s - off</code>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_bytes"><a href="#class-of_bytes" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_bytes/index.html">of_bytes</a></span><span> : <span><span class="optlabel">?off</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">&#45;&gt;</span></span> <span>bytes <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_bytes"><a href="#val-of_bytes" class="anchor"></a><code><span><span class="keyword">val</span> of_bytes : <span><span class="optlabel">?off</span>:int <span class="arrow">&#45;&gt;</span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">&#45;&gt;</span></span> <span>bytes <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>An input channel reading from the bytes buffer. See <a href="#val-of_string"><code>of_string</code></a> for more details.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input"><a href="#val-input" class="anchor"></a><code><span><span class="keyword">val</span> input : <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Read bytes into the given buffer. This returns <code>0</code> only if the stream has reached its end.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if the arguments do not denote a valid slice.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input_all_into_buffer"><a href="#val-input_all_into_buffer" class="anchor"></a><code><span><span class="keyword">val</span> input_all_into_buffer : <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../../ocaml/Stdlib/Buffer/index.html#type-t">Stdlib.Buffer.t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Read the whole content into the given buffer.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input_all"><a href="#val-input_all" class="anchor"></a><code><span><span class="keyword">val</span> input_all : <span><span class="optlabel">?buf</span>:bytes <span class="arrow">&#45;&gt;</span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p><code>input_all ic</code> reads the whole content of <code>ic</code> into a string.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">buf</span> <p>the initial buffer to use internally.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-really_input"><a href="#val-really_input" class="anchor"></a><code><span><span class="keyword">val</span> really_input : <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <span>bytes <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Same as <code>input</code>, but reads exactly the demanded amount of bytes.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if the arguments do not denote a valid slice.</p></li></ul><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>End_of_file</code> <p>if the input does not contain enough data.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-really_input_string"><a href="#val-really_input_string" class="anchor"></a><code><span><span class="keyword">val</span> really_input_string : <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p><code>really_input_string ic n</code> reads exactly <code>n</code> bytes of <code>ic</code> and returns them as a string.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>End_of_file</code> <p>if the input does not contain enough data.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-concat"><a href="#val-concat" class="anchor"></a><code><span><span class="keyword">val</span> concat : <span><span><a href="class-type-t/index.html">t</a> list</span> <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Read from each stream, in order</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close"><a href="#val-close" class="anchor"></a><code><span><span class="keyword">val</span> close : <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Close the input stream. This is idempotent.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-copy_into"><a href="#val-copy_into" class="anchor"></a><code><span><span class="keyword">val</span> copy_into : <span><span class="optlabel">?buf</span>:bytes <span class="arrow">&#45;&gt;</span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Out/class-type-t/index.html">Out.t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Copy the whole stream into the given output.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map_char"><a href="#val-map_char" class="anchor"></a><code><span><span class="keyword">val</span> map_char : <span><span>(<span>char <span class="arrow">&#45;&gt;</span></span> char)</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Transform the stream byte by byte</p></div></div></div></body></html>