pub struct ElementMask(/* private fields */);Expand description
Struct representing a set of elements as a bitmask.
Each bit in the u128 corresponds to an element in the periodic table,
with the least significant bit representing Hydrogen (H, atomic number 1)
and the most significant bit representing Oganesson (Og, atomic number 118).
Implementations§
Source§impl ElementMask
impl ElementMask
Sourcepub fn contains(&self, element: Element) -> bool
pub fn contains(&self, element: Element) -> bool
Returns whether the bitmask contains the specified element.
§Arguments
element- The element to check for in the bitmask.
§Examples
use elements_rs::{Element, ElementMask};
let mut mask = ElementMask::default();
mask.insert(Element::H);
assert!(mask.contains(Element::H));
assert!(!mask.contains(Element::He));Sourcepub fn insert(&mut self, element: Element) -> bool
pub fn insert(&mut self, element: Element) -> bool
Inserts an element into the bitmask and returns whether the element was not already present.
§Arguments
element- The element to insert into the bitmask.
§Examples
use elements_rs::{Element, ElementMask};
let mut mask = ElementMask::default();
assert!(mask.insert(Element::H)); // Was not present
assert!(!mask.insert(Element::H)); // Already presentTrait Implementations§
Source§impl Clone for ElementMask
impl Clone for ElementMask
Source§fn clone(&self) -> ElementMask
fn clone(&self) -> ElementMask
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ElementMask
impl Debug for ElementMask
Source§impl Default for ElementMask
impl Default for ElementMask
Source§fn default() -> ElementMask
fn default() -> ElementMask
Returns the “default value” for a type. Read more
Source§impl From<Element> for ElementMask
impl From<Element> for ElementMask
Source§impl FromIterator<Element> for ElementMask
impl FromIterator<Element> for ElementMask
Source§fn from_iter<T: IntoIterator<Item = Element>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = Element>>(iter: T) -> Self
§Examples
use elements_rs::{Element, ElementMask};
let elements = alloc::vec![Element::H, Element::He];
let mask: ElementMask = elements.into_iter().collect();
assert!(mask.contains(Element::H));
assert!(mask.contains(Element::He));Source§impl Hash for ElementMask
impl Hash for ElementMask
Source§impl IntoIterator for ElementMask
impl IntoIterator for ElementMask
Source§fn into_iter(self) -> Self::IntoIter
fn into_iter(self) -> Self::IntoIter
§Examples
use elements_rs::{Element, ElementMask};
let mut mask = ElementMask::default();
mask.insert(Element::H);
mask.insert(Element::He);
let elements: Vec<Element> = mask.into_iter().collect();
assert_eq!(elements, alloc::vec![Element::H, Element::He]);Source§impl PartialEq for ElementMask
impl PartialEq for ElementMask
impl Copy for ElementMask
impl Eq for ElementMask
impl StructuralPartialEq for ElementMask
Auto Trait Implementations§
impl Freeze for ElementMask
impl RefUnwindSafe for ElementMask
impl Send for ElementMask
impl Sync for ElementMask
impl Unpin for ElementMask
impl UnwindSafe for ElementMask
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