Frama-C API - 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.
Type declaration
Predefined type descriptors
val t_unit : unit tval t_int : int tval t_string : string tval t_float : float tval t_bool : bool tval t_int32 : int32 tval t_int64 : int64 tval t_nativeint : nativeint tval unmarshable : 'a tDescriptor for unmarshallable types.
val is_unmarshable : 'a t -> boolval is_abstract : 'a t -> boolType descriptor builders
Builders for standard OCaml types
val t_record : Structural_descr.pack array -> 'a -> 'a tType 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 tType 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.
Builders from others datatypes of the Type library
val of_structural : 'a Type.t -> Structural_descr.t -> 'a tType descriptor from the structural descriptor. The given type value ensures safety.
Builders mapping Unmarshal's transformers
Similar 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.
Coercions
val str : 'a t -> Structural_descr.tval pack : 'a t -> Structural_descr.packSafe unmarshaling
val input_val : Channel.input -> 'a t -> 'a