pub struct BondRecord {
pub atom_a: AtomIndex,
pub atom_b: AtomIndex,
pub order: BondOrder,
pub provenance: BondProvenance,
pub kind: OptionalSymbol,
}Expand description
One bond before it is packed into columns.
Fields§
§atom_a: AtomIndexFirst atom endpoint.
atom_b: AtomIndexSecond atom endpoint.
order: BondOrderChemical order.
provenance: BondProvenanceSource of this assignment.
kind: OptionalSymbolThe connection’s own classification, as the source recorded it, interned in the dictionary that owns this record.
This is the deposited connectivity kind — covale, disulf, metalc,
modres, or a source-defined refinement — and it is independent of
order and of provenance. A metal
coordination bond and a covalent one can share an order and still mean
different chemistry, so a consumer that must not treat coordination as an
ordinary covalent edge reads this field rather than inferring from the
atom names.
An identifier means something only against the structure whose dictionary
issued it. Copying one into a structure with an independent dictionary is
invalid; the merge and transfer paths remap it, and
NONE means the source recorded no classification
at all, which is not the same as any particular class.
Implementations§
Source§impl BondRecord
impl BondRecord
Sourcepub fn is_metal_coordination(&self, dictionary: &Interner) -> bool
pub fn is_metal_coordination(&self, dictionary: &Interner) -> bool
Whether the source explicitly classifies this edge as metal coordination. An absent or unknown class is not evidence of coordination; elements, bond order and provenance never substitute for the deposited class.
Sourcepub const fn unclassified(
atom_a: AtomIndex,
atom_b: AtomIndex,
order: BondOrder,
provenance: BondProvenance,
) -> BondRecord
pub const fn unclassified( atom_a: AtomIndex, atom_b: AtomIndex, order: BondOrder, provenance: BondProvenance, ) -> BondRecord
A record whose source recorded no connection classification.
Most producers infer connectivity from chemistry or from distances and
have no deposited conn_type_id to carry; this states that absence rather
than picking a class.
Trait Implementations§
Source§impl Clone for BondRecord
impl Clone for BondRecord
Source§fn clone(&self) -> BondRecord
fn clone(&self) -> BondRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BondRecord
Source§impl Debug for BondRecord
impl Debug for BondRecord
impl Eq for BondRecord
Source§impl PartialEq for BondRecord
impl PartialEq for BondRecord
impl StructuralPartialEq for BondRecord
Auto Trait Implementations§
impl Freeze for BondRecord
impl RefUnwindSafe for BondRecord
impl Send for BondRecord
impl Sync for BondRecord
impl Unpin for BondRecord
impl UnsafeUnpin for BondRecord
impl UnwindSafe for BondRecord
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more