Parameter Make.Key

type t

the type of key

type token

type of token must implement bin_prot, be comparable and sexpable

val bin_shape_token : Core_kernel.Bin_prot.Shape.t
val bin_size_token : token Core_kernel.Bin_prot.Size.sizer
val bin_write_token : token Core_kernel.Bin_prot.Write.writer
val bin_writer_token : token Core_kernel.Bin_prot.Type_class.writer
val bin_read_token : token Core_kernel.Bin_prot.Read.reader
val __bin_read_token__ : (int -> token) Core_kernel.Bin_prot.Read.reader
val bin_reader_token : token Core_kernel.Bin_prot.Type_class.reader
val bin_token : token Core_kernel.Bin_prot.Type_class.t
val compare_token : token -> token -> int
val sexp_of_token : token -> Ppx_sexp_conv_lib.Sexp.t
val token_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> token
val length : t -> int

length key return the amount of tokens in a key

val nth_token : t -> int -> token

nth_token key n the n'th token of key. Should be O(1)

val token_hash : token -> int

hash_token tok efficient hash function for the token type. If nothing efficient came to mind, just use Hashtbl.hash.