sig
type atom = P of Cil_types.typ | I of Ctypes.c_int | F of Ctypes.c_float
val pp_atom : Format.formatter -> MemTyped.Layout.atom -> unit
val eqatom : MemTyped.Layout.atom -> MemTyped.Layout.atom -> bool
type block =
Str of MemTyped.Layout.atom * int
| Arr of MemTyped.Layout.layout * int
| Garbled
and layout = MemTyped.Layout.block list
val pp_block : Format.formatter -> MemTyped.Layout.block -> unit
val pp_layout : Format.formatter -> MemTyped.Layout.layout -> unit
val add_atom :
MemTyped.Layout.atom ->
MemTyped.Layout.block list -> MemTyped.Layout.block list
val add_block :
MemTyped.Layout.block ->
MemTyped.Layout.block list -> MemTyped.Layout.block list
val add_many :
MemTyped.Layout.layout ->
int -> MemTyped.Layout.block list -> MemTyped.Layout.block list
val rlayout :
MemTyped.Layout.block list ->
Ctypes.c_object -> MemTyped.Layout.block list
val flayout :
MemTyped.Layout.block list ->
Cil_types.fieldinfo -> MemTyped.Layout.block list
val layout : Ctypes.c_object -> MemTyped.Layout.layout
type comparison = Fit | Equal | Mismatch
val add_array :
MemTyped.Layout.layout ->
int -> MemTyped.Layout.block list -> MemTyped.Layout.block list
val compare :
MemTyped.Layout.layout ->
MemTyped.Layout.layout -> MemTyped.Layout.comparison
val fits : Ctypes.c_object -> Ctypes.c_object -> bool
val pretty : Format.formatter -> Ctypes.c_object -> unit
end