|
fourdst::libcomposition v2.3.1
Robust atomic species information library
|
Abstract base class for chemical composition representations. More...
#include <composition_abstract.h>
Public Types | |
| using | iterator = detail::CompositionIterator<false> |
| using | const_iterator = detail::CompositionIterator<true> |
Public Member Functions | |
| virtual | ~CompositionAbstract ()=default |
| Virtual destructor. | |
| virtual bool | contains (const fourdst::atomic::Species &species) const noexcept=0 |
| Check if the composition contains the given species. | |
| virtual bool | contains (const std::string &symbol) const =0 |
| Check if the composition contains the given species. | |
| virtual size_t | size () const noexcept=0 |
| virtual std::set< std::string > | getRegisteredSymbols () const noexcept=0 |
| Get all registered chemical symbols in the composition. | |
| virtual const std::vector< atomic::Species > & | getRegisteredSpecies () const noexcept=0 |
| Get all registered atomic species in the composition. | |
| virtual std::unordered_map< fourdst::atomic::Species, double > | getMassFraction () const noexcept=0 |
| Get the mass fraction for all registered symbols. | |
| virtual std::unordered_map< fourdst::atomic::Species, double > | getNumberFraction () const noexcept=0 |
| Get the number fraction for all registered symbols. | |
| virtual double | getMassFraction (const std::string &symbol) const =0 |
| Get the mass fraction for a given symbol. | |
| virtual double | getMassFraction (const fourdst::atomic::Species &species) const =0 |
| Get the mass fraction for a given species. | |
| virtual double | getNumberFraction (const std::string &symbol) const =0 |
| Get the number fraction for a given symbol. | |
| virtual double | getNumberFraction (const fourdst::atomic::Species &species) const =0 |
| Get the number fraction for a given species. | |
| virtual double | getMolarAbundance (const std::string &symbol) const =0 |
| Get the molar abundance for a given symbol. | |
| virtual double | getMolarAbundance (const fourdst::atomic::Species &species) const =0 |
| Get the molar abundance for a given species. | |
| virtual double | getMeanParticleMass () const noexcept=0 |
| Get the mean particle mass of the composition. | |
| virtual double | getElectronAbundance () const noexcept=0 |
| Get the electron abundance of the composition. | |
| virtual std::vector< double > | getMassFractionVector () const noexcept=0 |
| Get the mass fraction as a vector. | |
| virtual std::vector< double > | getNumberFractionVector () const noexcept=0 |
| Get the number fraction as a vector. | |
| virtual std::vector< double > | getMolarAbundanceVector () const noexcept=0 |
| Get the molar abundance as a vector. | |
| virtual size_t | getSpeciesIndex (const std::string &symbol) const =0 |
| Get the index of a species by symbol. | |
| virtual size_t | getSpeciesIndex (const fourdst::atomic::Species &species) const =0 |
| Get the index of a species. | |
| virtual atomic::Species | getSpeciesAtIndex (size_t index) const =0 |
| Get the species at a given index. | |
| virtual std::unique_ptr< CompositionAbstract > | clone () const =0 |
| virtual iterator | begin ()=0 |
| virtual iterator | end ()=0 |
| virtual const_iterator | begin () const =0 |
| virtual const_iterator | end () const =0 |
| virtual std::size_t | hash () const =0 |
Abstract base class for chemical composition representations.
The purpose of this class is to define a standard interface for all composition types. Children of this class are responsible for implementing the setter methods, but any object that is a child of CompositionAbstract will always have these getter methods.
This ensures that all derived composition classes provide a consistent API for querying composition properties, regardless of how the data is set or stored.
Definition at line 36 of file composition_abstract.h.
Definition at line 39 of file composition_abstract.h.
Definition at line 38 of file composition_abstract.h.
|
virtualdefault |
Virtual destructor.
|
nodiscardpure virtual |
|
nodiscardpure virtual |
|
nodiscardpure virtual |
Implemented in fourdst::composition::Composition, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Check if the composition contains the given species.
| species | The atomic species to check. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Check if the composition contains the given species.
| symbol | The symbol of the atomic species to check. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
|
nodiscardpure virtual |
|
nodiscardpure virtualnoexcept |
Get the electron abundance of the composition.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the mass fraction for all registered symbols.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the mass fraction for a given species.
| species | The atomic species. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the mass fraction for a given symbol.
| symbol | The chemical symbol. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the mass fraction as a vector.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the mean particle mass of the composition.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the molar abundance for a given species.
| species | The atomic species. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the molar abundance for a given symbol.
| symbol | The chemical symbol. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the molar abundance as a vector.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the number fraction for all registered symbols.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the number fraction for a given species.
| species | The atomic species. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the number fraction for a given symbol.
| symbol | The chemical symbol. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get the number fraction as a vector.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get all registered atomic species in the composition.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |
Get all registered chemical symbols in the composition.
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the species at a given index.
| index | The index of the species. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the index of a species.
| species | The atomic species. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Get the index of a species by symbol.
| symbol | The chemical symbol. |
Implemented in fourdst::composition::Composition, fourdst::composition::CompositionDecorator, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtual |
Implemented in fourdst::composition::Composition, and fourdst::composition::MaskedComposition.
|
nodiscardpure virtualnoexcept |