type 'a arch = private
| Arch_dir of string * 'a * 'a arch list |
| Arch_dir_pack of string * 'a * 'a arch list |
| Arch_file of string * 'a |
val file : string -> unit arch
val print : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a arch -> unit
val print_include_dirs : Stdlib.Format.formatter -> string list -> unit
val print_info : Stdlib.Format.formatter -> info -> unit
val iter_info : ('a -> unit) -> 'a arch -> unit
val fold_info : ('a -> 'b -> 'b) -> 'a arch -> 'b -> 'b
val mk_tables : info arch -> (string, string list) Stdlib.Hashtbl.t * (string, string) Stdlib.Hashtbl.t
val print_table : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> (string, 'a) Stdlib.Hashtbl.t -> unit