ARTS 2.5.11 (git: 725533f0)
|
A complete quantum number value with type information. More...
#include <quantum_numbers.h>
Public Member Functions | |
constexpr std::strong_ordering | operator<=> (const Value &v) const |
constexpr | Value (Type t=Type::FINAL) |
Value (const Value &)=default | |
Value (Value &&) noexcept=default | |
Value & | operator= (const Value &)=default |
Value & | operator= (Value &&) noexcept=default |
constexpr | Value (Type t, Rational upp_, Rational low_) |
constexpr | Value (std::string_view s) |
Default constructor from some string of values. | |
constexpr Rational | upp () const noexcept |
Returns the upper quantum number rational if it exists or an undefined. | |
constexpr Rational | low () const noexcept |
Returns the lower quantum number rational if it exists or an undefined. | |
String | str_upp () const noexcept |
Returns the upper quantum number string copy. | |
String | str_low () const noexcept |
Returns the lower quantum number string copy. | |
void | swap_values (Value &x) |
Legacy way to swap the values between two Values. | |
constexpr void | set (std::string_view s, bool upp) |
Set level value. | |
constexpr LevelMatch | level_match (Value other) const noexcept |
Returns a description of whether both levels match. | |
bofstream & | write (bofstream &bof) const |
bifstream & | read (bifstream &bif) |
constexpr bool | good () const |
Public Attributes | |
Type | type |
TwoLevelValueHolder | qn |
Friends | |
std::ostream & | operator<< (std::ostream &os, Value x) |
Standard output. | |
std::istream & | operator>> (std::istream &is, Value &x) |
Standard input. | |
A complete quantum number value with type information.
Definition at line 716 of file quantum_numbers.h.
|
inlineconstexpr |
Definition at line 726 of file quantum_numbers.h.
|
default |
|
defaultnoexcept |
|
inlineconstexpr |
Definition at line 732 of file quantum_numbers.h.
References ARTS_ASSERT, ARTS_USER_ERROR, Quantum::Number::common_value_type(), Quantum::Number::ValueHolder::h, Quantum::Number::ValueHolder::i, Quantum::Number::TwoLevelValueHolder::low, Quantum::Number::TwoLevelValueHolder::upp, Quantum::Number::IntegerValue::x, and Quantum::Number::HalfIntegerValue::x.
|
inlineconstexpr |
Default constructor from some string of values.
Definition at line 752 of file quantum_numbers.h.
References ARTS_USER_ERROR_IF, Quantum::Number::count_items(), Quantum::Number::items(), and Quantum::Number::value_holder().
|
inlineconstexpr |
Definition at line 846 of file quantum_numbers.h.
|
inlineconstexprnoexcept |
Returns a description of whether both levels match.
Note that the LevelMatch type should automatically transform to bool so there's no need for extra work if this is your target question
other | Another value |
Definition at line 820 of file quantum_numbers.h.
References Quantum::Number::common_value_type(), Quantum::Number::TwoLevelValueHolder::low, Quantum::Number::ValueHolder::s, Quantum::Number::TwoLevelValueHolder::upp, Quantum::Number::LevelMatch::upp, and Quantum::Number::StringValue::x.
|
inlineconstexprnoexcept |
Returns the lower quantum number rational if it exists or an undefined.
Definition at line 780 of file quantum_numbers.h.
References Quantum::Number::common_value_type(), Quantum::Number::ValueHolder::h, Quantum::Number::ValueHolder::i, Quantum::Number::TwoLevelValueHolder::low, Quantum::Number::IntegerValue::val(), and Quantum::Number::HalfIntegerValue::val().
Referenced by str_low().
|
inlineconstexpr |
Definition at line 720 of file quantum_numbers.h.
References Quantum::Number::common_value_type(), Quantum::Number::TwoLevelValueHolder::order(), and v.
Definition at line 1114 of file quantum_numbers.cc.
References Quantum::Number::common_value_type(), Quantum::Number::StringValue::N, and binistream::readString().
|
inlineconstexpr |
Set level value.
Definition at line 802 of file quantum_numbers.h.
References Quantum::Number::TwoLevelValueHolder::low, Quantum::Number::TwoLevelValueHolder::upp, v, and Quantum::Number::value_holder().
Referenced by Quantum::Number::from_hitran(), Absorption::ReadFromArtscat5Stream(), and Quantum::Number::ValueList::ValueList().
|
noexcept |
Returns the lower quantum number string copy.
Definition at line 30 of file quantum_numbers.cc.
References Quantum::Number::common_value_type(), Quantum::Number::TwoLevelValueHolder::low, low(), qn, Quantum::Number::ValueHolder::s, type, Quantum::Number::StringValue::val(), and var_string().
|
noexcept |
Returns the upper quantum number string copy.
Definition at line 26 of file quantum_numbers.cc.
References Quantum::Number::common_value_type(), qn, Quantum::Number::ValueHolder::s, type, Quantum::Number::TwoLevelValueHolder::upp, upp(), Quantum::Number::StringValue::val(), and var_string().
void Quantum::Number::Value::swap_values | ( | Value & | x | ) |
Legacy way to swap the values between two Values.
Definition at line 1019 of file quantum_numbers.cc.
References qn, and var_string().
|
inlineconstexprnoexcept |
Returns the upper quantum number rational if it exists or an undefined.
Definition at line 767 of file quantum_numbers.h.
References Quantum::Number::common_value_type(), Quantum::Number::ValueHolder::h, Quantum::Number::ValueHolder::i, Quantum::Number::TwoLevelValueHolder::upp, Quantum::Number::IntegerValue::val(), and Quantum::Number::HalfIntegerValue::val().
Referenced by str_upp().
Definition at line 1096 of file quantum_numbers.cc.
References Quantum::Number::common_value_type(), Quantum::Number::StringValue::N, and binostream::writeString().
|
friend |
Standard output.
Definition at line 35 of file quantum_numbers.cc.
|
friend |
Standard input.
Definition at line 39 of file quantum_numbers.cc.
TwoLevelValueHolder Quantum::Number::Value::qn |
Definition at line 718 of file quantum_numbers.h.
Referenced by str_low(), str_upp(), and swap_values().
Type Quantum::Number::Value::type |
Definition at line 717 of file quantum_numbers.h.