package batteries

  1. Overview
  2. Docs
A community-maintained standard library extension

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v3.8.0.tar.gz
md5=b691e5870f876c6e590d6aa51b4c5457
sha512=3b0643ff337cd70da8c4b77887d212e82d043a7163fca36588be12186bc86bbcf0d56b13349325f12eabb96c846204c88560786342f50af7bf4e20b9480d3964

doc/src/batteries.unthreaded/batBytesCompat.ml.html

Source file batBytesCompat.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(* This compatible module contains compatibility versions of stdlib
   functions that are commonly used when porting code to the
   (string / bytes) separation, but are not available in older OCaml
   versions that Batteries support.

   We could push each function in the corresponding Batteries module
   (Buffer.add_subbtypes into BatBuffer, etc.), but this would have
   the effect of turning dependencies on the stdlib into
   inter-Batteries-module dependencies: any module using
   Buffer.add_subbtypes would then depend on the whole BatBuffer,
   increasing binary sizes and risk of cycles.
*)

##V>=4.2##let string_init = String.init
##V<4.2##let string_init len f =
##V<4.2##  let s = Bytes.create len in
##V<4.2##  for i = 0 to len - 1 do
##V<4.2##    Bytes.unsafe_set s i (f i)
##V<4.2##  done;
##V<4.2##  Bytes.unsafe_to_string s

##V>=4.2##let buffer_add_subbytes = Buffer.add_subbytes
##V<4.2##let buffer_add_subbytes = Buffer.add_substring

##V>=4.2##let buffer_to_bytes = Buffer.to_bytes
##V<4.2##let buffer_to_bytes = Buffer.contents
OCaml

Innovation. Community. Security.