ocaml-containers/3.14/containers/CCByte_slice/index.html
Sebastian Provenzano 0a352e3e02 3.14 too
2024-11-18 14:31:12 -06:00

2 lines
7.1 KiB
HTML
Raw Permalink 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>CCByte_slice (containers.CCByte_slice)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../odoc.support/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">containers</a> &#x00BB; CCByte_slice</nav><header class="odoc-preamble"><h1>Module <code><span>CCByte_slice</span></code></h1><p>A simple byte slice.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.13.1</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span><span>{</span></code><ol><li id="type-t.bs" class="def record field anchored"><a href="#type-t.bs" class="anchor"></a><code><span>bs : bytes;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The bytes, potentially shared between many slices</p><span class="comment-delim">*)</span></div></li><li id="type-t.off" class="def record field anchored"><a href="#type-t.off" class="anchor"></a><code><span><span class="keyword">mutable</span> off : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Offset in <code>bs</code></p><span class="comment-delim">*)</span></div></li><li id="type-t.len" class="def record field anchored"><a href="#type-t.len" class="anchor"></a><code><span><span class="keyword">mutable</span> len : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Length of the slice. Valid indices are <code>bs[off]…bs[off+len-1]</code>, inclusive.</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-show"><a href="#val-show" class="anchor"></a><code><span><span class="keyword">val</span> show : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>Simple printer (summary, doesn't show the content)</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Simple printer (summary, doesn't show the content)</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">?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="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>create bs</code> creates a slice of <code>bs</code>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">off</span> <p>optional starting offset</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">len</span> <p>length of the slice</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unsafe_of_string"><a href="#val-unsafe_of_string" class="anchor"></a><code><span><span class="keyword">val</span> unsafe_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="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>unsafe_of_string s</code> makes a slice from a string. This is unsafe because mutating the bytes is forbidden (just like with <code>Bytes.unsafe_of_string</code></p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-len"><a href="#val-len" class="anchor"></a><code><span><span class="keyword">val</span> len : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Access the length</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> char</span></code></div><div class="spec-doc"><p><code>get sl i</code> gets the <code>i</code>-th byte of the slice. Same as <code>sl.bs.[sl.off + i]</code>.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if out of bounds.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span>char <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>set sl i c</code> sets the <code>i</code>-th byte to <code>c</code>.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if out of bounds.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-consume"><a href="#val-consume" class="anchor"></a><code><span><span class="keyword">val</span> consume : <span><a href="#type-t">t</a> <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><code>consume sl n</code> moves the offset forward by <code>n</code> bytes, and reduces <code>len</code> by <code>n</code> bytes.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-contents"><a href="#val-contents" class="anchor"></a><code><span><span class="keyword">val</span> contents : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> string</span></code></div><div class="spec-doc"><p>A copy of the contents of the slice. Allocates.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sub"><a href="#val-sub" class="anchor"></a><code><span><span class="keyword">val</span> sub : <span><a href="#type-t">t</a> <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> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>sub sl off len</code> makes a new slice with the same backing <code>bs</code>.</p></div></div></div></body></html>