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 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
Type descriptor builders
Builders for standard OCaml types
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.
Builders from others datatypes of the Type library
val of_structural : 'a Type.t -> Structural_descr.t -> 'a t
Type 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.t
val pack : 'a t -> Structural_descr.pack
Safe unmarshaling
val input_val : Stdlib.in_channel -> 'a t -> 'a