pub struct BfTermPool<T: ?Sized> { /* private fields */ }
Expand description
Provides access to the mCRL2 busy forbidden protocol, where there are thread local busy flags and one central storage for the forbidden flags. Care must be taken to avoid deadlocks since the FFI also uses the same flags.
Implementations§
Source§impl<T> BfTermPool<T>
impl<T> BfTermPool<T>
pub fn new(object: T) -> BfTermPool<T>
Source§impl<'a, T: ?Sized> BfTermPool<T>
impl<'a, T: ?Sized> BfTermPool<T>
Sourcepub fn read(&'a self) -> BfTermPoolRead<'a, T>
pub fn read(&'a self) -> BfTermPoolRead<'a, T>
Provides read access to the underlying object.
Sourcepub fn write(&'a self) -> BfTermPoolWrite<'a, T>
pub fn write(&'a self) -> BfTermPoolWrite<'a, T>
Provides write access to the underlying object.
Sourcepub unsafe fn write_exclusive(&'a self) -> BfTermPoolThreadWrite<'a, T>
pub unsafe fn write_exclusive(&'a self) -> BfTermPoolThreadWrite<'a, T>
Trait Implementations§
Source§impl<T: Markable + ?Sized> Markable for BfTermPool<T>
impl<T: Markable + ?Sized> Markable for BfTermPool<T>
Source§fn mark(&self, todo: Pin<&mut term_mark_stack>)
fn mark(&self, todo: Pin<&mut term_mark_stack>)
Marks all the ATermRefs to prevent them from being garbage collected.
Source§fn contains_term(&self, term: &ATermRef<'_>) -> bool
fn contains_term(&self, term: &ATermRef<'_>) -> bool
Should return true iff the given term is contained in the object. Used for runtime checks.
impl<T: Send> Send for BfTermPool<T>
impl<T: Send> Sync for BfTermPool<T>
Auto Trait Implementations§
impl<T> !Freeze for BfTermPool<T>
impl<T> !RefUnwindSafe for BfTermPool<T>
impl<T> Unpin for BfTermPool<T>
impl<T> UnwindSafe for BfTermPool<T>where
T: UnwindSafe + ?Sized,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more