Enum rustyms::Element

source ·
pub enum Element {
Show 119 variants H = 1, He = 2, Li = 3, Be = 4, B = 5, C = 6, N = 7, O = 8, F = 9, Ne = 10, Na = 11, Mg = 12, Al = 13, Si = 14, P = 15, S = 16, Cl = 17, Ar = 18, K = 19, Ca = 20, Sc = 21, Ti = 22, V = 23, Cr = 24, Mn = 25, Fe = 26, Co = 27, Ni = 28, Cu = 29, Zn = 30, Ga = 31, Ge = 32, As = 33, Se = 34, Br = 35, Kr = 36, Rb = 37, Sr = 38, Y = 39, Zr = 40, Nb = 41, Mo = 42, Tc = 43, Ru = 44, Rh = 45, Pd = 46, Ag = 47, Cd = 48, In = 49, Sn = 50, Sb = 51, Te = 52, I = 53, Xe = 54, Cs = 55, Ba = 56, La = 57, Ce = 58, Pr = 59, Nd = 60, Pm = 61, Sm = 62, Eu = 63, Gd = 64, Tb = 65, Dy = 66, Ho = 67, Er = 68, Tm = 69, Yb = 70, Lu = 71, Hf = 72, Ta = 73, W = 74, Re = 75, Os = 76, Ir = 77, Pt = 78, Au = 79, Hg = 80, Tl = 81, Pb = 82, Bi = 83, Po = 84, At = 85, Rn = 86, Fr = 87, Ra = 88, Ac = 89, Th = 90, Pa = 91, U = 92, Np = 93, Pu = 94, Am = 95, Cm = 96, Bk = 97, Cf = 98, Es = 99, Fm = 100, Md = 101, No = 102, Lr = 103, Rf = 104, Db = 105, Sg = 106, Bh = 107, Hs = 108, Mt = 109, Ds = 110, Rg = 111, Cn = 112, Nh = 113, Fl = 114, Mc = 115, Lv = 116, Ts = 117, Og = 118, Electron = 119,
}
Expand description

The elements (and electrons)

Variants§

§

H = 1

Element Hydrogen (H) atomic number: 1

§

He = 2

Element Helium (He) atomic number: 2

§

Li = 3

Element Lithium (Li) atomic number: 3

§

Be = 4

Element Beryllium (Be) atomic number: 4

§

B = 5

Element Boron (B) atomic number: 5

§

C = 6

Element Carbon (C) atomic number: 6

§

N = 7

Element Nitrogen (N) atomic number: 7

§

O = 8

Element Oxygen (O) atomic number: 8

§

F = 9

Element Fluorine (F) atomic number: 9

§

Ne = 10

Element Neon (Ne) atomic number: 10

§

Na = 11

Element Sodium (Na) atomic number: 11

§

Mg = 12

Element Magnesium (Mg) atomic number: 12

§

Al = 13

Element Aluminium (Al) atomic number: 13

§

Si = 14

Element Silicon (Si) atomic number: 14

§

P = 15

Element Phosphorus (P) atomic number: 15

§

S = 16

Element Sulphur (S) atomic number: 16

§

Cl = 17

Element Chlorine (Cl) atomic number: 17

§

Ar = 18

Element Argon (Ar) atomic number: 18

§

K = 19

Element Potassium (K) atomic number: 19

§

Ca = 20

Element Calcium (Ca) atomic number: 20

§

Sc = 21

Element Scandium (Sc) atomic number: 21

§

Ti = 22

Element Titanium (Ti) atomic number: 22

§

V = 23

Element Vanadium (V) atomic number: 23

§

Cr = 24

Element Chromium (Cr) atomic number: 24

§

Mn = 25

Element Manganese (Mn) atomic number: 25

§

Fe = 26

Element Iron (Fe) atomic number: 26

§

Co = 27

Element Cobalt (Co) atomic number: 27

§

Ni = 28

Element Nickel (Ni) atomic number: 28

§

Cu = 29

Element Copper (Cu) atomic number: 29

§

Zn = 30

Element Zinc (Zn) atomic number: 30

§

Ga = 31

Element Gallium (Ga) atomic number: 31

§

Ge = 32

Element Germanium (Ge) atomic number: 32

§

As = 33

Element Arsenic (As) atomic number: 33

§

Se = 34

Element Selenium (Se) atomic number: 34

§

Br = 35

Element Bromine (Br) atomic number: 35

§

Kr = 36

Element Krypton (Kr) atomic number: 36

§

Rb = 37

Element Rubidium (Rb) atomic number: 37

§

Sr = 38

Element Strontium (Sr) atomic number: 38

§

Y = 39

Element Yttrium (Y) atomic number: 39

§

Zr = 40

Element Zirconium (Zr) atomic number: 40

§

Nb = 41

Element Niobium (Nb) atomic number: 41

§

Mo = 42

Element Molybdenum (Mo) atomic number: 42

§

Tc = 43

Element Technetium (Tc) atomic number: 43

§

Ru = 44

Element Ruthenium (Ru) atomic number: 44

§

Rh = 45

Element Rhodium (Rh) atomic number: 45

§

Pd = 46

Element Palladium (Pd) atomic number: 46

§

Ag = 47

Element Silver (Ag) atomic number: 47

§

Cd = 48

Element Cadmium (Cd) atomic number: 48

§

In = 49

Element Indium (In) atomic number: 49

§

Sn = 50

Element Tin (Sn) atomic number: 50

§

Sb = 51

Element Antimony (Sb) atomic number: 51

§

Te = 52

Element Tellurium (Te) atomic number: 52

§

I = 53

Element Iodine (I) atomic number: 53

§

Xe = 54

Element Xenon (Xe) atomic number: 54

§

Cs = 55

