package odig

  1. Overview
  2. Docs

Digests.

Digests

include module type of Digest
type t = string

The type of digests: 16-character strings.

val compare : t -> t -> int

The comparison function for 16-character digest, with the same specification as Pervasives.compare and the implementation shared with String.compare. Along with the type t, this function compare allows the module Digest to be passed as argument to the functors Set.Make and Map.Make.

  • since 4.00.0
val equal : t -> t -> bool

The equal function for 16-character digest.

  • since 4.03.0
val string : string -> t

Return the digest of the given string.

val bytes : bytes -> t

Return the digest of the given byte sequence.

  • since 4.02.0
val substring : string -> int -> int -> t

Digest.substring s ofs len returns the digest of the substring of s starting at index ofs and containing len characters.

val subbytes : bytes -> int -> int -> t

Digest.subbytes s ofs len returns the digest of the subsequence of s starting at index ofs and containing len bytes.

  • since 4.02.0
val channel : Pervasives.in_channel -> int -> t

If len is nonnegative, Digest.channel ic len reads len characters from channel ic and returns their digest, or raises End_of_file if end-of-file is reached before len characters are read. If len is negative, Digest.channel ic len reads all characters from ic until end-of-file is reached and return their digest.

val output : Pervasives.out_channel -> t -> unit

Write a digest on the given output channel.

val input : Pervasives.in_channel -> t

Read a digest from the given input channel.

val to_hex : t -> string

Return the printable hexadecimal representation of the given digest. Raise Invalid_argument if the argument is not exactly 16 bytes.

val from_hex : string -> t

Convert a hexadecimal representation back into the corresponding digest. Raise Invalid_argument if the argument is not exactly 32 hexadecimal characters.

  • since 4.00.0
val file : Fpath.t -> (t, [ `Msg of string ]) Pervasives.result

file f is the digest of file f.

val mtimes : Fpath.t list -> (t, [ `Msg of string ]) Pervasives.result

mtimes ps is a digest of the mtimes of ps. The ps list sorted with Fpath.compare.