package containers

  1. Overview
  2. Docs
A modular, clean and powerful extension of the OCaml standard library

Install

Dune Dependency

Authors

Maintainers

Sources

v3.10.tar.gz
md5=050afc34c00ee0ffb1bf545c52d3880f
sha512=ef4c9c27f6e535df070f2ee9e6357f6f9bf4a8a196e3f274bec00d931bbd775f939a7e8b144accc8c4568df6c25b820aaebad6e12b1d444bccb7c8f7b7989bf0

doc/containers.codegen/Containers_codegen/Bitfield/index.html

Module Containers_codegen.BitfieldSource

Generate efficient bitfields that fit in an integer

Sourcetype t
Sourceval make : ?emit_failure_if_too_wide:bool -> name:string -> unit -> t

Make a new bitfield with the given name.

  • parameter name

    the name of the generated type

  • parameter emit_failure_if_too_wide

    if true, generated code includes a runtime assertion that Sys.int_size is wide enough to support this type

Sourceval field_bit : t -> string -> unit

field_bit ty name adds a field of size 1 to the bitfield ty, with name name. The generate code will provide get/set for a boolean.

Sourceval field_int : t -> width:int -> string -> unit

field_int ty name ~width adds a field of size width to the bitfield with name name. The accessors will be for integers of width bits, and the setter might assert that the provided integer fits.

Sourceval total_width : t -> int

Total width in bits of the given bitfield.

Sourceval gen_mli : t -> code

Generate code for the type signature for the given bitfield

Sourceval gen_ml : t -> code

Generate code for the implementation for the given bitfield

OCaml

Innovation. Community. Security.