module Structural_descr:sig
..end
type
recursive
Structural_descr.Recursive
.typesingle_pack = private
Unmarshal.t
type
pack = private
| |
Nopack |
(* |
Was impossible to build a pack.
| *) |
| |
Pack of |
(* |
A standard pack.
| *) |
| |
Recursive of |
(* |
Pack for a recursive descriptor.
See module
Structural_descr.Recursive . | *) |
type
t = private
| |
Unknown |
(* |
Use it either for unmarshable types or if you don't know its internal
representation. In any case, values of types with this descriptor
will never be written on disk.
| *) |
| |
Abstract |
(* |
The data is marshable as an usual OCaml value. No specific processing
will be applied on any part of such a data.
| *) |
| |
Structure of |
(* |
Provide a description of the representation of data.
Consult the Plugin Development Guide for additional details. | *) |
| |
T_pack of |
(* |
Internal use only.
Do not use it outside the library
| *) |
Example: the structural descriptor of A | B of int * bool | C of string
is Structure (Sum [| [| p_int; p_bool |]; [| p_string |] |])
. Ok, in
this case, just Abstract
is valid too.
type
structure = private
| |
Sum of |
(* | Sum c describes a non-array type where c is an array describing
the non-constant constructors of the type being described (in the order
of their declarations in that type). Each element of this latter array
is an array of t that describes (in order) the fields of the
corresponding constructor.Consult the Plugin Development Guide for additional details. | *) |
| |
Array of |
(* |
The data is an array of values of the same type, each
value being described by the pack.
| *) |
val pack : t -> pack
val recursive_pack : recursive -> pack
module Recursive:sig
..end
d
.
val t_unknown : t
val t_abstract : t
val t_unit : t
val t_int : t
val t_string : t
val t_float : t
val t_bool : t
val t_int32 : t
val t_int64 : t
val t_nativeint : t
val t_record : pack array -> t
val t_tuple : pack array -> t
val t_list : t -> t
val t_ref : t -> t
val t_option : t -> t
val t_array : t -> t
val t_queue : t -> t
val t_sum : pack array array -> t
val t_set_unchanged_compares : t -> t
val t_map_unchanged_compares : t -> t -> t
val t_hashtbl_unchanged_hashs : t -> t -> t
val p_abstract : pack
pack Abstract
val p_unit : pack
val p_int : pack
val p_string : pack
val p_float : pack
val p_bool : pack
val p_int32 : pack
val p_int64 : pack
val p_nativeint : pack
These values must be used only inside the Type library.
exception Cannot_pack
val unsafe_pack : Unmarshal.t -> pack
Cannot_pack
if packing failed.val of_pack : single_pack -> t
val cleanup : t -> t
val are_consistent : t -> t -> bool