ARTS 2.5.11 (git: 725533f0)
|
#include <algorithm>
#include <compare>
#include <cstddef>
#include <istream>
#include <limits>
#include <ostream>
#include <sstream>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
#include "debug.h"
#include "enums.h"
#include "isotopologues.h"
#include "matpack_concepts.h"
#include "nonstd.h"
#include "rational.h"
Go to the source code of this file.
Classes | |
struct | Quantum::Number::StringValue |
Holds string values but can only hold sizeof(Index) long values. More... | |
struct | Quantum::Number::IntegerValue |
Holds integer values. More... | |
struct | Quantum::Number::HalfIntegerValue |
Holds half integer values, but only its denominator. More... | |
union | Quantum::Number::ValueHolder |
A union of the three type of values we need to consider. More... | |
struct | Quantum::Number::ValueDescription |
A complete description of a value, its type and value. More... | |
struct | Quantum::Number::TwoLevelValueHolder |
The values of two levels. More... | |
struct | Quantum::Number::LevelMatch |
Struct that converts to bool automatically but allows checking both energy levels matching status. More... | |
struct | Quantum::Number::Value |
A complete quantum number value with type information. More... | |
struct | Quantum::Number::CheckMatch |
Status of comparing two lists that are supposedly of some type. More... | |
class | Quantum::Number::ValueList |
A list of many quantum numbers. Should always remain sorted. More... | |
struct | Quantum::Number::LocalState |
A logical struct for local quantum numbers. More... | |
struct | Quantum::Number::LevelTest |
struct | Quantum::Number::GlobalState |
A logical struct for global quantum numbers with species identifiers. More... | |
struct | Quantum::Number::StateMatch |
StateMatchType operates so that a check less than a level should be 'better', bar None. More... | |
Namespaces | |
namespace | Quantum |
namespace | Quantum::Number |
Typedefs | |
using | QuantumNumberType = Quantum::Number::Type |
using | QuantumNumberValue = Quantum::Number::Value |
using | QuantumNumberValueList = Quantum::Number::ValueList |
using | QuantumNumberLocalState = Quantum::Number::LocalState |
using | QuantumIdentifier = Quantum::Number::GlobalState |
using | ArrayOfQuantumIdentifier = Array< QuantumIdentifier > |
Functions | |
Quantum::Number::ENUMCLASS (Type, char, alpha, config, ElecStateLabel, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, I, J, K, Ka, Kc, L, Lambda, N, Omega, S, Sigma, SpinComponentLabel, asSym, elecInv, elecRefl, elecSym, kronigParity, l, l1, l10, l11, l12, l2, l3, l4, l5, l6, l7, l8, l9, n, parity, r, rotSym, rovibSym, sym, tau, term, v, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9, vibInv, vibRefl, vibSym) const expr ValueType common_value_type(Type type) noexcept | |
Three tags, S: str, I: index, H: half-index. | |
constexpr ValueType | Quantum::Number::common_value_type (ValueType a, ValueType b) noexcept |
Return a common type between a and b. | |
constexpr std::strong_ordering | Quantum::Number::cmp (std::strong_ordering &&a, std::strong_ordering &&b) |
constexpr ValueDescription | Quantum::Number::value_holder (Rational r_) |
Takes a rational and determine which type of quantum number it is, returning this information or throwing a runtime error if there's an error. | |
constexpr Rational | Quantum::Number::cast_qnrat (std::string_view s) noexcept |
Returns a rational if possible or RATIONAL_UNDEFINED otherwise. | |
constexpr ValueDescription | Quantum::Number::value_holder (std::string_view s, Type t) |
Returns a value description for the quantum number. | |
constexpr Index | Quantum::Number::count_items (std::string_view s) noexcept |
Count all space-separated items in s. | |
constexpr std::string_view | Quantum::Number::rstrip (std::string_view x) |
Strips spaces at the end of x before returning it. | |
constexpr std::string_view | Quantum::Number::lstrip (std::string_view x) |
Strips spaces at the beginning x before returning it. | |
constexpr std::string_view | Quantum::Number::strip (std::string_view x) |
Strips spaces at the beginning and end of x before returning it. | |
template<std::size_t n = 1> | |
constexpr std::string_view | Quantum::Number::items (std::string_view s, std::size_t i) noexcept |
Get a view of a number of space-separated items from the list. | |
constexpr CheckValue | Quantum::Number::update (CheckValue val, CheckValue res) noexcept |
Updates old by what a new check says it should be. | |
constexpr CheckMatch | Quantum::Number::update (CheckMatch val, CheckValue res) noexcept |
Updates old by what a new check says it should be. | |
constexpr CheckMatch | Quantum::Number::update (CheckMatch val, CheckMatch res) noexcept |
Updates old by what a new check says it should be. | |
template<size_t N> | |
constexpr bool | Quantum::Number::is_sorted (const std::array< Type, N > &types) noexcept |
Checks if an array of types is sorted. | |
ValueList | Quantum::Number::from_hitran (std::string_view upp, std::string_view low) |
Quantum::Number::ENUMCLASS (VAMDC, char, asymcs, asymos, dcs, hunda, hundb, lpcs, lpos, ltcs, ltos, nltcs, nltos, sphcs, sphos, stcs) bool vamdcCheck(const ValueList &l | |
VAMDC classes of quantum number cases. | |
Variables | |
constexpr Index | quantum_number_error_value = -999'999'999 |
VAMDC type | Quantum::Number::ARTS_NOEXCEPT |
constexpr std::array | Quantum::Number::global_types |
A default state of global quantum numbers. | |
constexpr std::array | Quantum::Number::local_types |
A default state of local quantum numbers. | |
Definition at line 1223 of file quantum_numbers.h.
Definition at line 1222 of file quantum_numbers.h.
Definition at line 1221 of file quantum_numbers.h.
using QuantumNumberType = Quantum::Number::Type |
Definition at line 1218 of file quantum_numbers.h.
Definition at line 1219 of file quantum_numbers.h.
Definition at line 1220 of file quantum_numbers.h.
|
constexpr |
Definition at line 24 of file quantum_numbers.h.
Referenced by Quantum::Number::value_holder().