module type Interface = sig
.. end
External interface of a domain, with accessors.
Automatically built by the functor
Structure.Open
.
When a generic domain is a combination of several domains, these functions
allow interacting with its subparts. Note that their behavior is undefined
if the overall domain contains several times the same domain.
type
t
val mem : 'a Abstract_domain.key -> bool
Tests whether a key belongs to the domain.
val get : 'a Abstract_domain.key -> (t -> 'a) option
For a key of type
k key
:
- if the states of this domain (of type
t
) contain a part (of type k
)
from the domain identified by the key,
then get key
returns an accessor for this part of a state.
- otherwise,
get key
returns None.
val set : 'a Abstract_domain.key ->
'a -> t -> t
For a key of type
k key
:
- if the states of this domain (of type
t
) contain a part (of type k
)
from the domain identified by the key,
then set key d state
returns the state state
in which this part
has been replaced by d
.
- otherwise,
set key _
is the identity function.