Frama_c_kernel.Descr
Type descriptor for safe unmarshalling.
This module provides a safe API on top of modules Unmarshal
of Structural_descr
, using module Type
. This module offers the same power as Unmarshal
, but in a safe way.
val t_unit : unit t
val t_int : int t
val t_string : string t
val t_float : float t
val t_bool : bool t
val t_int32 : int32 t
val t_int64 : int64 t
val t_nativeint : nativeint t
val unmarshable : 'a t
Descriptor for unmarshallable types.
val is_unmarshable : 'a t -> bool
val is_abstract : 'a t -> bool
val t_record : Structural_descr.pack array -> 'a -> 'a t
Type descriptor for records (the length of the array must be equal to the number of fields in the record).
val t_tuple : Structural_descr.pack array -> 'a -> 'a t
Type descriptor for tuples of any range (the length of the array range is the range of the tuple).
Type descriptor for pairs (2-tuples). Safer that t_tuple
for pairs.
val of_structural : 'a Type.t -> Structural_descr.t -> 'a t
Type descriptor from the structural descriptor. The given type value ensures safety.
Unmarshal
's transformersSimilar to Unmarshal.structure.Dependent_pair
, but safe.
Similar to Unmarshal.t.Transform
, but safe.
Similar to Unmarshal.t.Return
, but safe.
Similar to Unmarshal.t.Dynamic
.
val str : 'a t -> Structural_descr.t
val pack : 'a t -> Structural_descr.pack
val input_val : Stdlib.in_channel -> 'a t -> 'a