sig
type reason =
Dependency of (Cudf.package * Cudf_types.vpkg list * Cudf.package list)
| Missing of (Cudf.package * Cudf_types.vpkg list)
| Conflict of (Cudf.package * Cudf.package * Cudf_types.vpkg)
type request = Cudf.package list
type result =
Success of (?all:bool -> unit -> Cudf.package list)
| Failure of (unit -> Diagnostic.reason list)
type diagnosis = {
result : Diagnostic.result;
request : Diagnostic.request;
}
module ResultHash :
sig
type key = reason
type 'a t
val create : int -> 'a t
val clear : 'a t -> unit
val reset : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t -> key -> 'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key -> 'a -> unit
val mem : 'a t -> key -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val length : 'a t -> int
val stats : 'a t -> Hashtbl.statistics
end
type summary = {
mutable missing : int;
mutable conflict : int;
mutable unique_missing : int;
mutable unique_conflict : int;
mutable unique_selfconflict : int;
summary : Cudf.package list Pervasives.ref Diagnostic.ResultHash.t;
statistic : (int * int, int Pervasives.ref) Hashtbl.t;
}
val default_result : int -> Diagnostic.summary
val collect : Diagnostic.summary -> Diagnostic.diagnosis -> unit
val pp_out_version : Format.formatter -> unit
val pp_package :
?source:bool ->
?fields:bool ->
Common.CudfAdd.pp -> Format.formatter -> Cudf.package -> unit
val pp_dependency :
Common.CudfAdd.pp ->
?label:string ->
Format.formatter -> Cudf.package * Cudf_types.vpkglist -> unit
val pp_dependencies :
Common.CudfAdd.pp ->
Format.formatter ->
(Cudf.package * Cudf_types.vpkglist) list list -> unit
val pp_list :
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
val print_error :
?minimal:bool ->
Common.CudfAdd.pp ->
Cudf.package -> Format.formatter -> Diagnostic.reason list -> unit
val get_installationset :
?minimal:bool -> Diagnostic.diagnosis -> Cudf.package list
val is_solution : Diagnostic.diagnosis -> bool
val pp_summary :
?pp:Common.CudfAdd.pp ->
?explain:bool -> unit -> Format.formatter -> Diagnostic.summary -> unit
val print_error_human :
?prefix:string ->
Common.CudfAdd.pp ->
Cudf.package -> Format.formatter -> Diagnostic.reason list -> unit
val fprintf_human :
?pp:Common.CudfAdd.pp ->
?prefix:string -> Format.formatter -> Diagnostic.diagnosis -> unit
val fprintf :
?pp:Common.CudfAdd.pp ->
?failure:bool ->
?success:bool ->
?explain:bool ->
?minimal:bool -> Format.formatter -> Diagnostic.diagnosis -> unit
val printf :
?pp:Common.CudfAdd.pp ->
?failure:bool ->
?success:bool -> ?explain:bool -> Diagnostic.diagnosis -> unit
val print_dot :
?pp:Common.CudfAdd.pp ->
?addmissing:bool -> ?dir:string -> Diagnostic.diagnosis -> unit
end