module CCHash:sig
..end
typet =
int
type
state
type'a
hash_fun ='a -> state -> state
'a
, merging a fingerprint of the
value into the state of type t
val init : state
val finish : state -> int
val apply : 'a hash_fun -> 'a -> int
apply f x
is the same as finish (f x init)
Those combinators have been renamed in 0.13, so as to
remove the trailing "_".
They are now defined by the application of CCHash.Make
val bool_ : bool hash_fun
bool
val char_ : char hash_fun
char
val int_ : int hash_fun
int
val string_ : string hash_fun
string
val int32_ : int32 hash_fun
int32
val int64_ : int64 hash_fun
int64
val nativeint_ : nativeint hash_fun
nativeint
val list_ : 'a hash_fun -> 'a list hash_fun
list
f
.val array_ : 'a hash_fun -> 'a array hash_fun
array
val opt : 'a hash_fun -> 'a option hash_fun
val pair : 'a hash_fun -> 'b hash_fun -> ('a * 'b) hash_fun
val triple : 'a hash_fun ->
'b hash_fun -> 'c hash_fun -> ('a * 'b * 'c) hash_fun
val if_ : bool -> 'a hash_fun -> 'a hash_fun -> 'a hash_fun
type'a
sequence =('a -> unit) -> unit
type'a
gen =unit -> 'a option
type'a
klist =unit -> [ `Cons of 'a * 'a klist | `Nil ]
val seq : 'a hash_fun -> 'a sequence hash_fun
val gen : 'a hash_fun -> 'a gen hash_fun
val klist : 'a hash_fun -> 'a klist hash_fun
Parametrize over the state, and some primitives to hash basic types.
This can for instance be used for cryptographic hashing or
checksums such as MD5.
module type HASH =sig
..end
module type S =sig
..end
module Make(
H
:
HASH
)
:S
with type state = H.state
include CCHash.S