mcrl2

Module aterm

Source
Expand description

Rust interface of Atermpp

This modules provides a safe abstraction for the C++ implementation of the atermpp library. For performance we have replicated the protection set mechanism on the Rust side, which is used during garbage collection to mark terms as being reachable.

Instead of unprotected_aterm there are ATermRef classes whose lifetime is bound by an existing term, providing a safe abstracting for terms that are implicitly protected by for example occuring as subterm of another protected term. They can be upgraded to a protected term using “protect” and borrowed using “borrow”.

Re-exports§

Modules§