package decompress

  1. Overview
  2. Docs
Implementation of Zlib in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

decompress-v0.9.0.tbz
sha256=70dd782b258a51a37c3971b9bd96c656b161876d781e168a626e9bb437833e3b
sha512=34033405c8dca30f67c39cad8f50875e255644d0e0b88019091d59932aaf90d87445070228291b1d3d1c07a98ce97aeca11554daf1a8f3b04d043b4f6c1ab83c

doc/src/decompress.impl/decompress_safe.ml.html

Source file decompress_safe.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
module Buffer = Decompress_buffer

type ro = [`Rd]
type wo = [`Wr]
type ('a, 'i) t = 'i constraint 'a = [< `Rd | `Wr]

let rw : 'i Buffer.t -> 'i -> ([ro | wo], 'i) t = fun _p v -> v
let ro : 'i Buffer.t -> 'i -> (ro, 'i) t = fun _p v -> v
let wo : 'i Buffer.t -> 'i -> (wo, 'i) t = fun _p v -> v
let length = Buffer.length
let get = Buffer.get
let set = Buffer.set
let get_16 = Buffer.get_16
let get_32 = Buffer.get_32
let get_64 = Buffer.get_64
let sub_ro = Buffer.sub
let sub_rw = Buffer.sub
let fill = Buffer.fill
let blit = Buffer.blit
let blit2 = Buffer.blit2
let pp = Buffer.pp
let to_string = Buffer.to_string
let of_string : string -> (ro, string) t = fun x -> x

let blit_string : type a.
    a Buffer.t -> ([> ro], string) t -> int -> ([> wo], a) t -> int -> int -> unit =
  Buffer.blit_string

let adler32 : type a.
    a Buffer.t -> a -> int -> int -> Checkseum.Adler32.t -> Checkseum.Adler32.t =
  function
  | Buffer.Bytes -> Checkseum.Adler32.digest_bytes
  | Buffer.Bigstring -> Checkseum.Adler32.digest_bigstring

let crc32 : type a.
    a Buffer.t -> a -> int -> int -> Checkseum.Crc32.t -> Checkseum.Crc32.t =
  function
  | Buffer.Bytes -> Checkseum.Crc32.digest_bytes
  | Buffer.Bigstring -> Checkseum.Crc32.digest_bigstring

external unsafe : ('a, 'i) t -> 'i = "%identity"
OCaml

Innovation. Community. Security.