Element Caesium (Cs) atomic number: 55

§

Ba = 56

Element Barium (Ba) atomic number: 56

§

La = 57

Element Lanthanum (La) atomic number: 57

§

Ce = 58

Element Cerium (Ce) atomic number: 58

§

Pr = 59

Element Praseodymium (Pr) atomic number: 59

§

Nd = 60

Element Neodymium (Nd) atomic number: 60

§

Pm = 61

Element Promethium (Pm) atomic number: 61

§

Sm = 62

Element Samarium (Sm) atomic number: 62

§

Eu = 63

Element Europium (Eu) atomic number: 63

§

Gd = 64

Element Gadolinium (Gd) atomic number: 64

§

Tb = 65

Element Terbium (Tb) atomic number: 65

§

Dy = 66

Element Dysprosium (Dy) atomic number: 66

§

Ho = 67

Element Holmium (Ho) atomic number: 67

§

Er = 68

Element Erbium (Er) atomic number: 68

§

Tm = 69

Element Thulium (Tm) atomic number: 69

§

Yb = 70

Element Ytterbium (Yb) atomic number: 70

§

Lu = 71

Element Lutetium (Lu) atomic number: 71

§

Hf = 72

Element Hafnium (Hf) atomic number: 72

§

Ta = 73

Element Tantalum (Ta) atomic number: 73

§

W = 74

Element Tungsten (W) atomic number: 74

§

Re = 75

Element Rhenium (Re) atomic number: 75

§

Os = 76

Element Osmium (Os) atomic number: 76

§

Ir = 77

Element Iridium (Ir) atomic number: 77

§

Pt = 78

Element Platinum (Pt) atomic number: 78

§

Au = 79

Element Gold (Au) atomic number: 79

§

Hg = 80

Element Mercury (Hg) atomic number: 80

§

Tl = 81

Element Thallium (Tl) atomic number: 81

§

Pb = 82

Element Lead (Pb) atomic number: 82

§

Bi = 83

Element Bismuth (Bi) atomic number: 83

§

Po = 84

Element Polonium (Po) atomic number: 84

§

At = 85

Element Astatine (At) atomic number: 85

§

Rn = 86

Element Radon (Rn) atomic number: 86

§

Fr = 87

Element Francium (Fr) atomic number: 87

§

Ra = 88

Element Radium (Ra) atomic number: 88

§

Ac = 89

Element Actinium (Ac) atomic number: 89

§

Th = 90

Element Thorium (Th) atomic number: 90

§

Pa = 91

Element Protactinium (Pa) atomic number: 91

§

U = 92

Element Uranium (U) atomic number: 92

§

Np = 93

Element Neptunium (Np) atomic number: 93

§

Pu = 94

Element Plutonium (Pu) atomic number: 94

§

Am = 95

Element Americium (Am) atomic number: 95

§

Cm = 96

Element Curium (Cm) atomic number: 96

§

Bk = 97

Element Berkelium (Bk) atomic number: 97

§

Cf = 98

Element Californium (Cf) atomic number: 98

§

Es = 99

Element Einsteinium (Es) atomic number: 99

§

Fm = 100

Element Fermium (Fm) atomic number: 100

§

Md = 101

Element Mendelevium (Md) atomic number: 101

§

No = 102

Element Nobelium (No) atomic number: 102

§

Lr = 103

Element Lawrencium (Lr) atomic number: 103

§

Rf = 104

Element Rutherfordium (Rf) atomic number: 104

§

Db = 105

Element Dubnium (Db) atomic number: 105

§

Sg = 106

Element Seaborgium (Sg) atomic number: 106

§

Bh = 107

Element Bohrium (Bh) atomic number: 107

§

Hs = 108

Element Hassium (Hs) atomic number: 108

§

Mt = 109

Element Meitnerium (Mt) atomic number: 109

§

Ds = 110

Element Darmstadtium (Ds) atomic number: 110

§

Rg = 111

Element Roentgenium (Rg) atomic number: 111

§

Cn = 112

Element Copernicium (Cn) atomic number: 112

§

Nh = 113

Element Nihonium (Nh) atomic number: 113

§

Fl = 114

Element Flerovium (Fl) atomic number: 114

§

Mc = 115

Element Moscovium (Mc) atomic number: 115

§

Lv = 116

Element Livermorium (Lv) atomic number: 116

§

Ts = 117

Element Tennessine (Ts) atomic number: 117

§

Og = 118

Element Oganesson (Og) atomic number: 118

§

Electron = 119

Not necessarily an element but handy to have: Proton Not necessarily an element but handy to have: electron

Implementations§

source§

impl Element

source

pub fn isotopes(self) -> &'static [(u16, Mass, f64)]

Get all available isotopes (N, mass, abundance)

source

pub fn mass(&self, isotope: u16) -> Option<Mass>

The mass of the specified isotope of this element (if that isotope exists)

source

pub fn average_weight(&self, isotope: u16) -> Option<Mass>

The average weight of the specified isotope of this element (if that isotope exists)

source

pub fn most_abundant_mass(&self, n: i16, isotope: u16) -> Option<Mass>

Gives the most abundant mass based on the number of this isotope

Trait Implementations§

source§

impl Clone for Element

source§

fn clone(&self) -> Element

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Element

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Element

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for Element

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Element

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Element

source§

fn cmp(&self, other: &Element) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Element

source§

fn eq(&self, other: &Element) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Element

source§

fn partial_cmp(&self, other: &Element) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for Element

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<&str> for Element

§

type Error = ()

The type returned in the event of a conversion error.
source§

fn try_from(value: &str) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Copy for Element

source§

impl Eq for Element

source§

impl StructuralEq for Element

source§

impl StructuralPartialEq for Element

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,