sig
type 'a t
module Name :
sig
type 'a t
val of_string : string -> 'a Package.Name.t
val to_string : 'a Package.Name.t -> string
end
val get : string -> 'a Package.t -> string
val has : string -> 'a Package.t -> bool
val add : string -> string -> 'a Package.t -> 'a Package.t
val print : Stdlib.out_channel -> 'a Package.t -> unit
val filter_print :
string list -> Stdlib.out_channel -> 'a Package.t -> unit
module Set :
sig
type 'a t
val empty : 'a Package.Set.t
val is_empty : 'a Package.Set.t -> bool
val add : 'a Package.Name.t -> 'a Package.Set.t -> 'a Package.Set.t
val from_list : 'a Package.Name.t list -> 'a Package.Set.t
val mem : 'a Package.Name.t -> 'a Package.Set.t -> bool
val exists : ('a Package.Name.t -> bool) -> 'a Package.Set.t -> bool
val iter : ('a Package.Name.t -> unit) -> 'a Package.Set.t -> unit
val cardinal : 'a Package.Set.t -> int
val elements : 'a Package.Set.t -> 'a Package.Name.t list
val fold :
('a Package.Name.t -> 'b -> 'b) -> 'a Package.Set.t -> 'b -> 'b
val filter :
('a Package.Name.t -> bool) -> 'a Package.Set.t -> 'a Package.Set.t
val for_all : ('a Package.Name.t -> bool) -> 'a Package.Set.t -> bool
end
val of_assoc :
([< `binary | `source ] as 'a) ->
string Benl_core.StringMap.t -> 'a Package.t
module Map :
sig
type ('a, 'b) t
val empty : ('a, 'b) Package.Map.t
val is_empty : ('a, 'b) Package.Map.t -> bool
val add :
'a Package.Name.t ->
'b -> ('a, 'b) Package.Map.t -> ('a, 'b) Package.Map.t
val remove :
'a Package.Name.t -> ('a, 'b) Package.Map.t -> ('a, 'b) Package.Map.t
val find : 'a Package.Name.t -> ('a, 'b) Package.Map.t -> 'b
val find_opt : 'a Package.Name.t -> ('a, 'b) Package.Map.t -> 'b option
val iter :
('a Package.Name.t -> 'b -> unit) -> ('a, 'b) Package.Map.t -> unit
val mapi :
('a Package.Name.t -> 'b -> 'c) ->
('a, 'b) Package.Map.t -> ('a, 'c) Package.Map.t
val fold :
('a Package.Name.t -> 'b -> 'c -> 'c) ->
('a, 'b) Package.Map.t -> 'c -> 'c
val bindings : ('a, 'b) Package.Map.t -> ('a Package.Name.t * 'b) list
val update_default :
'b ->
('b -> 'b) ->
'a Package.Name.t -> ('a, 'b) Package.Map.t -> ('a, 'b) Package.Map.t
val mem : 'a Package.Name.t -> ('a, 'b) Package.Map.t -> bool
end
val build_depends :
[ `source ] Package.t -> [ `binary ] Package.Name.t list
val binaries : [ `source ] Package.t -> [ `binary ] Package.Name.t list
type dependency = {
dep_name : string;
dep_version : (Benl_types.comparison * string) option;
}
val dependencies : string -> 'a Package.t -> Package.dependency list
end