libbio
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
bio::Metallic< T >::BondIdentity Struct Reference

#include <Metallic.h>

Collaboration diagram for bio::Metallic< T >::BondIdentity:
Collaboration graph
[legend]

Public Member Functions

 BondIdentity ()
 
 BondIdentity (chemical::AtomicNumber i, Pointer< physical::Wave > b)
 

Public Attributes

chemical::AtomicNumber id
 
Pointer< physical::Wavebonded
 

Detailed Description

template<class T>
struct bio::Metallic< T >::BondIdentity

Snapshot of a Bond's identity for deferred operations outside the lock window. We can't call back into receiver->FormBondImplementation (which takes the exclusive Atom lock) from inside a ForEachBond visitor (which holds the shared lock on donor): even if the two Atoms are distinct, the surrounding lock-discipline invariant is "do real work outside the visitor". We collect identities here and process them after the donor lock is released. RFC ยง5 step 3.

Constructor & Destructor Documentation

◆ BondIdentity() [1/2]

template<class T >
bio::Metallic< T >::BondIdentity::BondIdentity ( )
inline

◆ BondIdentity() [2/2]

template<class T >
bio::Metallic< T >::BondIdentity::BondIdentity ( chemical::AtomicNumber  i,
Pointer< physical::Wave b 
)
inline

Member Data Documentation

◆ bonded

template<class T >
Pointer< physical::Wave > bio::Metallic< T >::BondIdentity::bonded

◆ id

template<class T >
chemical::AtomicNumber bio::Metallic< T >::BondIdentity::id

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