Module B0_meta

type 'a key
module Key : sig ... end
type binding =
  1. | B : 'a key * 'a -> binding
val pp_binding : binding B0_std.Fmt.t
type t
val empty : t
val is_empty : t -> bool
val mem : 'a key -> t -> bool
val add : 'a key -> 'a -> t -> t
val add_if_some : 'a key -> 'a option -> t -> t
val tag : unit key -> t -> t
val rem : 'a key -> t -> t
val find : 'a key -> t -> 'a option
val find_binding : 'a key -> t -> binding option
val find_binding_by_name : string -> t -> binding option
val get : 'a key -> t -> 'a
val get_binding : 'a key -> t -> binding
val get_binding_by_name : string -> t -> binding
val fold : (binding -> 'a -> 'a) -> t -> 'a -> 'a
val pp : t B0_std.Fmt.t
val pp_non_empty : t B0_std.Fmt.t
val authors : string list key
val description_tags : string list key
val description : string key
val homepage : string key
val issues : string key
val licenses : string list key
val maintainers : string list key
val online_doc : string key
val repo : string key
val synopsis : string key
val bench : unit key
val build : unit key
val dev : unit key
val doc : unit key
val exe : unit key
val test : unit key
val lib : unit key
val exe_name : string key