module Cudf_printer:Pretty printing of CUDF macro-components (documents, stanzas, ...)sig..end
For pretty printing of micro-components see Cudf_types_pp.
val pp_cudf : Pervasives.out_channel -> Cudf.cudf -> unitval pp_doc : Pervasives.out_channel -> Cudf.cudf_doc -> unitval pp_solution : Pervasives.out_channel -> Cudf.solution -> unitval pp_item : Pervasives.out_channel -> Cudf.cudf_item -> unitval pp_package : Pervasives.out_channel -> Cudf.package -> unitval pp_preamble : Pervasives.out_channel -> Cudf.preamble -> unitval pp_request : Pervasives.out_channel -> Cudf.request -> unitval pp_packages : Pervasives.out_channel -> Cudf.package list -> unitval pp_universe : Pervasives.out_channel -> Cudf.universe -> unitNote: you can write to string using these methods using the following pattern:
let o = IO.output_string () in ... Cudf_printer.pp_* o ...; IO.close_out o
val pp_io_cudf : 'a IO.output -> Cudf.cudf -> unitval pp_io_doc : 'a IO.output -> Cudf.cudf_doc -> unitval pp_io_solution : 'a IO.output -> Cudf.solution -> unitval pp_io_item : 'a IO.output -> Cudf.cudf_item -> unitval pp_io_package : 'a IO.output -> Cudf.package -> unitval pp_io_preamble : 'a IO.output -> Cudf.preamble -> unitval pp_io_request : 'a IO.output -> Cudf.request -> unitval pp_io_packages : 'a IO.output -> Cudf.package list -> unitval pp_io_universe : 'a IO.output -> Cudf.universe -> unitUsually, you shouldn't need those and you should be well served by the above printers.
To bootstrap usage of the generic printers, you'll need to provide a
pp_property argument --- that takes a property as a pair of name/value
strings and print them on a generic output --- and then proceed composing
generic printers together.
val pp_package_gen : pp_property:('a -> string * string -> unit) -> 'a -> Cudf.package -> unitval pp_request_gen : pp_property:('a -> string * string -> unit) -> 'a -> Cudf.request -> unitval pp_preamble_gen : pp_property:('a -> string * string -> unit) -> 'a -> Cudf.preamble -> unitval pp_universe_gen : pp_package:('a -> Cudf.package -> unit) ->
pp_sep:('a -> unit) -> 'a -> Cudf.universe -> unitval pp_packages_gen : pp_package:('a -> Cudf.package -> unit) ->
pp_sep:('a -> unit) -> 'a -> Cudf.package list -> unitval pp_cudf_gen : pp_preamble:('a -> Cudf.preamble -> unit) ->
pp_universe:('a -> Cudf.universe -> unit) ->
pp_request:('a -> Cudf.request -> unit) ->
pp_sep:('a -> unit) -> 'a -> Cudf.cudf -> unitval pp_doc_gen : pp_preamble:('a -> Cudf.preamble -> unit) ->
pp_packages:('a -> Cudf.package list -> unit) ->
pp_request:('a -> Cudf.request -> unit) ->
pp_sep:('a -> unit) -> 'a -> Cudf.cudf_doc -> unitval pp_solution_gen : pp_preamble:('a -> Cudf.preamble -> unit) ->
pp_universe:('a -> Cudf.universe -> unit) ->
pp_sep:('a -> unit) -> 'a -> Cudf.solution -> unitval pp_item_gen : pp_package:('a -> Cudf.package -> unit) ->
pp_request:('a -> Cudf.request -> unit) ->
pp_preamble:('a -> Cudf.preamble -> unit) -> 'a -> Cudf.cudf_item -> unit