SpECTRE  v2024.04.12
Parallel::NodeLock Class Reference

A typesafe wrapper for a lock for synchronization of shared resources on a given node, with safe creation, destruction, and serialization. More...

#include <NodeLock.hpp>

Public Member Functions

 NodeLock (CkMigrateMessage *)
 
 NodeLock (const NodeLock &)=delete
 
NodeLockoperator= (const NodeLock &)=delete
 
 NodeLock (NodeLock &&moved_lock) noexcept
 
NodeLockoperator= (NodeLock &&moved_lock) noexcept
 
void lock ()
 
bool try_lock ()
 
void unlock ()
 
void destroy ()
 
bool is_destroyed ()
 
void pup (PUP::er &p)
 

Detailed Description

A typesafe wrapper for a lock for synchronization of shared resources on a given node, with safe creation, destruction, and serialization.

Note
If a locked NodeLock is serialized, it is deserialized as unlocked.

The documentation for this class was generated from the following file: