module type External = 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.
include Abstract_domain.S
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.