ocaml-containers/3.4/containers/Containers_codegen/Bitfield/index.html
2021-05-03 13:35:10 -04:00

2 lines
No EOL
3.6 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>Bitfield (containers.Containers_codegen.Bitfield)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers</a> &#x00BB; <a href="../index.html">Containers_codegen</a> &#x00BB; Bitfield</nav><h1>Module <code>Containers_codegen.Bitfield</code></h1><h3 id="generate-efficient-bitfields-that-fit-in-an-integer"><a href="#generate-efficient-bitfields-that-fit-in-an-integer" class="anchor"></a>Generate efficient bitfields that fit in an integer</h3></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-make"><a href="#val-make" class="anchor"></a><code><span class="keyword">val</span> make : <span>?&#8288;emit_failure_if_too_wide:bool</span> <span>&#45;&gt;</span> <span>name:string</span> <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Make a new bitfield with the given name.</p><dl><dt>parameter name</dt><dd><p>the name of the generated type</p></dd></dl><dl><dt>parameter emit_failure_if_too_wide</dt><dd><p>if true, generated code includes a runtime assertion that <span class="xref-unresolved" title="unresolved reference to &quot;Sys.int_size&quot;"><code>Sys</code>.int_size</span> is wide enough to support this type</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-field_bit"><a href="#val-field_bit" class="anchor"></a><code><span class="keyword">val</span> field_bit : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> unit</code></dt><dd><p><code>field_bit ty name</code> adds a field of size <code>1</code> to the bitfield <code>ty</code>, with name <code>name</code>. The generate code will provide get/set for a boolean.</p></dd></dl><dl><dt class="spec value" id="val-field_int"><a href="#val-field_int" class="anchor"></a><code><span class="keyword">val</span> field_int : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>width:int</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> unit</code></dt><dd><p><code>field_int ty name ~width</code> adds a field of size <code>width</code> to the bitfield with name <code>name</code>. The accessors will be for integers of <code>width</code> bits, and the setter might assert that the provided integer fits.</p></dd></dl><dl><dt class="spec value" id="val-total_width"><a href="#val-total_width" class="anchor"></a><code><span class="keyword">val</span> total_width : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p>Total width in bits of the given bitfield.</p></dd></dl><dl><dt class="spec value" id="val-gen_mli"><a href="#val-gen_mli" class="anchor"></a><code><span class="keyword">val</span> gen_mli : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-code">code</a></code></dt><dd><p>Generate code for the type signature for the given bitfield</p></dd></dl><dl><dt class="spec value" id="val-gen_ml"><a href="#val-gen_ml" class="anchor"></a><code><span class="keyword">val</span> gen_ml : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-code">code</a></code></dt><dd><p>Generate code for the implementation for the given bitfield</p></dd></dl></div></body></html>