package batteries

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

Install

Dune Dependency

Authors

Maintainers

Sources

v3.7.1.tar.gz
md5=d02c4f044e53edca010de46f9139ce00
sha512=99a5afa3604c4cf0c849c670111d617f7f255acb0da043b73ddffdf0e299948bce52516ee31921f269de6088156c4e0a187e0b931543c6819c6b25966b303281

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.