docs(docs): rebuilt docs

This commit is contained in:
2026-05-18 10:08:43 -04:00
parent 9299514307
commit 3741768893
737 changed files with 135094 additions and 159417 deletions

View File

@@ -9,19 +9,34 @@ all: $(MANUAL_FILE).pdf
pdf: $(MANUAL_FILE).pdf
$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
$(LATEX_CMD) $(MANUAL_FILE)
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE)
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
latex_count=$(LATEX_COUNT) ; \
while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) $(MANUAL_FILE) ;\
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi; \
latex_count=`expr $$latex_count - 1` ;\
done
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE)
$(LATEX_CMD) $(MANUAL_FILE) || \
if [ $$? != 0 ] ; then \
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
false; \
fi
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf

View File

@@ -1,18 +1,21 @@
\doxysection{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{fourdst\+::composition\+::\+Canonical\+Composition}} \\*Represents the canonical (X, Y, Z) composition of stellar material }{\pageref{structfourdst_1_1composition_1_1CanonicalComposition}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{fourdst\+::composition\+::\+Composition}} \\*Manages a collection of chemical species and their abundances }{\pageref{classfourdst_1_1composition_1_1Composition}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1CompositionAbstract}{fourdst\+::composition\+::\+Composition\+Abstract}} \\*Abstract base class for chemical composition representations }{\pageref{classfourdst_1_1composition_1_1CompositionAbstract}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}{fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache}} \\*Caches computed properties of the composition to avoid redundant calculations }{\pageref{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1CompositionDecorator}{fourdst\+::composition\+::\+Composition\+Decorator}} }{\pageref{classfourdst_1_1composition_1_1CompositionDecorator}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}{fourdst\+::composition\+::exceptions\+::\+Composition\+Error}} \\*Base class for exceptions related to composition objects }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1CompositionHash}{fourdst\+::composition\+::utils\+::\+Composition\+Hash}} }{\pageref{structfourdst_1_1composition_1_1utils_1_1CompositionHash}}{}
\item\contentsline{section}{\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1Species_01_4}{std\+::hash$<$ fourdst\+::atomic\+::\+Species $>$}} \\*Specialization of {\ttfamily std\+::hash} for {\ttfamily \doxylink{structfourdst_1_1atomic_1_1Species}{fourdst\+::atomic\+::\+Species}} }{\pageref{structstd_1_1hash_3_01fourdst_1_1atomic_1_1Species_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1Composition_01_4}{std\+::hash$<$ fourdst\+::composition\+::\+Composition $>$}} }{\pageref{structstd_1_1hash_3_01fourdst_1_1composition_1_1Composition_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError}{fourdst\+::composition\+::exceptions\+::\+Invalid\+Composition\+Error}} \\*Exception thrown when a composition is in an invalid or inconsistent state }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1MaskedComposition}{fourdst\+::composition\+::\+Masked\+Composition}} }{\pageref{classfourdst_1_1composition_1_1MaskedComposition}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1atomic_1_1Species}{fourdst\+::atomic\+::\+Species}} \\*Represents an atomic species (isotope) with its fundamental physical properties }{\pageref{structfourdst_1_1atomic_1_1Species}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError}{fourdst\+::composition\+::exceptions\+::\+Species\+Error}} \\*Base class for exceptions related to atomic species }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError}{fourdst\+::composition\+::exceptions\+::\+Unknown\+Symbol\+Error}} \\*Exception thrown when an unknown symbol is encountered }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError}{fourdst\+::composition\+::exceptions\+::\+Unregistered\+Symbol\+Error}} \\*Exception thrown when a symbol is used that has not been registered }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator$<$ Is\+Const $>$\+::\+Arrow\+Proxy}} }{\pageref{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{fourdst\+::composition\+::\+Canonical\+Composition}} \\*Represents the canonical (X, Y, Z) composition of stellar material }{\pageref{structfourdst_1_1composition_1_1_canonical_composition}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst\+::composition\+::\+Composition}} \\*Manages a collection of chemical species and their abundances }{\pageref{classfourdst_1_1composition_1_1_composition}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}} \\*Abstract base class for chemical composition representations }{\pageref{classfourdst_1_1composition_1_1_composition_abstract}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache}} \\*Caches computed properties of the composition to avoid redundant calculations }{\pageref{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator}{fourdst\+::composition\+::\+Composition\+Decorator}} }{\pageref{classfourdst_1_1composition_1_1_composition_decorator}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{fourdst\+::composition\+::exceptions\+::\+Composition\+Error}} \\*Base class for exceptions related to composition objects }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash}{fourdst\+::composition\+::utils\+::\+Composition\+Hash}} }{\pageref{structfourdst_1_1composition_1_1utils_1_1_composition_hash}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator$<$ Is\+Const $>$}} }{\pageref{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}}{}
\item\contentsline{section}{\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4}{std\+::hash$<$ fourdst\+::atomic\+::\+Species $>$}} \\*Specialization of {\ttfamily std\+::hash} for {\ttfamily \doxylink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} }{\pageref{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4}{std\+::hash$<$ fourdst\+::composition\+::\+Composition $>$}} }{\pageref{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4}{std\+::hash$<$ fourdst\+::composition\+::\+Composition\+Abstract $>$}} }{\pageref{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error}{fourdst\+::composition\+::exceptions\+::\+Invalid\+Composition\+Error}} \\*Exception thrown when a composition is in an invalid or inconsistent state }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition}{fourdst\+::composition\+::\+Masked\+Composition}} }{\pageref{classfourdst_1_1composition_1_1_masked_composition}}{}
\item\contentsline{section}{\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \\*Represents an atomic species (isotope) with its fundamental physical properties }{\pageref{structfourdst_1_1atomic_1_1_species}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error}{fourdst\+::composition\+::exceptions\+::\+Species\+Error}} \\*Base class for exceptions related to atomic species }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1_species_error}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error}{fourdst\+::composition\+::exceptions\+::\+Unknown\+Symbol\+Error}} \\*Exception thrown when an unknown symbol is encountered }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error}}{}
\item\contentsline{section}{\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error}{fourdst\+::composition\+::exceptions\+::\+Unregistered\+Symbol\+Error}} \\*Exception thrown when a symbol is used that has not been registered }{\pageref{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error}}{}
\end{DoxyCompactList}

View File

@@ -0,0 +1,21 @@
\doxysection{src/composition/include/fourdst/atomic/atomic.dox File Reference}
\hypertarget{atomic_8dox}{}\label{atomic_8dox}\index{src/composition/include/fourdst/atomic/atomic.dox@{src/composition/include/fourdst/atomic/atomic.dox}}
Documentation for the \doxylink{namespacefourdst_1_1atomic}{fourdst\+::atomic} namespace.
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1atomic}{fourdst\+::atomic}}
\begin{DoxyCompactList}\small\item\em Contains canonical information about atomic species and elements used by 4D-\/\+STAR. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Documentation for the \doxylink{namespacefourdst_1_1atomic}{fourdst\+::atomic} namespace.
Definition in file \mbox{\hyperlink{atomic_8dox_source}{atomic.\+dox}}.

View File

@@ -1,17 +1,21 @@
\doxysection{src/composition/include/fourdst/atomic/atomic\+Species.h File Reference}
\hypertarget{atomic_species_8h}{}\label{atomic_species_8h}\index{src/composition/include/fourdst/atomic/atomicSpecies.h@{src/composition/include/fourdst/atomic/atomicSpecies.h}}
{\ttfamily \#include $<$format$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$optional$>$}\newline
{\ttfamily \#include $<$limits$>$}\newline
Include dependency graph for atomic\+Species.\+h\+:\nopagebreak
{\ttfamily \#include $<$stdexcept$>$}\newline
Include dependency graph for atomic\+Species.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{atomic_species_8h__incl}
\includegraphics[width=350pt]{atomic_species_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:\nopagebreak
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -41,7 +45,5 @@ bool \mbox{\hyperlink{namespacefourdst_1_1atomic_a277fa6e5107f1358e204c807146dee
\begin{DoxyCompactList}\small\item\em Equality operator for \doxylink{structfourdst_1_1atomic_1_1_species}{Species}. Compares based on name. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{namespacefourdst_1_1atomic_a2b6c699988f0748a0627f447863240ad}{fourdst\+::atomic\+::operator!=}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&lhs, const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&rhs)
\begin{DoxyCompactList}\small\item\em Inequality operator for \doxylink{structfourdst_1_1atomic_1_1_species}{Species}. Compares based on name. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{namespacefourdst_1_1atomic_a34d001fa83e2bac9f8ebd96285d8821a}{fourdst\+::atomic\+::operator$<$}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&lhs, const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&rhs)
\begin{DoxyCompactList}\small\item\em Less-\/than operator for \doxylink{structfourdst_1_1atomic_1_1_species}{Species}. Compares based on atomic mass. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{namespacefourdst_1_1atomic_a289c90cf53fd83e6808768b0befa2c00}{fourdst\+::atomic\+::operator$>$}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&lhs, const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&rhs)
\begin{DoxyCompactList}\small\item\em Greater-\/than operator for \doxylink{structfourdst_1_1atomic_1_1_species}{Species}. Compares based on atomic mass. \end{DoxyCompactList}\end{DoxyCompactItemize}
std\+::partial\+\_\+ordering \mbox{\hyperlink{namespacefourdst_1_1atomic_aaf3d9814380a02c289f8514e74675abc}{fourdst\+::atomic\+::operator$<$=$>$}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&lhs, const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}} \&rhs)
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
f7e3291ca3e982fdf4fe0132ff7a7d02

Binary file not shown.

View File

@@ -0,0 +1 @@
4811a5e2557233ca5ca5f75b0069b8ab

Binary file not shown.

View File

@@ -5,153 +5,153 @@
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00002}00002\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00003}00003\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ <string\_view>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00005}00005\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00006}00006\ \textcolor{preprocessor}{\#include\ <optional>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00007}00007\ \textcolor{preprocessor}{\#include\ <limits>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00008}00008\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00009}00009\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00014}00014\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1atomic}{fourdst::atomic}}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00020}00020\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\textcolor{keyword}{const}\ std::string\&\ jpi\_string)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00021}00021\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00051}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{00051}}\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00052}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{00052}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00053}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{00053}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00054}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{00054}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00055}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{00055}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00056}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{00056}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00057}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{00057}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00058}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{00058}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00059}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{00059}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00060}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{00060}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00061}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{00061}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00062}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{00062}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00063}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{00063}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00064}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{00064}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00065}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{00065}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00066}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{00066}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{mutable}\ std::optional<double>\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}\ =\ std::nullopt;\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00067}00067\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00088}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{00088}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}(}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00089}00089\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00090}00090\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00091}00091\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00092}00092\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00093}00093\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00094}00094\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00095}00095\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00096}00096\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ halfLife\_s,}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00099}00099\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00100}00100\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00101}00101\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ atomicMass,}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00102}00102\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ atomicMassUnc}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00103}00103\ \ \ \ \ \ \ \ \ )\ :}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00104}00104\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00105}00105\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00106}00106\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00107}00107\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00108}00108\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00109}00109\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00110}00110\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00111}00111\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00112}00112\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00113}00113\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}}(halfLife\_s),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00114}00114\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00115}00115\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00116}00116\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}(atomicMass),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00117}00117\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}}(atomicMassUnc)\ \{\};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00118}00118\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00124}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a873551c1ffbdcd6867ab0d1ed34ead0b}{00124}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a873551c1ffbdcd6867ab0d1ed34ead0b}{Species}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00125}00125\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_name;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_el;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_nz;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00128}00128\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_n;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00129}00129\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_z;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_a;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00131}00131\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_bindingEnergy;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00132}00132\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_betaCode;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00133}00133\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_betaDecayEnergy;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00134}00134\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_halfLife\_s;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00135}00135\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_spinParity;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00136}00136\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_decayModes;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00137}00137\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_atomicMass;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00138}00138\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_atomicMassUnc;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00139}00139\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00140}00140\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ <format>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00005}00005\ \textcolor{preprocessor}{\#include\ <string\_view>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00006}00006\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00007}00007\ \textcolor{preprocessor}{\#include\ <optional>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00008}00008\ \textcolor{preprocessor}{\#include\ <limits>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00009}00009\ \textcolor{preprocessor}{\#include\ <stdexcept>}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00010}00010\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00015}00015\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1atomic}{fourdst::atomic}}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00021}00021\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\textcolor{keyword}{const}\ std::string\&\ jpi\_string)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00022}00022\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00052}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{00052}}\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00053}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{00053}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00054}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{00054}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00055}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{00055}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00056}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{00056}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00057}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{00057}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00058}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{00058}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00059}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{00059}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00060}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{00060}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00061}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{00061}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00062}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{00062}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00063}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{00063}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00064}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{00064}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00065}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{00065}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00066}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{00066}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}};\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00067}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{00067}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{mutable}\ std::optional<double>\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}\ =\ std::nullopt;\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00068}00068\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00089}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{00089}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}(}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00090}00090\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00091}00091\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00092}00092\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00093}00093\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00094}00094\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00095}00095\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00096}00096\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00099}00099\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ halfLife\_s,}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00100}00100\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00101}00101\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}},}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00102}00102\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ atomicMass,}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00103}00103\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ atomicMassUnc}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00104}00104\ \ \ \ \ \ \ \ \ )\ :}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00105}00105\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00106}00106\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00107}00107\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00108}00108\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00109}00109\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00110}00110\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00111}00111\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00112}00112\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00113}00113\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00114}00114\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}}(halfLife\_s),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00115}00115\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00116}00116\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}}),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00117}00117\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}(atomicMass),}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00118}00118\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}}(atomicMassUnc)\ \{\};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00119}00119\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00125}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a873551c1ffbdcd6867ab0d1ed34ead0b}{00125}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a873551c1ffbdcd6867ab0d1ed34ead0b}{Species}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_name;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_el;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00128}00128\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_nz;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00129}00129\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_n;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_z;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00131}00131\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_a;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00132}00132\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_bindingEnergy;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00133}00133\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_betaCode;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00134}00134\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_betaDecayEnergy;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00135}00135\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_halfLife\_s;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00136}00136\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_spinParity;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00137}00137\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_decayModes;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00138}00138\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_atomicMass;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00139}00139\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_atomicMassUnc;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00140}00140\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00141}00141\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00146}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af5bdcc90ddafddfc027f94a98972eca3}{00146}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af5bdcc90ddafddfc027f94a98972eca3}{mass}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00147}00147\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00148}00148\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00149}00149\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00154}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ac041c089469dc8d36548805c81492aca}{00154}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ac041c089469dc8d36548805c81492aca}{massUnc}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00155}00155\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00156}00156\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00157}00157\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00162}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a34c4bb95e3c3e29087bc242d83aeefa1}{00162}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a34c4bb95e3c3e29087bc242d83aeefa1}{halfLife}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00163}00163\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00164}00164\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00165}00165\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00170}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{00170}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00171}00171\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00172}00172\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00173}00173\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00178}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{00178}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00179}00179\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00180}00180\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00181}00181\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00186}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{00186}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00187}00187\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00188}00188\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00189}00189\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00194}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{00194}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00195}00195\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00196}00196\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00197}00197\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00202}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{00202}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00203}00203\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00204}00204\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00205}00205\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00210}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{00210}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00211}00211\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00212}00212\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00213}00213\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00218}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{00218}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00219}00219\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00220}00220\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00221}00221\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00226}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{00226}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00227}00227\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00228}00228\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00229}00229\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00234}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{00234}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00235}00235\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00236}00236\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00237}00237\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00242}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{00242}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00243}00243\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00244}00244\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00245}00245\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00250}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{00250}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00251}00251\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00252}00252\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00253}00253\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00258}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0e5d73c7c629cb08f254f2bc41f6ac4b}{00258}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0e5d73c7c629cb08f254f2bc41f6ac4b}{spin}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00259}00259\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}.has\_value())\ \{\ \textcolor{comment}{//\ The\ spin\ calculation\ is\ very\ expensive,\ and\ we\ almost\ never\ need\ it\ so\ we\ only\ compute\ it\ the\ first\ time\ it\ is\ requested}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00260}00260\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00261}00261\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00262}00262\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}.value();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00263}00263\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00264}00264\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00271}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ad431f09aba3c2d8bafde06a459636965}{00271}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ std::ostream\&\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ad431f09aba3c2d8bafde06a459636965}{operator<<}}(std::ostream\&\ os,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00272}00272\ \ \ \ \ \ \ \ \ \ \ \ \ os\ <<\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_name;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00273}00273\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ os;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00274}00274\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00275}00275\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00276}00276\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7864aa6e0ab9a953d657faf56cc921a1}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00277}00277\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ae1cc99d92a460877ec5bc28f13424c04}{operator!=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00278}00278\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afc74eacd01f350dc20e2c7ec6a35c49b}{operator<}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00279}00279\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab9503c9331c5746c283faa68a6ef3ef9}{operator>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00142}00142\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00147}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af5bdcc90ddafddfc027f94a98972eca3}{00147}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af5bdcc90ddafddfc027f94a98972eca3}{mass}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00148}00148\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00149}00149\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00150}00150\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00155}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ac041c089469dc8d36548805c81492aca}{00155}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ac041c089469dc8d36548805c81492aca}{massUnc}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00156}00156\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4c6aa98435227f8257b93311a19c4adf}{m\_atomicMassUnc}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00157}00157\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00158}00158\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00163}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a34c4bb95e3c3e29087bc242d83aeefa1}{00163}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a34c4bb95e3c3e29087bc242d83aeefa1}{halfLife}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00164}00164\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af76d148ab7be629601a389f5758238ee}{m\_halfLife\_s}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00165}00165\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00166}00166\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00171}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{00171}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afcdd2f750d8cf206e3bcc507d57dabb1}{spinParity}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00172}00172\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00173}00173\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00174}00174\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00179}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{00179}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aad5094dfc8317db36468356bbc4a3e2f}{decayModes}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00180}00180\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a545093f4fd3d9ad490a5bea84e950d35}{m\_decayModes}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00181}00181\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00182}00182\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00187}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{00187}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abeef75170cabef39fdaa6362780ddfc8}{bindingEnergy}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00188}00188\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_acbb5b36d6892ee09e95d774eda235d3c}{m\_bindingEnergy}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00189}00189\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00190}00190\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00195}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{00195}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7d0e8a3b3d30fa56bdcc59577fa9ff73}{betaDecayEnergy}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00196}00196\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0fc7e4b41662fe0a726dd962e9dbae9e}{m\_betaDecayEnergy}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00197}00197\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00198}00198\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00203}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{00203}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a57391049d534ffd1a4b4d6ed63d65ffc}{betaCode}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00204}00204\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_abe9c5f69d657383e17dd49b41b7e4e15}{m\_betaCode}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00205}00205\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00206}00206\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00211}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{00211}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1fcc01fc978b34ba2531117f10be6741}{name}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00212}00212\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00213}00213\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00214}00214\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00219}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{00219}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::string\_view\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a326c260a1b53deafcd04c21b2787f6c4}{el}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00220}00220\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a704e9d164033a89d610685c494fd53eb}{m\_el}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00221}00221\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00222}00222\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00227}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{00227}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aa5e452accca3a9b4937867044617a032}{nz}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00228}00228\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a50d5e1c96be4884ccfebde1eec79b6e8}{m\_nz}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00229}00229\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00230}00230\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00235}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{00235}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a957734e413f07adf1d570885c480768d}{n}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00236}00236\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a8f0a4eb006c924bc006bb9eb6d3907ac}{m\_n}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00237}00237\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00238}00238\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00243}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{00243}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a1d50917a60a1adb2c9912193f214fab0}{z}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00244}00244\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_aae24c637c169f9f5eca03b6dcf8329e0}{m\_z}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00245}00245\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00246}00246\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00251}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{00251}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_adc960c98d6e6051940d0a5c0d9a1183d}{a}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00252}00252\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a6e7c5ab92da7ab867018da87a14ef3ef}{m\_a}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00253}00253\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00254}00254\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00259}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0e5d73c7c629cb08f254f2bc41f6ac4b}{00259}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a0e5d73c7c629cb08f254f2bc41f6ac4b}{spin}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00260}00260\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}.has\_value())\ \{\ \textcolor{comment}{//\ The\ spin\ calculation\ is\ very\ expensive,\ and\ we\ almost\ never\ need\ it\ so\ we\ only\ compute\ it\ the\ first\ time\ it\ is\ requested}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00261}00261\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}\ =\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a874bc48272e4f091817bc25a72eebc2d}{m\_spinParity}});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00262}00262\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00263}00263\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a9dcfca3c5e28f6523bb1a10ede645048}{m\_spin}}.value();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00264}00264\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00265}00265\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00272}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ad431f09aba3c2d8bafde06a459636965}{00272}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ std::ostream\&\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ad431f09aba3c2d8bafde06a459636965}{operator<<}}(std::ostream\&\ os,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00273}00273\ \ \ \ \ \ \ \ \ \ \ \ \ os\ <<\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a3f619cc8f8b2cd718a4082c6adb0de90}{species}}.m\_name;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00274}00274\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ os;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00275}00275\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00276}00276\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00277}00277\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7864aa6e0ab9a953d657faf56cc921a1}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00278}00278\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ae1cc99d92a460877ec5bc28f13424c04}{operator!=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\&\ rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00279}00279\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ std::partial\_ordering\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af924c33a65452eef1f00c20da6963a9b}{operator<=>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\ \&lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{Species}}\ \&rhs);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00280}00280\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00287}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a7864aa6e0ab9a953d657faf56cc921a1}{00287}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a277fa6e5107f1358e204c807146deeb4}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ rhs)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00288}00288\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}\ ==\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}});}
@@ -159,74 +159,80 @@
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00296}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ae1cc99d92a460877ec5bc28f13424c04}{00296}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a2b6c699988f0748a0627f447863240ad}{operator!=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ rhs)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00297}00297\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}\ !=\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00298}00298\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00305}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_afc74eacd01f350dc20e2c7ec6a35c49b}{00305}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a34d001fa83e2bac9f8ebd96285d8821a}{operator<}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ rhs)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00306}00306\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}\ <\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00307}00307\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00314}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab9503c9331c5746c283faa68a6ef3ef9}{00314}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_a289c90cf53fd83e6808768b0befa2c00}{operator>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\&\ rhs)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00315}00315\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}\ >\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00316}00316\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00317}00317\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00348}\mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{00348}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\textcolor{keyword}{const}\ std::string\&\ jpi\_string)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00349}00349\ \ \ \ \ \ \ \ \ std::string\ s\ =\ jpi\_string;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00350}00350\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00351}00351\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00352}00352\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00353}00353\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00354}00354\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00355}00355\ \ \ \ \ \ \ \ \ std::erase\_if(s,\ [](\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ c)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00356}00356\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ c\ ==\ \textcolor{charliteral}{'('}\ ||\ c\ ==\ \textcolor{charliteral}{')'}\ ||\ c\ ==\ \textcolor{charliteral}{'*'}\ ||\ c\ ==\ \textcolor{charliteral}{'\#'};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00357}00357\ \ \ \ \ \ \ \ \ \});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00358}00358\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00359}00359\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s\ ==\ \textcolor{stringliteral}{"{}+"{}}\ ||\ s\ ==\ \textcolor{stringliteral}{"{}-\/"{}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00360}00360\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0.0;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00361}00361\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00362}00362\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00363}00363\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ comma\_pos\ =\ s.find(\textcolor{charliteral}{','});\ comma\_pos\ !=\ std::string::npos)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00364}00364\ \ \ \ \ \ \ \ \ \ \ \ \ s\ =\ s.substr(0,\ comma\_pos);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00365}00365\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00366}00366\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00367}00367\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!s.empty()\ \&\&\ (s.back()\ ==\ \textcolor{charliteral}{'+'}\ ||\ s.back()\ ==\ \textcolor{charliteral}{'-\/'}))\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00368}00368\ \ \ \ \ \ \ \ \ \ \ \ \ s.pop\_back();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00369}00369\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00370}00370\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00371}00371\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00372}00372\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00373}00373\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00374}00374\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00375}00375\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00376}00376\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\textcolor{keywordtype}{size\_t}\ slash\_pos\ =\ s.find(\textcolor{charliteral}{'/'});\ slash\_pos\ !=\ std::string::npos)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00377}00377\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (slash\_pos\ ==\ 0)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00378}00378\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ s\ =\ \textcolor{stringliteral}{"{}1"{}}\ +\ s;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00379}00379\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ slash\_pos\ =\ 1;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00380}00380\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00381}00381\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\ numerator\_str\ =\ s.substr(0,\ slash\_pos);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00382}00382\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\ denominator\_str\ =\ s.substr(slash\_pos\ +\ 1);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00383}00383\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (denominator\_str.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00384}00384\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00385}00385\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00386}00386\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ numerator\ =\ std::stod(numerator\_str);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00387}00387\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ denominator\ =\ std::stod(denominator\_str);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00388}00388\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (denominator\ ==\ 0.0)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00389}00389\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00390}00390\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00391}00391\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ numerator\ /\ denominator;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00392}00392\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00393}00393\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::stod(s);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00394}00394\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00395}00395\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ std::invalid\_argument\&)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00396}00396\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00397}00397\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ std::out\_of\_range\&)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00398}00398\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00399}00399\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00400}00400\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00401}00401\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00402}00402\ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00403}00403\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00427}00427\ \textcolor{keyword}{template}<>}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00428}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4}{00428}}\ \textcolor{keyword}{struct\ }std::hash<\mbox{\hyperlink{namespacefourdst}{fourdst}}::atomic::Species>\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00434}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4_afa44fa4cf54e7f6283d6e2ce93c63b6a}{00434}}\ \ \ \ \ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4_afa44fa4cf54e7f6283d6e2ce93c63b6a}{operator()}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst::atomic::Species}}\&\ s)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00435}00435\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::hash<std::string>()(s.m\_name);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00436}00436\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00437}00437\ \};\ \textcolor{comment}{//\ namespace\ std}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00299}00299\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00300}\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_af924c33a65452eef1f00c20da6963a9b}{00300}}\ \ \ \ \ \textcolor{keyword}{inline}\ std::partial\_ordering\ \mbox{\hyperlink{namespacefourdst_1_1atomic_aaf3d9814380a02c289f8514e74675abc}{operator<=>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\ \&lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a3756508a18b57a60f68f1b0cf58d303c}{Species}}\ \&rhs)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00301}00301\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\ cmp\ =\ lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}}\ <=>\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_ab3e057d426e0d8dbf0134f92fda1c322}{m\_atomicMass}};\ cmp\ !=\ 0)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00302}00302\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ cmp;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00303}00303\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00304}00304\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00305}00305\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ lhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}}\ <=>\ rhs.\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species_a4f782752e18e8972c66ee7168a06279d}{m\_name}};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00306}00306\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00307}00307\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00308}00308\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00309}00309\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00310}00310\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00341}\mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{00341}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{namespacefourdst_1_1atomic_ab8b3572582a3f80243ecce021b4782d1}{convert\_jpi\_to\_double}}(\textcolor{keyword}{const}\ std::string\&\ jpi\_string)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00342}00342\ \ \ \ \ \ \ \ \ std::string\ s\ =\ jpi\_string;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00343}00343\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00344}00344\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00345}00345\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00346}00346\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00347}00347\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00348}00348\ \ \ \ \ \ \ \ \ std::erase\_if(s,\ [](\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ c)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00349}00349\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ c\ ==\ \textcolor{charliteral}{'('}\ ||\ c\ ==\ \textcolor{charliteral}{')'}\ ||\ c\ ==\ \textcolor{charliteral}{'*'}\ ||\ c\ ==\ \textcolor{charliteral}{'\#'};}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00350}00350\ \ \ \ \ \ \ \ \ \});}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00351}00351\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00352}00352\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s\ ==\ \textcolor{stringliteral}{"{}+"{}}\ ||\ s\ ==\ \textcolor{stringliteral}{"{}-\/"{}})\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00353}00353\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0.0;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00354}00354\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00355}00355\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00356}00356\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ comma\_pos\ =\ s.find(\textcolor{charliteral}{','});\ comma\_pos\ !=\ std::string::npos)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00357}00357\ \ \ \ \ \ \ \ \ \ \ \ \ s\ =\ s.substr(0,\ comma\_pos);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00358}00358\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00359}00359\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00360}00360\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!s.empty()\ \&\&\ (s.back()\ ==\ \textcolor{charliteral}{'+'}\ ||\ s.back()\ ==\ \textcolor{charliteral}{'-\/'}))\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00361}00361\ \ \ \ \ \ \ \ \ \ \ \ \ s.pop\_back();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00362}00362\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00363}00363\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00364}00364\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (s.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00365}00365\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00366}00366\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00367}00367\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00368}00368\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00369}00369\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\textcolor{keywordtype}{size\_t}\ slash\_pos\ =\ s.find(\textcolor{charliteral}{'/'});\ slash\_pos\ !=\ std::string::npos)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00370}00370\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (slash\_pos\ ==\ 0)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00371}00371\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ s\ =\ \textcolor{stringliteral}{"{}1"{}}\ +\ s;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00372}00372\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ slash\_pos\ =\ 1;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00373}00373\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00374}00374\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\ numerator\_str\ =\ s.substr(0,\ slash\_pos);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00375}00375\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ std::string\ denominator\_str\ =\ s.substr(slash\_pos\ +\ 1);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00376}00376\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (denominator\_str.empty())\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00377}00377\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00378}00378\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00379}00379\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ numerator\ =\ std::stod(numerator\_str);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00380}00380\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{double}\ denominator\ =\ std::stod(denominator\_str);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00381}00381\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (denominator\ ==\ 0.0)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00382}00382\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00383}00383\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00384}00384\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ numerator\ /\ denominator;}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00385}00385\ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00386}00386\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::stod(s);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00387}00387\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00388}00388\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ std::invalid\_argument\&)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00389}00389\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00390}00390\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{catch}\ (\textcolor{keyword}{const}\ std::out\_of\_range\&)\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00391}00391\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::numeric\_limits<double>::quiet\_NaN();}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00392}00392\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00393}00393\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00394}00394\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00395}00395\ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00396}00396\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00420}00420\ }
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00421}00421\ \textcolor{keyword}{template}<>}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00422}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4}{00422}}\ \textcolor{keyword}{struct\ }std::hash<\mbox{\hyperlink{namespacefourdst}{fourdst}}::atomic::Species>\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00428}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4_afa44fa4cf54e7f6283d6e2ce93c63b6a}{00428}}\ \ \ \ \ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1atomic_1_1_species_01_4_afa44fa4cf54e7f6283d6e2ce93c63b6a}{operator()}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst::atomic::Species}}\&\ s)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00429}00429\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::hash<std::string>()(s.m\_name);}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00430}00430\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{atomic_species_8h_source_l00431}00431\ \};}
\end{DoxyCode}

Binary file not shown.

View File

@@ -0,0 +1,522 @@
\doxysection{Composition\+Abstract Class Reference}
\hypertarget{class_composition_abstract}{}\label{class_composition_abstract}\index{CompositionAbstract@{CompositionAbstract}}
Abstract base class for chemical composition representations.
{\ttfamily \#include $<$composition\+\_\+abstract.\+h$>$}
Inheritance diagram for Composition\+Abstract\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=188pt]{class_composition_abstract__inherit__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
virtual \mbox{\hyperlink{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b}{\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract}} ()=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item
virtual bool \mbox{\hyperlink{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a}{contains}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const noexcept=0
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
virtual bool \mbox{\hyperlink{class_composition_abstract_aebd1997d8b3a59356f587c234b290796}{contains}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05}{size}} () const noexcept=0
\item
virtual std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b}{get\+Registered\+Symbols}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get all registered chemical symbols in the composition. \end{DoxyCompactList}\item
virtual const std\+::set$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} $>$ \& \mbox{\hyperlink{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587}{get\+Registered\+Species}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get all registered atomic species in the composition. \end{DoxyCompactList}\item
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{class_composition_abstract_afb72c61da511b7963382804a0e87a54a}{get\+Mass\+Fraction}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for all registered symbols. \end{DoxyCompactList}\item
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31}{get\+Number\+Fraction}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the number fraction for all registered symbols. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066}{get\+Mass\+Fraction}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55}{get\+Mass\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295}{get\+Number\+Fraction}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3}{get\+Number\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0}{get\+Molar\+Abundance}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b}{get\+Molar\+Abundance}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff}{get\+Mean\+Particle\+Mass}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mean particle mass of the composition. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{class_composition_abstract_a86b60205094ed72435ee84abf9498e21}{get\+Electron\+Abundance}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the electron abundance of the composition. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6}{get\+Mass\+Fraction\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mass fraction as a vector. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a883ea47508557952b9f15432bf0be376}{get\+Number\+Fraction\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the number fraction as a vector. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9}{get\+Molar\+Abundance\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the molar abundance as a vector. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_a1e5195debe590960aa064289733958ba}{get\+Species\+Index}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the index of a species by symbol. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{class_composition_abstract_ab41311a8c20a9556d087a604da735767}{get\+Species\+Index}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the index of a species. \end{DoxyCompactList}\item
virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \mbox{\hyperlink{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6}{get\+Species\+At\+Index}} (size\+\_\+t index) const =0
\begin{DoxyCompactList}\small\item\em Get the species at a given index. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
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 \doxylink{class_composition_abstract}{Composition\+Abstract} 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.
\begin{DoxyParagraph}{Example}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{class\ }MyComposition\ :\ \textcolor{keyword}{public}\ CompositionAbstract\ \{}
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ ...implement\ all\ pure\ virtual\ methods...}}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{MyComposition\ comp;}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (comp.hasSymbol(\textcolor{stringliteral}{"{}H"{}}))\ \{}
\DoxyCodeLine{\ \ \ \ \textcolor{keywordtype}{double}\ mf\ =\ comp.getMassFraction(\textcolor{stringliteral}{"{}H"{}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{std::set<std::string>\ symbols\ =\ comp.getRegisteredSymbols();}
\end{DoxyCode}
\end{DoxyParagraph}
Definition at line \mbox{\hyperlink{composition__abstract_8h_source_l00033}{33}} of file \mbox{\hyperlink{composition__abstract_8h_source}{composition\+\_\+abstract.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b}\index{CompositionAbstract@{CompositionAbstract}!````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}}
\index{````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}CompositionAbstract()}{\string~CompositionAbstract()}}
{\footnotesize\ttfamily \label{class_composition_abstract_aaae3d6215b7433cb9871664852a95d1b}
virtual Composition\+Abstract\+::\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [default]}}
Virtual destructor.
\doxysubsection{Member Function Documentation}
\Hypertarget{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a}\index{CompositionAbstract@{CompositionAbstract}!contains@{contains}}
\index{contains@{contains}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_af42050fabc3c888d77f0fc98f08bc80a}
virtual bool Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a194f715788e7921bd611579440de2ecd}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_aebd1997d8b3a59356f587c234b290796}\index{CompositionAbstract@{CompositionAbstract}!contains@{contains}}
\index{contains@{contains}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_aebd1997d8b3a59356f587c234b290796}
virtual bool Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em symbol} & The symbol of the atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ac3bfb56a2587215a59894e76d4867ede}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a86b60205094ed72435ee84abf9498e21}\index{CompositionAbstract@{CompositionAbstract}!getElectronAbundance@{getElectronAbundance}}
\index{getElectronAbundance@{getElectronAbundance}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getElectronAbundance()}{getElectronAbundance()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a86b60205094ed72435ee84abf9498e21}
virtual double Composition\+Abstract\+::get\+Electron\+Abundance (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the electron abundance of the composition.
\begin{DoxyReturn}{Returns}
The electron abundance.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a90fc71d1fe03017ee4c7a1cac69d24fb}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_afb72c61da511b7963382804a0e87a54a}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_afb72c61da511b7963382804a0e87a54a}
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to mass fraction.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a401e8298ed93b7963624e8a17eb17b55}
virtual double Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the mass fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae8fe4e7158f8317bf29b5cd0c65a9524}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066}\index{CompositionAbstract@{CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_ae0044d30efddccacc9fe7c8e58003066}
virtual double Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the mass fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae5d8d21632fca2b35b0898f2b205cd10}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6}\index{CompositionAbstract@{CompositionAbstract}!getMassFractionVector@{getMassFractionVector}}
\index{getMassFractionVector@{getMassFractionVector}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFractionVector()}{getMassFractionVector()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a82583ffa3c08297cda6c3957a6a7dbc6}
virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Mass\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of mass fractions for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4f44aaf8b7e0d63872a70b5e2131369}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff}\index{CompositionAbstract@{CompositionAbstract}!getMeanParticleMass@{getMeanParticleMass}}
\index{getMeanParticleMass@{getMeanParticleMass}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMeanParticleMass()}{getMeanParticleMass()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a85bf97a30ecadd0750bece4442f4deff}
virtual double Composition\+Abstract\+::get\+Mean\+Particle\+Mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mean particle mass of the composition.
\begin{DoxyReturn}{Returns}
The mean particle mass.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a4cfc9e37370caae275c0f801b700e37b}
virtual double Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the molar abundance for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a78a43e9e77a9c1b0f27c50b9feb52449}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a71fb459bf4375af2fe33c8a7c0747ce0}
virtual double Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the molar abundance for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9}\index{CompositionAbstract@{CompositionAbstract}!getMolarAbundanceVector@{getMolarAbundanceVector}}
\index{getMolarAbundanceVector@{getMolarAbundanceVector}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundanceVector()}{getMolarAbundanceVector()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a1ad7a33d17db32b2c9ce0a30cd6628f9}
virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Molar\+Abundance\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the molar abundance as a vector.
\begin{DoxyReturn}{Returns}
A vector of molar abundances for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abcb391f5fca2b636127e48e681e4c3ee}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a506ef92e69f99ad02598c8d178df1c31}
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the number fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to number fraction.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1f87ed64a1be9a6091c852131d24e476}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a27d1d91203adb736454aa9b9936fc8c3}
virtual double Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the number fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1aa79993925f16ba3c30a376aa39161b}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295}\index{CompositionAbstract@{CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{class_composition_abstract_ae6026b1335230c6dfbd897ec8dfda295}
virtual double Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the number fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a883ea47508557952b9f15432bf0be376}\index{CompositionAbstract@{CompositionAbstract}!getNumberFractionVector@{getNumberFractionVector}}
\index{getNumberFractionVector@{getNumberFractionVector}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFractionVector()}{getNumberFractionVector()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a883ea47508557952b9f15432bf0be376}
virtual std\+::vector$<$ double $>$ Composition\+Abstract\+::get\+Number\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the number fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of number fractions for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f72972cf4d1ff422d0790080e11473}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587}\index{CompositionAbstract@{CompositionAbstract}!getRegisteredSpecies@{getRegisteredSpecies}}
\index{getRegisteredSpecies@{getRegisteredSpecies}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getRegisteredSpecies()}{getRegisteredSpecies()}}
{\footnotesize\ttfamily \label{class_composition_abstract_ae6e7152d69fc5f5a128f8cb2cfce1587}
virtual const std\+::set$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} $>$ \& Composition\+Abstract\+::get\+Registered\+Species (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get all registered atomic species in the composition.
\begin{DoxyReturn}{Returns}
A set of registered atomic species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a33db253ca50431b5166d43412ff18f71}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b}\index{CompositionAbstract@{CompositionAbstract}!getRegisteredSymbols@{getRegisteredSymbols}}
\index{getRegisteredSymbols@{getRegisteredSymbols}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getRegisteredSymbols()}{getRegisteredSymbols()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a5a4362dc0d77659b75d528a0e884ed7b}
virtual std\+::set$<$ std\+::string $>$ Composition\+Abstract\+::get\+Registered\+Symbols (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get all registered chemical symbols in the composition.
\begin{DoxyReturn}{Returns}
A set of registered chemical symbols.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ae885c28580ae15be8c16614bef3b0e}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesAtIndex@{getSpeciesAtIndex}}
\index{getSpeciesAtIndex@{getSpeciesAtIndex}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesAtIndex()}{getSpeciesAtIndex()}}
{\footnotesize\ttfamily \label{class_composition_abstract_aaee3651c1672b2763181e966e4525ba6}
virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} Composition\+Abstract\+::get\+Species\+At\+Index (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{index}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the species at a given index.
\begin{DoxyParams}{Parameters}
{\em index} & The index of the species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The atomic species at the specified index.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f854ded38f5e6fcd157a74a57cbf0c}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_ab41311a8c20a9556d087a604da735767}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_ab41311a8c20a9556d087a604da735767}
virtual size\+\_\+t Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the index of a species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3d220b42fa06d7d3a43944ee2b8f6a5f}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a1e5195debe590960aa064289733958ba}\index{CompositionAbstract@{CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_composition_abstract_a1e5195debe590960aa064289733958ba}
virtual size\+\_\+t Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the index of a species by symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0d94f62402bb90b5d12679faeaa8c5d7}{fourdst\+::composition\+::\+Composition}}.
\Hypertarget{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05}\index{CompositionAbstract@{CompositionAbstract}!size@{size}}
\index{size@{size}!CompositionAbstract@{CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily \label{class_composition_abstract_a230f58ef18a9816c1d13c287eaf3ba05}
virtual size\+\_\+t Composition\+Abstract\+::size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9d177d36b728442bcbd8cb66712c7c75}{fourdst\+::composition\+::\+Composition}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/\mbox{\hyperlink{composition__abstract_8h}{composition\+\_\+abstract.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
aa0bcd5e972826ab9dabc9112132ef76

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
d3847d38fcb3684615ab2981bd588ead

View File

@@ -0,0 +1 @@
91c321b4d50ca8ee51c6fd5d24d7b6e8

View File

@@ -0,0 +1,625 @@
\doxysection{fourdst\+::composition\+::Composition\+Abstract Class Reference}
\hypertarget{classfourdst_1_1composition_1_1_composition_abstract}{}\label{classfourdst_1_1composition_1_1_composition_abstract}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
Abstract base class for chemical composition representations.
{\ttfamily \#include $<$composition\+\_\+abstract.\+h$>$}
Inheritance diagram for fourdst\+::composition\+::Composition\+Abstract\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{classfourdst_1_1composition_1_1_composition_abstract__inherit__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}{\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract}} ()=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item
virtual bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}{contains}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const noexcept=0
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
virtual bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}{contains}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}{size}} () const noexcept=0
\item
virtual std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}{get\+Registered\+Symbols}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get all registered chemical symbols in the composition. \end{DoxyCompactList}\item
virtual const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}{get\+Registered\+Species}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get all registered atomic species in the composition. \end{DoxyCompactList}\item
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{get\+Mass\+Fraction}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for all registered symbols. \end{DoxyCompactList}\item
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{get\+Number\+Fraction}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the number fraction for all registered symbols. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0ebe22344f785e5db693e04b9b598a5a}{get\+Mass\+Fraction}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0396f17ba252d053c0126323a76e9142}{get\+Mass\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af490daa6942717605093b4fca3e676b8}{get\+Number\+Fraction}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a71b351d6e69cf0d7e7c43409e1b13c4c}{get\+Number\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}{get\+Molar\+Abundance}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given symbol. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_adf861bd58e80025b021af2949b41d126}{get\+Molar\+Abundance}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given species. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}{get\+Mean\+Particle\+Mass}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mean particle mass of the composition. \end{DoxyCompactList}\item
virtual double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}{get\+Electron\+Abundance}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the electron abundance of the composition. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}{get\+Mass\+Fraction\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the mass fraction as a vector. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}{get\+Number\+Fraction\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the number fraction as a vector. \end{DoxyCompactList}\item
virtual std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}{get\+Molar\+Abundance\+Vector}} () const noexcept=0
\begin{DoxyCompactList}\small\item\em Get the molar abundance as a vector. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}{get\+Species\+Index}} (const std\+::string \&symbol) const =0
\begin{DoxyCompactList}\small\item\em Get the index of a species by symbol. \end{DoxyCompactList}\item
virtual size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a5d04b801f152f7955b392710275105bc}{get\+Species\+Index}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&species) const =0
\begin{DoxyCompactList}\small\item\em Get the index of a species. \end{DoxyCompactList}\item
virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}{get\+Species\+At\+Index}} (size\+\_\+t index) const =0
\begin{DoxyCompactList}\small\item\em Get the species at a given index. \end{DoxyCompactList}\item
virtual std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}{clone}} () const =0
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}{begin}} ()=0
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}{end}} ()=0
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0a1845dab0dbf23399233cac7aeb05c1}{begin}} () const =0
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9ac49da6e4df7bee8aa7974e8fec8181}{end}} () const =0
\item
virtual std\+::size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}{hash}} () const =0
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
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 \doxylink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract} 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.
\begin{DoxyParagraph}{Example}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{class\ }MyComposition\ :\ \textcolor{keyword}{public}\ CompositionAbstract\ \{}
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ ...implement\ all\ pure\ virtual\ methods...}}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{MyComposition\ comp;}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (comp.hasSymbol(\textcolor{stringliteral}{"{}H"{}}))\ \{}
\DoxyCodeLine{\ \ \ \ \textcolor{keywordtype}{double}\ mf\ =\ comp.getMassFraction(\textcolor{stringliteral}{"{}H"{}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{std::set<std::string>\ symbols\ =\ comp.getRegisteredSymbols();}
\end{DoxyCode}
\end{DoxyParagraph}
Definition at line \mbox{\hyperlink{composition__abstract_8h_source_l00036}{36}} of file \mbox{\hyperlink{composition__abstract_8h_source}{composition\+\_\+abstract.\+h}}.
\doxysubsection{Member Typedef Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{fourdst\+::composition\+::\+Composition\+Abstract\+::const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$}
Definition at line \mbox{\hyperlink{composition__abstract_8h_source_l00039}{39}} of file \mbox{\hyperlink{composition__abstract_8h_source}{composition\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!iterator@{iterator}}
\index{iterator@{iterator}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{fourdst\+::composition\+::\+Composition\+Abstract\+::iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$}
Definition at line \mbox{\hyperlink{composition__abstract_8h_source_l00038}{38}} of file \mbox{\hyperlink{composition__abstract_8h_source}{composition\+\_\+abstract.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}}
\index{````~CompositionAbstract@{\texorpdfstring{$\sim$}{\string~}CompositionAbstract}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}CompositionAbstract()}{\string~CompositionAbstract()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}
virtual fourdst\+::composition\+::\+Composition\+Abstract\+::\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [default]}}
Virtual destructor.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a0a1845dab0dbf23399233cac7aeb05c1}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a0a1845dab0dbf23399233cac7aeb05c1}
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} fourdst\+::composition\+::\+Composition\+Abstract\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4600dc915645fc1b50c67e0218b794d}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a047dae84149b92be5849c4294cd481de}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} fourdst\+::composition\+::\+Composition\+Abstract\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5bdb6ca3f734fae901b3d6179dbc17a0}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aa01637b823d0127736cdc767284eb28d}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!clone@{clone}}
\index{clone@{clone}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{clone()}{clone()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}
virtual std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::clone (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5a1f5661a329ec7bc8b7e118ff9d6c25}{fourdst\+::composition\+::\+Composition}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a30f89ba71d9db6ad330c645d0a161164}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}
virtual bool fourdst\+::composition\+::\+Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a194f715788e7921bd611579440de2ecd}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a045cfdf1e771895df872a6da61c53966}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}
virtual bool fourdst\+::composition\+::\+Composition\+Abstract\+::contains (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em symbol} & The symbol of the atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ac3bfb56a2587215a59894e76d4867ede}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a83b73b24715d8a0fc29811653bb7c9a6}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a9ac49da6e4df7bee8aa7974e8fec8181}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!end@{end}}
\index{end@{end}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a9ac49da6e4df7bee8aa7974e8fec8181}
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} fourdst\+::composition\+::\+Composition\+Abstract\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aabcde53961ecadfa823de5a766f0da84}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a272b2164c1ad6efab7e86ed26efcbb96}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!end@{end}}
\index{end@{end}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} fourdst\+::composition\+::\+Composition\+Abstract\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aaa89050308dda5e51d4b47d18d54cb58}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aae6a6799ee6877064728bd880348420d}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getElectronAbundance@{getElectronAbundance}}
\index{getElectronAbundance@{getElectronAbundance}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getElectronAbundance()}{getElectronAbundance()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Electron\+Abundance (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the electron abundance of the composition.
\begin{DoxyReturn}{Returns}
The electron abundance.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a90fc71d1fe03017ee4c7a1cac69d24fb}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a38fc871469f94b3c07ba18a00548085d}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to mass fraction.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2383b69a4b1dbe1c7be01bb826b06c07}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a0396f17ba252d053c0126323a76e9142}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a0396f17ba252d053c0126323a76e9142}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the mass fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae8fe4e7158f8317bf29b5cd0c65a9524}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a81cab92e09924db1804e9b943611648a}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a0ebe22344f785e5db693e04b9b598a5a}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a0ebe22344f785e5db693e04b9b598a5a}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the mass fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae5d8d21632fca2b35b0898f2b205cd10}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ab2a8d9eb543eb712f9a0bbabcc94383a}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMassFractionVector@{getMassFractionVector}}
\index{getMassFractionVector@{getMassFractionVector}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMassFractionVector()}{getMassFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}
virtual std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Mass\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of mass fractions for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4f44aaf8b7e0d63872a70b5e2131369}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7655d278224486e762d22d0501187f58}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMeanParticleMass@{getMeanParticleMass}}
\index{getMeanParticleMass@{getMeanParticleMass}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMeanParticleMass()}{getMeanParticleMass()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Mean\+Particle\+Mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the mean particle mass of the composition.
\begin{DoxyReturn}{Returns}
The mean particle mass.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3f50005318f2aa7bf7c3cd5b1d2aef7a}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_adf861bd58e80025b021af2949b41d126}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_adf861bd58e80025b021af2949b41d126}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the molar abundance for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a78a43e9e77a9c1b0f27c50b9feb52449}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9766e12e53e504aab985e46dc4e0d6d6}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the molar abundance for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3064af4fb0b59dce5b484d5657d25506}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getMolarAbundanceVector@{getMolarAbundanceVector}}
\index{getMolarAbundanceVector@{getMolarAbundanceVector}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getMolarAbundanceVector()}{getMolarAbundanceVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}
virtual std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Molar\+Abundance\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the molar abundance as a vector.
\begin{DoxyReturn}{Returns}
A vector of molar abundances for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abcb391f5fca2b636127e48e681e4c3ee}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ac2f827bedae5405ebab7108b2e4397c5}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}
virtual std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the number fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to number fraction.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1f87ed64a1be9a6091c852131d24e476}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2c299c44f385b65202ed0d475402562a}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a71b351d6e69cf0d7e7c43409e1b13c4c}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a71b351d6e69cf0d7e7c43409e1b13c4c}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the number fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a1aa79993925f16ba3c30a376aa39161b}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7cbb41a5b9e8d49c85bcbc821c3ff47e}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_af490daa6942717605093b4fca3e676b8}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_af490daa6942717605093b4fca3e676b8}
virtual double fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the number fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the symbol.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_af4f65f7cad735494aa5010cf0832f23b}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getNumberFractionVector@{getNumberFractionVector}}
\index{getNumberFractionVector@{getNumberFractionVector}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getNumberFractionVector()}{getNumberFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}
virtual std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Number\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get the number fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of number fractions for all species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f72972cf4d1ff422d0790080e11473}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ad28b1f5c98bd25378c24c732d74deab4}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getRegisteredSpecies@{getRegisteredSpecies}}
\index{getRegisteredSpecies@{getRegisteredSpecies}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getRegisteredSpecies()}{getRegisteredSpecies()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}
virtual const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Registered\+Species (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get all registered atomic species in the composition.
\begin{DoxyReturn}{Returns}
A set of registered atomic species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4b01ec4140e278d92c18f139f69ab1f}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a44fddc3b8d34b76114afafbdc9b0ec6d}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getRegisteredSymbols@{getRegisteredSymbols}}
\index{getRegisteredSymbols@{getRegisteredSymbols}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getRegisteredSymbols()}{getRegisteredSymbols()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}
virtual std\+::set$<$ std\+::string $>$ fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Registered\+Symbols (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Get all registered chemical symbols in the composition.
\begin{DoxyReturn}{Returns}
A set of registered chemical symbols.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ae885c28580ae15be8c16614bef3b0e}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9b33507e9820b7fd55209d3624388077}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getSpeciesAtIndex@{getSpeciesAtIndex}}
\index{getSpeciesAtIndex@{getSpeciesAtIndex}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesAtIndex()}{getSpeciesAtIndex()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}
virtual \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Species\+At\+Index (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{index}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the species at a given index.
\begin{DoxyParams}{Parameters}
{\em index} & The index of the species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The atomic species at the specified index.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f854ded38f5e6fcd157a74a57cbf0c}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acc9d3af0aad6c6209c9aefd94f86996b}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a5d04b801f152f7955b392710275105bc}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a5d04b801f152f7955b392710275105bc}
virtual size\+\_\+t fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst\+::atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the index of a species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3d220b42fa06d7d3a43944ee2b8f6a5f}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a395e5b14cd2a9f9d467fea25542f8ebd}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}
virtual size\+\_\+t fourdst\+::composition\+::\+Composition\+Abstract\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Get the index of a species by symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0d94f62402bb90b5d12679faeaa8c5d7}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7277650debc78e081963663557de73eb}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!hash@{hash}}
\index{hash@{hash}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{hash()}{hash()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}
virtual std\+::size\+\_\+t fourdst\+::composition\+::\+Composition\+Abstract\+::hash (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5b3631fa33b0c6809ad652b0e31663a1}{fourdst\+::composition\+::\+Composition}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a0cff238d7aec2db1f7c509d199b56afb}{fourdst\+::composition\+::\+Masked\+Composition}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}\index{fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}!size@{size}}
\index{size@{size}!fourdst::composition::CompositionAbstract@{fourdst::composition::CompositionAbstract}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}
virtual size\+\_\+t fourdst\+::composition\+::\+Composition\+Abstract\+::size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [pure virtual]}, {\ttfamily [noexcept]}}
Implemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9d177d36b728442bcbd8cb66712c7c75}{fourdst\+::composition\+::\+Composition}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}{fourdst\+::composition\+::\+Composition\+Decorator}}, and \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a6b6c7a9ad6293558ddc8834d22f4bc62}{fourdst\+::composition\+::\+Masked\+Composition}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/\mbox{\hyperlink{composition__abstract_8h}{composition\+\_\+abstract.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
cb8da33ffcebe1ef3875a074b0a2f066

View File

@@ -0,0 +1,789 @@
\doxysection{fourdst\+::composition\+::Composition\+Decorator Class Reference}
\hypertarget{classfourdst_1_1composition_1_1_composition_decorator}{}\label{classfourdst_1_1composition_1_1_composition_decorator}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
{\ttfamily \#include $<$composition\+\_\+decorator\+\_\+abstract.\+h$>$}
Inheritance diagram for fourdst\+::composition\+::Composition\+Decorator\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=200pt]{classfourdst_1_1composition_1_1_composition_decorator__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for fourdst\+::composition\+::Composition\+Decorator\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classfourdst_1_1composition_1_1_composition_decorator__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}{Composition\+Decorator}} (std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ decorator)
\item
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}{contains}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const noexcept override
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}{contains}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}{size}} () const noexcept override
\item
std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}{get\+Registered\+Symbols}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get all registered chemical symbols in the composition. \end{DoxyCompactList}\item
const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}{get\+Registered\+Species}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get all registered atomic species in the composition. \end{DoxyCompactList}\item
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}{get\+Mass\+Fraction}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for all registered symbols. \end{DoxyCompactList}\item
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}{get\+Number\+Fraction}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the number fraction for all registered symbols. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}{get\+Mass\+Fraction}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}{get\+Mass\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}{get\+Number\+Fraction}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}{get\+Number\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}{get\+Molar\+Abundance}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}{get\+Molar\+Abundance}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}{get\+Mean\+Particle\+Mass}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mean particle mass of the composition. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}{get\+Electron\+Abundance}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the electron abundance of the composition. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}{get\+Mass\+Fraction\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mass fraction as a vector. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}{get\+Number\+Fraction\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the number fraction as a vector. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}{get\+Molar\+Abundance\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the molar abundance as a vector. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}{get\+Species\+Index}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the index of a species by symbol. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}{get\+Species\+Index}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the index of a species. \end{DoxyCompactList}\item
\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}{get\+Species\+At\+Index}} (const size\+\_\+t index) const override
\begin{DoxyCompactList}\small\item\em Get the species at a given index. \end{DoxyCompactList}\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ false $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}{begin}} () override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ false $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}{end}} () override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ true $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}{begin}} () const override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ true $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}{end}} () const override
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}}}
\begin{DoxyCompactItemize}
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}{\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract}} ()=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item
virtual std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}{clone}} () const =0
\item
virtual std\+::size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}{hash}} () const =0
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\+\_\+base\+\_\+composition}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}}}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00016}{16}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!CompositionDecorator@{CompositionDecorator}}
\index{CompositionDecorator@{CompositionDecorator}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{CompositionDecorator()}{CompositionDecorator()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}
fourdst\+::composition\+::\+Composition\+Decorator\+::\+Composition\+Decorator (\begin{DoxyParamCaption}\item[{std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$}]{decorator}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00018}{18}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ true $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0a1845dab0dbf23399233cac7aeb05c1}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a047dae84149b92be5849c4294cd481de}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00044}{44}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ false $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aa01637b823d0127736cdc767284eb28d}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00041}{41}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}
bool fourdst\+::composition\+::\+Composition\+Decorator\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a045cfdf1e771895df872a6da61c53966}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00019}{19}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}
bool fourdst\+::composition\+::\+Composition\+Decorator\+::contains (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em symbol} & The symbol of the atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a83b73b24715d8a0fc29811653bb7c9a6}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00020}{20}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!end@{end}}
\index{end@{end}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ true $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9ac49da6e4df7bee8aa7974e8fec8181}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a272b2164c1ad6efab7e86ed26efcbb96}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00045}{45}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!end@{end}}
\index{end@{end}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$ false $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aae6a6799ee6877064728bd880348420d}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00042}{42}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getElectronAbundance@{getElectronAbundance}}
\index{getElectronAbundance@{getElectronAbundance}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getElectronAbundance()}{getElectronAbundance()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Electron\+Abundance (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the electron abundance of the composition.
\begin{DoxyReturn}{Returns}
The electron abundance.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a38fc871469f94b3c07ba18a00548085d}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00033}{33}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to mass fraction.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2383b69a4b1dbe1c7be01bb826b06c07}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00024}{24}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the mass fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0396f17ba252d053c0126323a76e9142}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a81cab92e09924db1804e9b943611648a}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00027}{27}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the mass fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the symbol.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0ebe22344f785e5db693e04b9b598a5a}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ab2a8d9eb543eb712f9a0bbabcc94383a}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00026}{26}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMassFractionVector@{getMassFractionVector}}
\index{getMassFractionVector@{getMassFractionVector}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMassFractionVector()}{getMassFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Mass\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of mass fractions for all species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7655d278224486e762d22d0501187f58}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00034}{34}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMeanParticleMass@{getMeanParticleMass}}
\index{getMeanParticleMass@{getMeanParticleMass}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMeanParticleMass()}{getMeanParticleMass()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Mean\+Particle\+Mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mean particle mass of the composition.
\begin{DoxyReturn}{Returns}
The mean particle mass.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3f50005318f2aa7bf7c3cd5b1d2aef7a}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00032}{32}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the molar abundance for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_adf861bd58e80025b021af2949b41d126}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9766e12e53e504aab985e46dc4e0d6d6}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00031}{31}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the molar abundance for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the symbol.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3064af4fb0b59dce5b484d5657d25506}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00030}{30}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getMolarAbundanceVector@{getMolarAbundanceVector}}
\index{getMolarAbundanceVector@{getMolarAbundanceVector}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getMolarAbundanceVector()}{getMolarAbundanceVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Molar\+Abundance\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the molar abundance as a vector.
\begin{DoxyReturn}{Returns}
A vector of molar abundances for all species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ac2f827bedae5405ebab7108b2e4397c5}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00036}{36}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Number\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the number fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to number fraction.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2c299c44f385b65202ed0d475402562a}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00025}{25}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the number fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a71b351d6e69cf0d7e7c43409e1b13c4c}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7cbb41a5b9e8d49c85bcbc821c3ff47e}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00029}{29}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}
double fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the number fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the symbol.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af490daa6942717605093b4fca3e676b8}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_af4f65f7cad735494aa5010cf0832f23b}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00028}{28}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getNumberFractionVector@{getNumberFractionVector}}
\index{getNumberFractionVector@{getNumberFractionVector}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getNumberFractionVector()}{getNumberFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Number\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the number fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of number fractions for all species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ad28b1f5c98bd25378c24c732d74deab4}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00035}{35}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getRegisteredSpecies@{getRegisteredSpecies}}
\index{getRegisteredSpecies@{getRegisteredSpecies}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getRegisteredSpecies()}{getRegisteredSpecies()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}
const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Registered\+Species (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get all registered atomic species in the composition.
\begin{DoxyReturn}{Returns}
A set of registered atomic species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a44fddc3b8d34b76114afafbdc9b0ec6d}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00023}{23}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getRegisteredSymbols@{getRegisteredSymbols}}
\index{getRegisteredSymbols@{getRegisteredSymbols}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getRegisteredSymbols()}{getRegisteredSymbols()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}
std\+::set$<$ std\+::string $>$ fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Registered\+Symbols (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get all registered chemical symbols in the composition.
\begin{DoxyReturn}{Returns}
A set of registered chemical symbols.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9b33507e9820b7fd55209d3624388077}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00022}{22}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getSpeciesAtIndex@{getSpeciesAtIndex}}
\index{getSpeciesAtIndex@{getSpeciesAtIndex}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getSpeciesAtIndex()}{getSpeciesAtIndex()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}
\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Species\+At\+Index (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{index}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the species at a given index.
\begin{DoxyParams}{Parameters}
{\em index} & The index of the species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The atomic species at the specified index.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acc9d3af0aad6c6209c9aefd94f86996b}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00039}{39}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}
size\+\_\+t fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the index of a species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a5d04b801f152f7955b392710275105bc}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a395e5b14cd2a9f9d467fea25542f8ebd}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00038}{38}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}
size\+\_\+t fourdst\+::composition\+::\+Composition\+Decorator\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the index of a species by symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7277650debc78e081963663557de73eb}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00037}{37}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!size@{size}}
\index{size@{size}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}
size\+\_\+t fourdst\+::composition\+::\+Composition\+Decorator\+::size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Reimplemented in \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a6b6c7a9ad6293558ddc8834d22f4bc62}{fourdst\+::composition\+::\+Masked\+Composition}}.
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00021}{21}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
\doxysubsection{Member Data Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}\index{fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}!m\_base\_composition@{m\_base\_composition}}
\index{m\_base\_composition@{m\_base\_composition}!fourdst::composition::CompositionDecorator@{fourdst::composition::CompositionDecorator}}
\doxysubsubsection{\texorpdfstring{m\_base\_composition}{m\_base\_composition}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}
std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}}$>$ fourdst\+::composition\+::\+Composition\+Decorator\+::m\+\_\+base\+\_\+composition\hspace{0.3cm}{\ttfamily [protected]}}
Definition at line \mbox{\hyperlink{composition__decorator__abstract_8h_source_l00047}{47}} of file \mbox{\hyperlink{composition__decorator__abstract_8h_source}{composition\+\_\+decorator\+\_\+abstract.\+h}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/decorators/\mbox{\hyperlink{composition__decorator__abstract_8h}{composition\+\_\+decorator\+\_\+abstract.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
188622374975dd15fd242d5da63dd6ba

View File

@@ -0,0 +1 @@
6ec78ffdd174bd570818161e3676b734

View File

@@ -0,0 +1,770 @@
\doxysection{fourdst\+::composition\+::Masked\+Composition Class Reference}
\hypertarget{classfourdst_1_1composition_1_1_masked_composition}{}\label{classfourdst_1_1composition_1_1_masked_composition}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
{\ttfamily \#include $<$composition\+\_\+masked.\+h$>$}
Inheritance diagram for fourdst\+::composition\+::Masked\+Composition\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=200pt]{classfourdst_1_1composition_1_1_masked_composition__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for fourdst\+::composition\+::Masked\+Composition\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classfourdst_1_1composition_1_1_masked_composition__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}}}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9a0d839e4534494b7adaf353d56e5375}{Masked\+Composition}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} \&base\+Composition, const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \&active\+Species)
\item
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a045cfdf1e771895df872a6da61c53966}{contains}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const noexcept override
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a83b73b24715d8a0fc29811653bb7c9a6}{contains}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Check if the composition contains the given species. \end{DoxyCompactList}\item
const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a44fddc3b8d34b76114afafbdc9b0ec6d}{get\+Registered\+Species}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get all registered atomic species in the composition. \end{DoxyCompactList}\item
std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9b33507e9820b7fd55209d3624388077}{get\+Registered\+Symbols}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get all registered chemical symbols in the composition. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a6b6c7a9ad6293558ddc8834d22f4bc62}{size}} () const noexcept override
\item
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2383b69a4b1dbe1c7be01bb826b06c07}{get\+Mass\+Fraction}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for all registered symbols. \end{DoxyCompactList}\item
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a2c299c44f385b65202ed0d475402562a}{get\+Number\+Fraction}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the number fraction for all registered symbols. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ab2a8d9eb543eb712f9a0bbabcc94383a}{get\+Mass\+Fraction}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a81cab92e09924db1804e9b943611648a}{get\+Mass\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the mass fraction for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_af4f65f7cad735494aa5010cf0832f23b}{get\+Number\+Fraction}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7cbb41a5b9e8d49c85bcbc821c3ff47e}{get\+Number\+Fraction}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the number fraction for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3064af4fb0b59dce5b484d5657d25506}{get\+Molar\+Abundance}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given symbol. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a9766e12e53e504aab985e46dc4e0d6d6}{get\+Molar\+Abundance}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the molar abundance for a given species. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a3f50005318f2aa7bf7c3cd5b1d2aef7a}{get\+Mean\+Particle\+Mass}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mean particle mass of the composition. \end{DoxyCompactList}\item
double \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a38fc871469f94b3c07ba18a00548085d}{get\+Electron\+Abundance}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the electron abundance of the composition. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7655d278224486e762d22d0501187f58}{get\+Mass\+Fraction\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the mass fraction as a vector. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ad28b1f5c98bd25378c24c732d74deab4}{get\+Number\+Fraction\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the number fraction as a vector. \end{DoxyCompactList}\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_ac2f827bedae5405ebab7108b2e4397c5}{get\+Molar\+Abundance\+Vector}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get the molar abundance as a vector. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a7277650debc78e081963663557de73eb}{get\+Species\+Index}} (const std\+::string \&symbol) const override
\begin{DoxyCompactList}\small\item\em Get the index of a species by symbol. \end{DoxyCompactList}\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a395e5b14cd2a9f9d467fea25542f8ebd}{get\+Species\+Index}} (const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&species) const override
\begin{DoxyCompactList}\small\item\em Get the index of a species. \end{DoxyCompactList}\item
\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acc9d3af0aad6c6209c9aefd94f86996b}{get\+Species\+At\+Index}} (size\+\_\+t index) const override
\begin{DoxyCompactList}\small\item\em Get the species at a given index. \end{DoxyCompactList}\item
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a30f89ba71d9db6ad330c645d0a161164}{clone}} () const override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aa01637b823d0127736cdc767284eb28d}{begin}} () override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_aae6a6799ee6877064728bd880348420d}{end}} () override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{const\+\_\+iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a047dae84149b92be5849c4294cd481de}{begin}} () const override
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{const\+\_\+iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a272b2164c1ad6efab7e86ed26efcbb96}{end}} () const override
\item
size\+\_\+t \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a0cff238d7aec2db1f7c509d199b56afb}{hash}} () const override
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator}{fourdst\+::composition\+::\+Composition\+Decorator}}}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}{Composition\+Decorator}} (std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ decorator)
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}}}
\begin{DoxyCompactItemize}
\item
virtual \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}{\texorpdfstring{$\sim$}{\string~}\+Composition\+Abstract}} ()=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_a22a5b2ea210bb14a07b6461270631a3b}{m\+\_\+active\+Species}}
\item
std\+::vector$<$ double $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_abe4e28b36230fa41c11c22e36aaa15e7}{m\+\_\+molar\+Abundances}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator}{fourdst\+::composition\+::\+Composition\+Decorator}}}
\begin{DoxyCompactItemize}
\item
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\+\_\+base\+\_\+composition}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Definition at line \mbox{\hyperlink{composition__masked_8h_source_l00015}{15}} of file \mbox{\hyperlink{composition__masked_8h_source}{composition\+\_\+masked.\+h}}.
\doxysubsection{Member Typedef Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{fourdst\+::composition\+::\+Masked\+Composition\+::const\+\_\+iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$true$>$}
Definition at line \mbox{\hyperlink{composition__masked_8h_source_l00018}{18}} of file \mbox{\hyperlink{composition__masked_8h_source}{composition\+\_\+masked.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!iterator@{iterator}}
\index{iterator@{iterator}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}
using \mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{fourdst\+::composition\+::\+Masked\+Composition\+::iterator}} = \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail\+::\+Composition\+Iterator}}$<$false$>$}
Definition at line \mbox{\hyperlink{composition__masked_8h_source_l00017}{17}} of file \mbox{\hyperlink{composition__masked_8h_source}{composition\+\_\+masked.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a9a0d839e4534494b7adaf353d56e5375}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!MaskedComposition@{MaskedComposition}}
\index{MaskedComposition@{MaskedComposition}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{MaskedComposition()}{MaskedComposition()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a9a0d839e4534494b7adaf353d56e5375}
fourdst\+::composition\+::\+Masked\+Composition\+::\+Masked\+Composition (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} \&}]{base\+Composition}{, }\item[{const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \&}]{active\+Species}{}\end{DoxyParamCaption})}
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00015}{15}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a047dae84149b92be5849c4294cd481de}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a047dae84149b92be5849c4294cd481de}
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{Masked\+Composition\+::const\+\_\+iterator}} fourdst\+::composition\+::\+Masked\+Composition\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00226}{226}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_aa01637b823d0127736cdc767284eb28d}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!begin@{begin}}
\index{begin@{begin}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_aa01637b823d0127736cdc767284eb28d}
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{Masked\+Composition\+::iterator}} fourdst\+::composition\+::\+Masked\+Composition\+::begin (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00218}{218}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a30f89ba71d9db6ad330c645d0a161164}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!clone@{clone}}
\index{clone@{clone}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{clone()}{clone()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a30f89ba71d9db6ad330c645d0a161164}
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{Composition\+Abstract}} $>$ fourdst\+::composition\+::\+Masked\+Composition\+::clone (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00214}{214}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a045cfdf1e771895df872a6da61c53966}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a045cfdf1e771895df872a6da61c53966}
bool fourdst\+::composition\+::\+Masked\+Composition\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00037}{37}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a83b73b24715d8a0fc29811653bb7c9a6}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!contains@{contains}}
\index{contains@{contains}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{contains()}{contains()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a83b73b24715d8a0fc29811653bb7c9a6}
bool fourdst\+::composition\+::\+Masked\+Composition\+::contains (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Check if the composition contains the given species.
\begin{DoxyParams}{Parameters}
{\em symbol} & The symbol of the atomic species to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the species is contained, false otherwise.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00041}{41}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a272b2164c1ad6efab7e86ed26efcbb96}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!end@{end}}
\index{end@{end}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a272b2164c1ad6efab7e86ed26efcbb96}
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_acd2bbf05d4f5fce5a1146619a0b16b6d}{Masked\+Composition\+::const\+\_\+iterator}} fourdst\+::composition\+::\+Masked\+Composition\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00230}{230}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_aae6a6799ee6877064728bd880348420d}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!end@{end}}
\index{end@{end}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_aae6a6799ee6877064728bd880348420d}
\mbox{\hyperlink{classfourdst_1_1composition_1_1_masked_composition_afe3129b1dbebfbe0578c3a555aa742bf}{Masked\+Composition\+::iterator}} fourdst\+::composition\+::\+Masked\+Composition\+::end (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00222}{222}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a38fc871469f94b3c07ba18a00548085d}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getElectronAbundance@{getElectronAbundance}}
\index{getElectronAbundance@{getElectronAbundance}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getElectronAbundance()}{getElectronAbundance()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a38fc871469f94b3c07ba18a00548085d}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Electron\+Abundance (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the electron abundance of the composition.
\begin{DoxyReturn}{Returns}
The electron abundance.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00149}{149}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a2383b69a4b1dbe1c7be01bb826b06c07}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a2383b69a4b1dbe1c7be01bb826b06c07}
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to mass fraction.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00065}{65}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a81cab92e09924db1804e9b943611648a}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a81cab92e09924db1804e9b943611648a}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the mass fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00097}{97}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_ab2a8d9eb543eb712f9a0bbabcc94383a}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMassFraction@{getMassFraction}}
\index{getMassFraction@{getMassFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMassFraction()}{getMassFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_ab2a8d9eb543eb712f9a0bbabcc94383a}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Mass\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the mass fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The mass fraction for the symbol.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00089}{89}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a7655d278224486e762d22d0501187f58}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMassFractionVector@{getMassFractionVector}}
\index{getMassFractionVector@{getMassFractionVector}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMassFractionVector()}{getMassFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a7655d278224486e762d22d0501187f58}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Mass\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mass fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of mass fractions for all species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00159}{159}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a3f50005318f2aa7bf7c3cd5b1d2aef7a}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMeanParticleMass@{getMeanParticleMass}}
\index{getMeanParticleMass@{getMeanParticleMass}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMeanParticleMass()}{getMeanParticleMass()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a3f50005318f2aa7bf7c3cd5b1d2aef7a}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Mean\+Particle\+Mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the mean particle mass of the composition.
\begin{DoxyReturn}{Returns}
The mean particle mass.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00137}{137}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a9766e12e53e504aab985e46dc4e0d6d6}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a9766e12e53e504aab985e46dc4e0d6d6}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the molar abundance for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00129}{129}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a3064af4fb0b59dce5b484d5657d25506}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMolarAbundance@{getMolarAbundance}}
\index{getMolarAbundance@{getMolarAbundance}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMolarAbundance()}{getMolarAbundance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a3064af4fb0b59dce5b484d5657d25506}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Molar\+Abundance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the molar abundance for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The molar abundance for the symbol.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00121}{121}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_ac2f827bedae5405ebab7108b2e4397c5}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getMolarAbundanceVector@{getMolarAbundanceVector}}
\index{getMolarAbundanceVector@{getMolarAbundanceVector}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getMolarAbundanceVector()}{getMolarAbundanceVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_ac2f827bedae5405ebab7108b2e4397c5}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Molar\+Abundance\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the molar abundance as a vector.
\begin{DoxyReturn}{Returns}
A vector of molar abundances for all species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00177}{177}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a2c299c44f385b65202ed0d475402562a}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a2c299c44f385b65202ed0d475402562a}
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Number\+Fraction (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the number fraction for all registered symbols.
\begin{DoxyReturn}{Returns}
An unordered map from symbol to number fraction.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00077}{77}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a7cbb41a5b9e8d49c85bcbc821c3ff47e}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a7cbb41a5b9e8d49c85bcbc821c3ff47e}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the number fraction for a given species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00113}{113}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_af4f65f7cad735494aa5010cf0832f23b}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getNumberFraction@{getNumberFraction}}
\index{getNumberFraction@{getNumberFraction}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getNumberFraction()}{getNumberFraction()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_af4f65f7cad735494aa5010cf0832f23b}
double fourdst\+::composition\+::\+Masked\+Composition\+::get\+Number\+Fraction (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the number fraction for a given symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number fraction for the symbol.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00105}{105}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_ad28b1f5c98bd25378c24c732d74deab4}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getNumberFractionVector@{getNumberFractionVector}}
\index{getNumberFractionVector@{getNumberFractionVector}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getNumberFractionVector()}{getNumberFractionVector()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_ad28b1f5c98bd25378c24c732d74deab4}
std\+::vector$<$ double $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Number\+Fraction\+Vector (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get the number fraction as a vector.
\begin{DoxyReturn}{Returns}
A vector of number fractions for all species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00168}{168}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a44fddc3b8d34b76114afafbdc9b0ec6d}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getRegisteredSpecies@{getRegisteredSpecies}}
\index{getRegisteredSpecies@{getRegisteredSpecies}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getRegisteredSpecies()}{getRegisteredSpecies()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a44fddc3b8d34b76114afafbdc9b0ec6d}
const std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ \& fourdst\+::composition\+::\+Masked\+Composition\+::get\+Registered\+Species (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get all registered atomic species in the composition.
\begin{DoxyReturn}{Returns}
A set of registered atomic species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00049}{49}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a9b33507e9820b7fd55209d3624388077}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getRegisteredSymbols@{getRegisteredSymbols}}
\index{getRegisteredSymbols@{getRegisteredSymbols}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getRegisteredSymbols()}{getRegisteredSymbols()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a9b33507e9820b7fd55209d3624388077}
std\+::set$<$ std\+::string $>$ fourdst\+::composition\+::\+Masked\+Composition\+::get\+Registered\+Symbols (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Get all registered chemical symbols in the composition.
\begin{DoxyReturn}{Returns}
A set of registered chemical symbols.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00053}{53}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_acc9d3af0aad6c6209c9aefd94f86996b}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getSpeciesAtIndex@{getSpeciesAtIndex}}
\index{getSpeciesAtIndex@{getSpeciesAtIndex}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getSpeciesAtIndex()}{getSpeciesAtIndex()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_acc9d3af0aad6c6209c9aefd94f86996b}
\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} fourdst\+::composition\+::\+Masked\+Composition\+::get\+Species\+At\+Index (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{index}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the species at a given index.
\begin{DoxyParams}{Parameters}
{\em index} & The index of the species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The atomic species at the specified index.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00205}{205}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a395e5b14cd2a9f9d467fea25542f8ebd}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a395e5b14cd2a9f9d467fea25542f8ebd}
size\+\_\+t fourdst\+::composition\+::\+Masked\+Composition\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} \&}]{species}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the index of a species.
\begin{DoxyParams}{Parameters}
{\em species} & The atomic species. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00198}{198}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a7277650debc78e081963663557de73eb}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!getSpeciesIndex@{getSpeciesIndex}}
\index{getSpeciesIndex@{getSpeciesIndex}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{getSpeciesIndex()}{getSpeciesIndex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a7277650debc78e081963663557de73eb}
size\+\_\+t fourdst\+::composition\+::\+Masked\+Composition\+::get\+Species\+Index (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{symbol}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Get the index of a species by symbol.
\begin{DoxyParams}{Parameters}
{\em symbol} & The chemical symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the species.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00186}{186}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a0cff238d7aec2db1f7c509d199b56afb}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!hash@{hash}}
\index{hash@{hash}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{hash()}{hash()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a0cff238d7aec2db1f7c509d199b56afb}
size\+\_\+t fourdst\+::composition\+::\+Masked\+Composition\+::hash (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}}
Implements \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}{fourdst\+::composition\+::\+Composition\+Abstract}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00234}{234}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a6b6c7a9ad6293558ddc8834d22f4bc62}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!size@{size}}
\index{size@{size}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a6b6c7a9ad6293558ddc8834d22f4bc62}
size\+\_\+t fourdst\+::composition\+::\+Masked\+Composition\+::size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}
Reimplemented from \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}{fourdst\+::composition\+::\+Composition\+Decorator}}.
Definition at line \mbox{\hyperlink{composition__masked_8cpp_source_l00061}{61}} of file \mbox{\hyperlink{composition__masked_8cpp_source}{composition\+\_\+masked.\+cpp}}.
\doxysubsection{Member Data Documentation}
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_a22a5b2ea210bb14a07b6461270631a3b}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!m\_activeSpecies@{m\_activeSpecies}}
\index{m\_activeSpecies@{m\_activeSpecies}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{m\_activeSpecies}{m\_activeSpecies}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_a22a5b2ea210bb14a07b6461270631a3b}
std\+::vector$<$\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}$>$ fourdst\+::composition\+::\+Masked\+Composition\+::m\+\_\+active\+Species\hspace{0.3cm}{\ttfamily [private]}}
Definition at line \mbox{\hyperlink{composition__masked_8h_source_l00065}{65}} of file \mbox{\hyperlink{composition__masked_8h_source}{composition\+\_\+masked.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1_masked_composition_abe4e28b36230fa41c11c22e36aaa15e7}\index{fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}!m\_molarAbundances@{m\_molarAbundances}}
\index{m\_molarAbundances@{m\_molarAbundances}!fourdst::composition::MaskedComposition@{fourdst::composition::MaskedComposition}}
\doxysubsubsection{\texorpdfstring{m\_molarAbundances}{m\_molarAbundances}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1_masked_composition_abe4e28b36230fa41c11c22e36aaa15e7}
std\+::vector$<$double$>$ fourdst\+::composition\+::\+Masked\+Composition\+::m\+\_\+molar\+Abundances\hspace{0.3cm}{\ttfamily [private]}}
Definition at line \mbox{\hyperlink{composition__masked_8h_source_l00066}{66}} of file \mbox{\hyperlink{composition__masked_8h_source}{composition\+\_\+masked.\+h}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/decorators/\mbox{\hyperlink{composition__masked_8h}{composition\+\_\+masked.\+h}}\item
src/composition/lib/decorators/\mbox{\hyperlink{composition__masked_8cpp}{composition\+\_\+masked.\+cpp}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
fa711129157e2809b1ec459dc150a51f

View File

@@ -0,0 +1 @@
78b3047d4d5031ebf17fdfc394fa8f15

View File

@@ -0,0 +1,530 @@
\doxysection{fourdst\+::composition\+::detail\+::Composition\+Iterator\texorpdfstring{$<$}{<} Is\+Const \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{}\label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
{\ttfamily \#include $<$composition\+\_\+abstract\+\_\+iterator.\+h$>$}
Collaboration diagram for fourdst\+::composition\+::detail\+::Composition\+Iterator\texorpdfstring{$<$}{<} Is\+Const \texorpdfstring{$>$}{>}\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classfourdst_1_1composition_1_1detail_1_1_composition_iterator__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{Arrow\+Proxy}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae232e6536bd96aa9964a8052c9339c1a}{iterator\+\_\+category}} = std\+::random\+\_\+access\+\_\+iterator\+\_\+tag
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} = std\+::ptrdiff\+\_\+t
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a63f5c58c0dd0a2488f9a28f1d9c7dbd9}{value\+\_\+type}} = std\+::pair$<$const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}{Species\+Ref}} = const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}\&
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}{Abund\+Ref}} = std\+::conditional\+\_\+t$<$Is\+Const, const double\&, double\&$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}} = std\+::pair$<$\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}{Species\+Ref}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}{Abund\+Ref}}$>$
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a8d9af7fd266819ed7bb4da38d4f952a5}{pointer}} = \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{Arrow\+Proxy}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{Composition\+Iterator}} ()=default
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad6877ffbc5dcfd2b498f112e2a185099}{Composition\+Iterator}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} s\+It, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}} a\+It)
\item
{\footnotesize template$<$bool Was\+Const, typename = std\+::enable\+\_\+if\+\_\+t$<$\+Is\+Const \&\& !\+Was\+Const$>$$>$ }\\\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_adc43e2e4b4aa222c1eb88e1adcc32cb8}{Composition\+Iterator}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Was\+Const $>$ \&other)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{get\+Species\+It}} () const
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}{get\+Abundance\+It}} () const
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a6b9c3c600231743338de576dd412cb8c}{operator\texorpdfstring{$\ast$}{*}}} () const
\item
\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{Arrow\+Proxy}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae67c4393a15603e621e7bd30d7268fe3}{operator-\/$>$}} () const
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69e657461059b8d319b83db18a1a3a41}{operator\mbox{[}$\,$\mbox{]}}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n) const
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a0ecda1668ba394e3a54b4d1b5b3a374e}{operator++}} ()
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69a1da5e4e9b1ae8f7d6e3a213fe22d3}{operator++}} (int)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad59ec70158a89a7a8e3465849e4b980d}{operator-\/-\/}} ()
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa2ddd5987de5124bc511e5a604eb6356}{operator-\/-\/}} (int)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a209e18773d997fef6606ec324b605506}{operator+=}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a1feb5c9ac42680fba1f59515be077062}{operator-\/=}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n)
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_abbc456f46b7df3c4c76d8cb3ca58b3ce}{operator==}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a31007a52d4cdc1b51c8c8e4bc6ff64c6}{operator!=}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4e2368ae5f9824356a6773e62de82c3a}{operator$<$}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a86579157940d117296d3e2982b98e4d7}{operator$>$}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a9aee8e08c491010401d77058183e9d96}{operator$<$=}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\item
{\footnotesize template$<$bool R$>$ }\\bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3a2743e694b03437a6c333dd9f53ed86}{operator$>$=}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&other) const
\end{DoxyCompactItemize}
\doxysubsubsection*{Private Types}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} = std\+::vector$<$\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}$>$\+::const\+\_\+iterator
\item
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\+\_\+s\+It}}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\+\_\+a\+It}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3ba3d677d692c81ee4e5a3bb1a3b6d13}{operator+}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} it, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae528bf1d5a35963d39556bf9efc3d0a4}{operator+}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} it)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae70d43e1178265d80c051119f259b6e0}{operator-\/}} (\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} it, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} n)
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a917c6ae8912ee7b45cf416f6c29af215}{operator-\/}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \&lhs, const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \&rhs)
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
\subsubsection*{template$<$bool Is\+Const$>$\newline
class fourdst\+::composition\+::detail\+::\+Composition\+Iterator$<$ Is\+Const $>$}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00013}{13}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\doxysubsection{Member Typedef Documentation}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!AbundRef@{AbundRef}}
\index{AbundRef@{AbundRef}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{AbundRef}{AbundRef}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Abund\+Ref = std\+::conditional\+\_\+t$<$Is\+Const, const double\&, double\&$>$}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00023}{23}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!AbunIt@{AbunIt}}
\index{AbunIt@{AbunIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{AbunIt}{AbunIt}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Abun\+It\hspace{0.3cm}{\ttfamily [private]}}
{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ std::conditional\_t<IsConst,}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::vector<double>::const\_iterator,}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::vector<double>::iterator>}
\end{DoxyCode}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00035}{35}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!difference\_type@{difference\_type}}
\index{difference\_type@{difference\_type}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{difference\_type}{difference\_type}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::difference\+\_\+type = std\+::ptrdiff\+\_\+t}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00016}{16}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae232e6536bd96aa9964a8052c9339c1a}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!iterator\_category@{iterator\_category}}
\index{iterator\_category@{iterator\_category}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{iterator\_category}{iterator\_category}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae232e6536bd96aa9964a8052c9339c1a}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::iterator\+\_\+category = std\+::random\+\_\+access\+\_\+iterator\+\_\+tag}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00015}{15}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a8d9af7fd266819ed7bb4da38d4f952a5}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!pointer@{pointer}}
\index{pointer@{pointer}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{pointer}{pointer}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a8d9af7fd266819ed7bb4da38d4f952a5}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::pointer = \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{Arrow\+Proxy}}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00031}{31}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!reference@{reference}}
\index{reference@{reference}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{reference}{reference}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::reference = std\+::pair$<$\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}{Species\+Ref}}, \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}{Abund\+Ref}}$>$}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00024}{24}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!SpeciesRef@{SpeciesRef}}
\index{SpeciesRef@{SpeciesRef}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{SpeciesRef}{SpeciesRef}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Species\+Ref = const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}\&}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00022}{22}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!SpecIt@{SpecIt}}
\index{SpecIt@{SpecIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{SpecIt}{SpecIt}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Spec\+It = std\+::vector$<$\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}$>$\+::const\+\_\+iterator\hspace{0.3cm}{\ttfamily [private]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00034}{34}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a63f5c58c0dd0a2488f9a28f1d9c7dbd9}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a63f5c58c0dd0a2488f9a28f1d9c7dbd9}
template$<$bool Is\+Const$>$ \\
using \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::value\+\_\+type = std\+::pair$<$const \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}, double$>$}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00018}{18}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!CompositionIterator@{CompositionIterator}}
\index{CompositionIterator@{CompositionIterator}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{CompositionIterator()}{CompositionIterator()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Composition\+Iterator (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad6877ffbc5dcfd2b498f112e2a185099}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!CompositionIterator@{CompositionIterator}}
\index{CompositionIterator@{CompositionIterator}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{CompositionIterator()}{CompositionIterator()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad6877ffbc5dcfd2b498f112e2a185099}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Composition\+Iterator (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}}}]{s\+It}{, }\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}}}]{a\+It}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00044}{44}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_adc43e2e4b4aa222c1eb88e1adcc32cb8}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!CompositionIterator@{CompositionIterator}}
\index{CompositionIterator@{CompositionIterator}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{CompositionIterator()}{CompositionIterator()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_adc43e2e4b4aa222c1eb88e1adcc32cb8}
template$<$bool Is\+Const$>$ \\
template$<$bool Was\+Const, typename = std\+::enable\+\_\+if\+\_\+t$<$\+Is\+Const \&\& !\+Was\+Const$>$$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::\+Composition\+Iterator (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Was\+Const $>$ \&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00047}{47}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!getAbundanceIt@{getAbundanceIt}}
\index{getAbundanceIt@{getAbundanceIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{getAbundanceIt()}{getAbundanceIt()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::get\+Abundance\+It (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00051}{51}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!getSpeciesIt@{getSpeciesIt}}
\index{getSpeciesIt@{getSpeciesIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{getSpeciesIt()}{getSpeciesIt()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::get\+Species\+It (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00050}{50}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a31007a52d4cdc1b51c8c8e4bc6ff64c6}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a31007a52d4cdc1b51c8c8e4bc6ff64c6}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00091}{91}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a6b9c3c600231743338de576dd412cb8c}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}}
\index{operator\texorpdfstring{$\ast$}{*}@{operator\texorpdfstring{$\ast$}{*}}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator\texorpdfstring{$\ast$}{*}()}{operator*()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a6b9c3c600231743338de576dd412cb8c}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator\texorpdfstring{$\ast$}{*} (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00053}{53}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a0ecda1668ba394e3a54b4d1b5b3a374e}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator++@{operator++}}
\index{operator++@{operator++}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a0ecda1668ba394e3a54b4d1b5b3a374e}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator++ (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00066}{66}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69a1da5e4e9b1ae8f7d6e3a213fe22d3}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator++@{operator++}}
\index{operator++@{operator++}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69a1da5e4e9b1ae8f7d6e3a213fe22d3}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator++ (\begin{DoxyParamCaption}\item[{int}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00067}{67}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a209e18773d997fef6606ec324b605506}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a209e18773d997fef6606ec324b605506}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator+= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00072}{72}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad59ec70158a89a7a8e3465849e4b980d}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/-\/@{operator-\/-\/}}
\index{operator-\/-\/@{operator-\/-\/}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad59ec70158a89a7a8e3465849e4b980d}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator-\/-\/ (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00069}{69}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa2ddd5987de5124bc511e5a604eb6356}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/-\/@{operator-\/-\/}}
\index{operator-\/-\/@{operator-\/-\/}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa2ddd5987de5124bc511e5a604eb6356}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator-\/-\/ (\begin{DoxyParamCaption}\item[{int}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00070}{70}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a1feb5c9ac42680fba1f59515be077062}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a1feb5c9ac42680fba1f59515be077062}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} \& \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00073}{73}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae67c4393a15603e621e7bd30d7268fe3}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae67c4393a15603e621e7bd30d7268fe3}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{Arrow\+Proxy}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00057}{57}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4e2368ae5f9824356a6773e62de82c3a}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4e2368ae5f9824356a6773e62de82c3a}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00094}{94}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a9aee8e08c491010401d77058183e9d96}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator$<$=@{operator$<$=}}
\index{operator$<$=@{operator$<$=}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$=()}{operator<=()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a9aee8e08c491010401d77058183e9d96}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00100}{100}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_abbc456f46b7df3c4c76d8cb3ca58b3ce}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator==@{operator==}}
\index{operator==@{operator==}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_abbc456f46b7df3c4c76d8cb3ca58b3ce}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00088}{88}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a86579157940d117296d3e2982b98e4d7}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator$>$@{operator$>$}}
\index{operator$>$@{operator$>$}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator$>$()}{operator>()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a86579157940d117296d3e2982b98e4d7}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00097}{97}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3a2743e694b03437a6c333dd9f53ed86}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator$>$=@{operator$>$=}}
\index{operator$>$=@{operator$>$=}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator$>$=()}{operator>=()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3a2743e694b03437a6c333dd9f53ed86}
template$<$bool Is\+Const$>$ \\
template$<$bool R$>$ \\
bool \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ R $>$ \&}]{other}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00103}{103}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69e657461059b8d319b83db18a1a3a41}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69e657461059b8d319b83db18a1a3a41}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00061}{61}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\doxysubsection{Friends And Related Symbol Documentation}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3ba3d677d692c81ee4e5a3bb1a3b6d13}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator+@{operator+}}
\index{operator+@{operator+}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3ba3d677d692c81ee4e5a3bb1a3b6d13}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Is\+Const $>$}]{it}{, }\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00076}{76}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae528bf1d5a35963d39556bf9efc3d0a4}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator+@{operator+}}
\index{operator+@{operator+}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae528bf1d5a35963d39556bf9efc3d0a4}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{, }\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Is\+Const $>$}]{it}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00079}{79}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae70d43e1178265d80c051119f259b6e0}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/}{operator-}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae70d43e1178265d80c051119f259b6e0}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}} operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Is\+Const $>$}]{it}{, }\item[{\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}}}]{n}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00080}{80}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a917c6ae8912ee7b45cf416f6c29af215}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/}{operator-}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a917c6ae8912ee7b45cf416f6c29af215}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\+\_\+type}} operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Is\+Const $>$ \&}]{lhs}{, }\item[{const \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{Composition\+Iterator}}$<$ Is\+Const $>$ \&}]{rhs}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00083}{83}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\doxysubsection{Member Data Documentation}
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!m\_aIt@{m\_aIt}}
\index{m\_aIt@{m\_aIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{m\_aIt}{m\_aIt}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{Abun\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::m\+\_\+a\+It\hspace{0.3cm}{\ttfamily [private]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00040}{40}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
\Hypertarget{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}\index{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}!m\_sIt@{m\_sIt}}
\index{m\_sIt@{m\_sIt}!fourdst::composition::detail::CompositionIterator$<$ IsConst $>$@{fourdst::composition::detail::CompositionIterator$<$ IsConst $>$}}
\doxysubsubsection{\texorpdfstring{m\_sIt}{m\_sIt}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}
template$<$bool Is\+Const$>$ \\
\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{Spec\+It}} \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator}}$<$ Is\+Const $>$\+::m\+\_\+s\+It\hspace{0.3cm}{\ttfamily [private]}}
Definition at line \mbox{\hyperlink{composition__abstract__iterator_8h_source_l00039}{39}} of file \mbox{\hyperlink{composition__abstract__iterator_8h_source}{composition\+\_\+abstract\+\_\+iterator.\+h}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/iterators/\mbox{\hyperlink{composition__abstract__iterator_8h}{composition\+\_\+abstract\+\_\+iterator.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
ce6f3f1172a2c67e651476d09f355b72

View File

@@ -30,7 +30,7 @@ Collaboration diagram for fourdst\+::composition\+::exceptions\+::Composition\+E
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}{Composition\+Error}} (const std\+::string \&message)
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}{Composition\+Error}} (std\+::string message)
\begin{DoxyCompactList}\small\item\em Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{Composition\+Error} with an error message. \end{DoxyCompactList}\item
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}{what}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Returns the error message. \end{DoxyCompactList}\end{DoxyCompactItemize}
@@ -46,16 +46,16 @@ Base class for exceptions related to composition objects.
This exception is thrown when an error occurs at the composition level, such as invalid configuration or state.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00014}{14}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00015}{15}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}\index{fourdst::composition::exceptions::CompositionError@{fourdst::composition::exceptions::CompositionError}!CompositionError@{CompositionError}}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}\index{fourdst::composition::exceptions::CompositionError@{fourdst::composition::exceptions::CompositionError}!CompositionError@{CompositionError}}
\index{CompositionError@{CompositionError}!fourdst::composition::exceptions::CompositionError@{fourdst::composition::exceptions::CompositionError}}
\doxysubsubsection{\texorpdfstring{CompositionError()}{CompositionError()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{std\+::string}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}
@@ -68,7 +68,7 @@ Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition
\end{DoxyParams}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00025}{25}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00026}{26}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
@@ -77,7 +77,7 @@ Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00025}{25
\index{what@{what}!fourdst::composition::exceptions::CompositionError@{fourdst::composition::exceptions::CompositionError}}
\doxysubsubsection{\texorpdfstring{what()}{what()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}
const char \texorpdfstring{$\ast$}{*} fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::what (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [noexcept]}}
const char \texorpdfstring{$\ast$}{*} fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::what (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [noexcept]}}
@@ -88,7 +88,7 @@ A C-\/style string containing the error message.
\end{DoxyReturn}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00032}{32}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00033}{33}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
@@ -105,7 +105,7 @@ The error message.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00019}{19}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00020}{20}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.

View File

@@ -0,0 +1 @@
4515b6296351bad0eb74dcefbda92d2f

View File

@@ -0,0 +1 @@
0306b1e42e8a2d47f06e5d0582653126

View File

@@ -30,13 +30,13 @@ Collaboration diagram for fourdst\+::composition\+::exceptions\+::Invalid\+Compo
\doxysubsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}{Composition\+Error}} (const std\+::string \&message)
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}{Composition\+Error}} (std\+::string message)
\begin{DoxyCompactList}\small\item\em Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{Composition\+Error} with an error message. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{fourdst\+::composition\+::exceptions\+::\+Composition\+Error}}}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}{Composition\+Error}} (const std\+::string \&message)
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}{Composition\+Error}} (std\+::string message)
\begin{DoxyCompactList}\small\item\em Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{Composition\+Error} with an error message. \end{DoxyCompactList}\item
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}{what}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Returns the error message. \end{DoxyCompactList}\end{DoxyCompactItemize}
@@ -50,16 +50,16 @@ std\+::string \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_com
\doxysubsection{Detailed Description}
Exception thrown when a composition is in an invalid or inconsistent state.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00041}{41}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00042}{42}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}\index{fourdst::composition::exceptions::InvalidCompositionError@{fourdst::composition::exceptions::InvalidCompositionError}!CompositionError@{CompositionError}}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}\index{fourdst::composition::exceptions::InvalidCompositionError@{fourdst::composition::exceptions::InvalidCompositionError}!CompositionError@{CompositionError}}
\index{CompositionError@{CompositionError}!fourdst::composition::exceptions::InvalidCompositionError@{fourdst::composition::exceptions::InvalidCompositionError}}
\doxysubsubsection{\texorpdfstring{CompositionError()}{CompositionError()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [private]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_invalid_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{std\+::string}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [private]}}
@@ -72,7 +72,7 @@ Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition
\end{DoxyParams}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00025}{25}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00026}{26}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.

View File

@@ -0,0 +1 @@
e295cbd70cb7c71c309c145564725a9e

View File

@@ -0,0 +1 @@
c81d136f8e83a649787fe1af237515cc

View File

@@ -0,0 +1,92 @@
\doxysection{fourdst\+::composition\+::exceptions\+::Species\+Error Class Reference}
\hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_species_error}{}\label{classfourdst_1_1composition_1_1exceptions_1_1_species_error}\index{fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}}
Base class for exceptions related to atomic species.
{\ttfamily \#include $<$exceptions\+\_\+composition.\+h$>$}
Inheritance diagram for fourdst\+::composition\+::exceptions\+::Species\+Error\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{classfourdst_1_1composition_1_1exceptions_1_1_species_error__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for fourdst\+::composition\+::exceptions\+::Species\+Error\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=264pt]{classfourdst_1_1composition_1_1exceptions_1_1_species_error__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_aa8f82f842c896cf5253871a59538000a}{Species\+Error}} (std\+::string message)
\item
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_af0c63f7e05d0c65157b960c654d09b67}{what}} () const noexcept override
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
std\+::string \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_a07a424e42edd368e6fb5113655ab6d1e}{m\+\_\+message}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Base class for exceptions related to atomic species.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00060}{60}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_species_error_aa8f82f842c896cf5253871a59538000a}\index{fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}!SpeciesError@{SpeciesError}}
\index{SpeciesError@{SpeciesError}!fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}}
\doxysubsubsection{\texorpdfstring{SpeciesError()}{SpeciesError()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_species_error_aa8f82f842c896cf5253871a59538000a}
fourdst\+::composition\+::exceptions\+::\+Species\+Error\+::\+Species\+Error (\begin{DoxyParamCaption}\item[{std\+::string}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00064}{64}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_species_error_af0c63f7e05d0c65157b960c654d09b67}\index{fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}!what@{what}}
\index{what@{what}!fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}}
\doxysubsubsection{\texorpdfstring{what()}{what()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_species_error_af0c63f7e05d0c65157b960c654d09b67}
const char \texorpdfstring{$\ast$}{*} fourdst\+::composition\+::exceptions\+::\+Species\+Error\+::what (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}, {\ttfamily [override]}, {\ttfamily [noexcept]}}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00067}{67}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Member Data Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_species_error_a07a424e42edd368e6fb5113655ab6d1e}\index{fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}!m\_message@{m\_message}}
\index{m\_message@{m\_message}!fourdst::composition::exceptions::SpeciesError@{fourdst::composition::exceptions::SpeciesError}}
\doxysubsubsection{\texorpdfstring{m\_message}{m\_message}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_species_error_a07a424e42edd368e6fb5113655ab6d1e}
std\+::string fourdst\+::composition\+::exceptions\+::\+Species\+Error\+::m\+\_\+message\hspace{0.3cm}{\ttfamily [protected]}}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00062}{62}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/exceptions/\mbox{\hyperlink{exceptions__composition_8h}{exceptions\+\_\+composition.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
5ddbb8020c5a8fbcb9a7c72caa3c5479

View File

@@ -0,0 +1 @@
e81b70407d6b35c42aef28b1b837b9d6

View File

@@ -0,0 +1,74 @@
\doxysection{fourdst\+::composition\+::exceptions\+::Unknown\+Symbol\+Error Class Reference}
\hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error}{}\label{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error}\index{fourdst::composition::exceptions::UnknownSymbolError@{fourdst::composition::exceptions::UnknownSymbolError}}
Exception thrown when an unknown symbol is encountered.
{\ttfamily \#include $<$exceptions\+\_\+composition.\+h$>$}
Inheritance diagram for fourdst\+::composition\+::exceptions\+::Unknown\+Symbol\+Error\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for fourdst\+::composition\+::exceptions\+::Unknown\+Symbol\+Error\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=273pt]{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error_aa8f82f842c896cf5253871a59538000a}{Species\+Error}} (std\+::string message)
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error}{fourdst\+::composition\+::exceptions\+::\+Species\+Error}}}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_aa8f82f842c896cf5253871a59538000a}{Species\+Error}} (std\+::string message)
\item
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_af0c63f7e05d0c65157b960c654d09b67}{what}} () const noexcept override
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error}{fourdst\+::composition\+::exceptions\+::\+Species\+Error}}}
\begin{DoxyCompactItemize}
\item
std\+::string \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_species_error_a07a424e42edd368e6fb5113655ab6d1e}{m\+\_\+message}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Exception thrown when an unknown symbol is encountered.
This typically occurs when a symbol does not correspond to any known atomic species.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00078}{78}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error_aa8f82f842c896cf5253871a59538000a}\index{fourdst::composition::exceptions::UnknownSymbolError@{fourdst::composition::exceptions::UnknownSymbolError}!SpeciesError@{SpeciesError}}
\index{SpeciesError@{SpeciesError}!fourdst::composition::exceptions::UnknownSymbolError@{fourdst::composition::exceptions::UnknownSymbolError}}
\doxysubsubsection{\texorpdfstring{SpeciesError()}{SpeciesError()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_unknown_symbol_error_aa8f82f842c896cf5253871a59538000a}
fourdst\+::composition\+::exceptions\+::\+Species\+Error\+::\+Species\+Error (\begin{DoxyParamCaption}\item[{std\+::string}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [private]}}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00064}{64}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
src/composition/include/fourdst/composition/exceptions/\mbox{\hyperlink{exceptions__composition_8h}{exceptions\+\_\+composition.\+h}}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
f58f942c311c9715cf83e5d12a8be4c2

View File

@@ -0,0 +1 @@
bfbed47f76da59f8ec8f0143a1ec992b

View File

@@ -30,13 +30,13 @@ Collaboration diagram for fourdst\+::composition\+::exceptions\+::Unregistered\+
\doxysubsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_aef0cd13a4d1eb60b6d75ca5480e9146c}{Composition\+Error}} (const std\+::string \&message)
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_ab5c761cc309f8b813bcb45d2dbceace8}{Composition\+Error}} (std\+::string message)
\begin{DoxyCompactList}\small\item\em Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{Composition\+Error} with an error message. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{fourdst\+::composition\+::exceptions\+::\+Composition\+Error}}}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_aef0cd13a4d1eb60b6d75ca5480e9146c}{Composition\+Error}} (const std\+::string \&message)
\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ab5c761cc309f8b813bcb45d2dbceace8}{Composition\+Error}} (std\+::string message)
\begin{DoxyCompactList}\small\item\em Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error}{Composition\+Error} with an error message. \end{DoxyCompactList}\item
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1_composition_error_ae44ceddb19da8a8cda7ee150b6826d08}{what}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Returns the error message. \end{DoxyCompactList}\end{DoxyCompactItemize}
@@ -52,16 +52,16 @@ Exception thrown when a symbol is used that has not been registered.
This typically occurs when a chemical species is used that is not known to the system.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00051}{51}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00052}{52}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
\doxysubsection{Member Function Documentation}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_aef0cd13a4d1eb60b6d75ca5480e9146c}\index{fourdst::composition::exceptions::UnregisteredSymbolError@{fourdst::composition::exceptions::UnregisteredSymbolError}!CompositionError@{CompositionError}}
\Hypertarget{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_ab5c761cc309f8b813bcb45d2dbceace8}\index{fourdst::composition::exceptions::UnregisteredSymbolError@{fourdst::composition::exceptions::UnregisteredSymbolError}!CompositionError@{CompositionError}}
\index{CompositionError@{CompositionError}!fourdst::composition::exceptions::UnregisteredSymbolError@{fourdst::composition::exceptions::UnregisteredSymbolError}}
\doxysubsubsection{\texorpdfstring{CompositionError()}{CompositionError()}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_aef0cd13a4d1eb60b6d75ca5480e9146c}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [private]}}
{\footnotesize\ttfamily \label{classfourdst_1_1composition_1_1exceptions_1_1_unregistered_symbol_error_ab5c761cc309f8b813bcb45d2dbceace8}
fourdst\+::composition\+::exceptions\+::\+Composition\+Error\+::\+Composition\+Error (\begin{DoxyParamCaption}\item[{std\+::string}]{message}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [private]}}
@@ -74,7 +74,7 @@ Constructs a \doxylink{classfourdst_1_1composition_1_1exceptions_1_1_composition
\end{DoxyParams}
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00025}{25}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.
Definition at line \mbox{\hyperlink{exceptions__composition_8h_source_l00026}{26}} of file \mbox{\hyperlink{exceptions__composition_8h_source}{exceptions\+\_\+composition.\+h}}.

View File

@@ -0,0 +1 @@
3a9adbb056680c4f2ea759cc52c89a9b

View File

@@ -0,0 +1 @@
eed3969284292edbdec78ae9ce395003

View File

@@ -12,6 +12,9 @@
{\ttfamily \#include "{}fourdst/atomic/atomic\+Species.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/atomic/species.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/composition.\+h"{}}\newline
{\ttfamily \#include $<$numeric$>$}\newline
{\ttfamily \#include "{}fourdst/composition/utils/composition\+\_\+hash.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/utils.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/exceptions/exceptions\+\_\+composition.\+h"{}}\newline
Include dependency graph for composition.\+cpp\+:
\nopagebreak
@@ -31,5 +34,5 @@ namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::compositi
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
std\+::ostream \& \mbox{\hyperlink{namespacefourdst_1_1composition_a5e8ccc2bd9e91eebcd3ef5fe470163a1}{fourdst\+::composition\+::operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}} \&composition)
\begin{DoxyCompactList}\small\item\em OVERLOADS. \end{DoxyCompactList}\end{DoxyCompactItemize}
std\+::ostream \& \mbox{\hyperlink{namespacefourdst_1_1composition_a5e8ccc2bd9e91eebcd3ef5fe470163a1}{fourdst\+::composition\+::operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{Composition}} \&composition)
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
84462bd63880fdb5708bf1f29f5e1bf4

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
\doxysection{src/composition/include/fourdst/composition/composition.dox File Reference}
\hypertarget{composition_8dox}{}\label{composition_8dox}\index{src/composition/include/fourdst/composition/composition.dox@{src/composition/include/fourdst/composition/composition.dox}}
High-\/level documentation for the \doxylink{namespacefourdst_1_1composition}{fourdst\+::composition} namespace.
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
High-\/level documentation for the \doxylink{namespacefourdst_1_1composition}{fourdst\+::composition} namespace.
This file provides namespace-\/level Doxygen documentation for the composition module. It summarizes the public API (classes, utilities, and exceptions) and shows small examples demonstrating typical usage patterns.
Definition in file \mbox{\hyperlink{composition_8dox_source}{composition.\+dox}}.

View File

@@ -5,6 +5,7 @@
{\ttfamily \#include $<$set$>$}\newline
{\ttfamily \#include $<$optional$>$}\newline
{\ttfamily \#include $<$unordered\+\_\+set$>$}\newline
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include "{}fourdst/config/config.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/logging/logging.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/composition\+\_\+abstract.\+h"{}}\newline
@@ -28,11 +29,11 @@ This graph shows which files directly or indirectly include this file\+:
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{fourdst\+::composition\+::\+Canonical\+Composition}}
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{fourdst\+::composition\+::\+Canonical\+Composition}}
\begin{DoxyCompactList}\small\item\em Represents the canonical (X, Y, Z) composition of stellar material. \end{DoxyCompactList}\item
class \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{fourdst\+::composition\+::\+Composition}}
class \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst\+::composition\+::\+Composition}}
\begin{DoxyCompactList}\small\item\em Manages a collection of chemical species and their abundances. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}{fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache}}
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache}}
\begin{DoxyCompactList}\small\item\em Caches computed properties of the composition to avoid redundant calculations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
@@ -44,5 +45,5 @@ namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::compositi
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
bool \mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{fourdst\+::composition\+::operator==}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}} \&a, const \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}} \&b) noexcept
bool \mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{fourdst\+::composition\+::operator==}} (const \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{Composition}} \&a, const \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{Composition}} \&b) noexcept
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
f753028be113c8a685bf27b27687f870

Binary file not shown.

View File

@@ -0,0 +1 @@
b15035b15de485ce1c819871482fa149

Binary file not shown.

View File

@@ -30,224 +30,236 @@
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00026}00026\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00027}00027\ \textcolor{preprocessor}{\#include\ <optional>}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00028}00028\ \textcolor{preprocessor}{\#include\ <unordered\_set>}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00029}00029\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00030}00030\ \textcolor{preprocessor}{\#include\ "{}fourdst/config/config.h"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00031}00031\ \textcolor{preprocessor}{\#include\ "{}fourdst/logging/logging.h"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00032}00032\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract_8h}{fourdst/composition/composition\_abstract.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00033}00033\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomicSpecies_8h}{fourdst/atomic/atomicSpecies.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00035}00035\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst::composition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00045}\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{00045}}\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{CanonicalComposition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00046}\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_abe5b01574242f8eaabd00c3d653291f7}{00046}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_abe5b01574242f8eaabd00c3d653291f7}{X}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00047}\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_a93927bfccc5d2b3906565d092ed4f7f4}{00047}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_a93927bfccc5d2b3906565d092ed4f7f4}{Y}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00048}\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_ae1981f5ddd36abd17a4a69fa1f43de18}{00048}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_ae1981f5ddd36abd17a4a69fa1f43de18}{Z}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00049}00049\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00056}\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_a6e447cb601af6bcbd09e290aef759672}{00056}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ std::ostream\&\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_a6e447cb601af6bcbd09e290aef759672}{operator<<}}(std::ostream\&\ os,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{CanonicalComposition}}\&\ composition)\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00057}00057\ \ \ \ \ \ \ \ \ \ \ \ \ os\ <<\ \textcolor{stringliteral}{"{}<CanonicalComposition:\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00058}00058\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}X\ =\ "{}}\ <<\ composition.\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_abe5b01574242f8eaabd00c3d653291f7}{X}}\ <<\ \textcolor{stringliteral}{"{},\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00059}00059\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}Y\ =\ "{}}\ <<\ composition.\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_a93927bfccc5d2b3906565d092ed4f7f4}{Y}}\ <<\ \textcolor{stringliteral}{"{},\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}Z\ =\ "{}}\ <<\ composition.\mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition_ae1981f5ddd36abd17a4a69fa1f43de18}{Z}}\ <<\ \textcolor{stringliteral}{"{}>"{}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ os;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00062}00062\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00063}00063\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00064}00064\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00097}00097\ \ \ \ \ \textcolor{comment}{//\ ReSharper\ disable\ once\ CppClassCanBeFinal}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00098}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{00098}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1CompositionAbstract}{CompositionAbstract}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00099}00099\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00107}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}{00107}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}{CompositionCache}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00108}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a459e01b94eb0e78dd95bb6932a967f13}{00108}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<CanonicalComposition>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00109}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_add5ce97ae6a1796c5f6488bfa1555be6}{00109}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00110}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a41ce9d6b4a0f00030e3027b23c0269fb}{00110}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00111}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{00111}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00112}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a14761ff2df5423884330e423ec38e98c}{00112}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<atomic::Species>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00113}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_abe45010a5104562d3ebecc77393c04ce}{00113}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<std::string>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00114}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ae844e5a1d2b85c7cfee50157ccf189ce}{00114}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<double>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00115}00115\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00119}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ac8b576c3b48c4cedda6e9e2790072b0d}{00119}}\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ac8b576c3b48c4cedda6e9e2790072b0d}{clear}}()\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00120}00120\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00121}00121\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00122}00122\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00123}00123\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00124}00124\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00125}00125\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00128}00128\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00133}\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_af291583560120bb53c4546a598666477}{00133}}\ \ \ \ \ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_af291583560120bb53c4546a598666477}{is\_clear}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00134}00134\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}}.has\_value()\ \&\&}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00135}00135\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}}.has\_value()\ \&\&}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00136}00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}}.has\_value();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00137}00137\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00138}00138\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00139}00139\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00145}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a46a706f9e4c06a45b45ae3dffdde5e9e}{00145}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ quill::Logger*\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a46a706f9e4c06a45b45ae3dffdde5e9e}{getLogger}}()\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00146}00146\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ quill::Logger*\ logger\ =\ logging::LogManager::getInstance().getLogger(\textcolor{stringliteral}{"{}log"{}});}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00147}00147\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ logger;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00148}00148\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00149}00149\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00150}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a452b0affb86dc971a96c80d01f4fcb2b}{00150}}\ \ \ \ \ \ \ \ \ std::set<atomic::Species>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a452b0affb86dc971a96c80d01f4fcb2b}{m\_registeredSpecies}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00151}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{00151}}\ \ \ \ \ \ \ \ \ std::map<atomic::Species,\ double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{m\_molarAbundances}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00152}00152\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00153}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a02cd9d9608da082a200fdfa86d14bf5d}{00153}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{mutable}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1Composition_1_1CompositionCache}{CompositionCache}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a02cd9d9608da082a200fdfa86d14bf5d}{m\_cache}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00154}00154\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00155}00155\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00161}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{00161}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00162}00162\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00166}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a08c1d1fe9384c5255a6ba40e34b18315}{00166}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a08c1d1fe9384c5255a6ba40e34b18315}{\string~Composition}}()\ \textcolor{keyword}{override}\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00167}00167\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00178}00178\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00179}00179\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00193}00193\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00194}00194\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00205}00205\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00206}00206\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00220}00220\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00221}00221\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00222}00222\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_set<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00223}00223\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_set<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00029}00029\ \textcolor{preprocessor}{\#include\ <expected>}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00030}00030\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00031}00031\ \textcolor{preprocessor}{\#include\ "{}fourdst/config/config.h"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00032}00032\ \textcolor{preprocessor}{\#include\ "{}fourdst/logging/logging.h"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00033}00033\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract_8h}{fourdst/composition/composition\_abstract.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00034}00034\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomic_species_8h}{fourdst/atomic/atomicSpecies.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00035}00035\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00036}00036\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst::composition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00046}\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{00046}}\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{CanonicalComposition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00047}\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_abe5b01574242f8eaabd00c3d653291f7}{00047}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_abe5b01574242f8eaabd00c3d653291f7}{X}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00048}\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_a93927bfccc5d2b3906565d092ed4f7f4}{00048}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_a93927bfccc5d2b3906565d092ed4f7f4}{Y}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00049}\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_ae1981f5ddd36abd17a4a69fa1f43de18}{00049}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_ae1981f5ddd36abd17a4a69fa1f43de18}{Z}}\ =\ 0.0;\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00050}00050\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00057}\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_a6e447cb601af6bcbd09e290aef759672}{00057}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ std::ostream\&\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition_a6e447cb601af6bcbd09e290aef759672}{operator<<}}(std::ostream\&\ os,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{CanonicalComposition}}\&\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}})\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00058}00058\ \ \ \ \ \ \ \ \ \ \ \ \ os\ <<\ \textcolor{stringliteral}{"{}<CanonicalComposition:\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00059}00059\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}X\ =\ "{}}\ <<\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}}.X\ <<\ \textcolor{stringliteral}{"{},\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}Y\ =\ "{}}\ <<\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}}.Y\ <<\ \textcolor{stringliteral}{"{},\ "{}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ <<\ \textcolor{stringliteral}{"{}Z\ =\ "{}}\ <<\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}}.Z\ <<\ \textcolor{stringliteral}{"{}>"{}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00062}00062\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ os;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00063}00063\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00064}00064\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00065}00065\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00098}00098\ \ \ \ \ \textcolor{comment}{//\ ReSharper\ disable\ once\ CppClassCanBeFinal}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00099}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{00099}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00100}00100\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00101}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a7eace279c95ac7cccb05434320203343}{00101}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a7eace279c95ac7cccb05434320203343}{iterator}}\ =\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<false>}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00102}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a38bbc17eb83b6155163382b27b3818e6}{00102}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a38bbc17eb83b6155163382b27b3818e6}{const\_iterator}}\ =\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<true>}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00103}00103\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00111}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{00111}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{CompositionCache}}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00112}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}{00112}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<CanonicalComposition>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00113}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}{00113}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00114}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}{00114}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00115}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{00115}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<double>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00116}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}{00116}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<atomic::Species>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00117}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}{00117}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::vector<std::string>>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00118}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}{00118}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<double>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00119}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}{00119}}\ \ \ \ \ \ \ \ \ \ \ \ \ std::optional<std::size\_t>\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}{hash}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00120}00120\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00124}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ac8b576c3b48c4cedda6e9e2790072b0d}{00124}}\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ac8b576c3b48c4cedda6e9e2790072b0d}{clear}}()\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00125}00125\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00128}00128\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00129}00129\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00131}00131\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00132}00132\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}{hash}}\ =\ std::nullopt;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00133}00133\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00134}00134\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00139}\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_af291583560120bb53c4546a598666477}{00139}}\ \ \ \ \ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_af291583560120bb53c4546a598666477}{is\_clear}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00140}00140\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}{canonicalComp}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}{massFractions}}.has\_value()\ \&\&}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00141}00141\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}{numberFractions}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molarAbundances}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}{sortedSymbols}}.has\_value()\ \&\&}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00142}00142\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}{sortedSpecies}}.has\_value()\ \&\&\ !\mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}{hash}}.has\_value();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00143}00143\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00144}00144\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00145}00145\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00146}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8}{00146}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum\ class}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8}{SpeciesIndexLookupError}}\ :\ uint8\_t\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00147}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8ac7cc0e85688b85571f30fd16a46d9891}{00147}}\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8ac7cc0e85688b85571f30fd16a46d9891}{NO\_REGISTERED\_SPECIES}},}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00148}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8a3659baf2b06bba6c02bad8316d517761}{00148}}\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aeef903d5b7d02467c6462d183ac47db8a3659baf2b06bba6c02bad8316d517761}{SPECIES\_NOT\_FOUND}}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00149}00149\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00150}00150\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00156}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a46a706f9e4c06a45b45ae3dffdde5e9e}{00156}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ quill::Logger*\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a46a706f9e4c06a45b45ae3dffdde5e9e}{getLogger}}()\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00157}00157\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ quill::Logger*\ logger\ =\ logging::LogManager::getInstance().getLogger(\textcolor{stringliteral}{"{}log"{}});}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00158}00158\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ logger;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00159}00159\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00160}00160\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00161}00161\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ std::set<atomic::Species>\ m\_registeredSpecies;\ ///<\ Set\ of\ registered\ species\ in\ the\ composition.}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00162}00162\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ std::map<atomic::Species,\ double>\ m\_molarAbundances;\ ///<\ Map\ of\ species\ to\ their\ molar\ abundances.}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00163}00163\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00164}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{00164}}\ \ \ \ \ \ \ \ \ std::vector<atomic::Species>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{m\_species}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00165}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{00165}}\ \ \ \ \ \ \ \ \ std::vector<double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{m\_molarAbundances}};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00166}00166\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00167}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a02cd9d9608da082a200fdfa86d14bf5d}{00167}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{mutable}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{CompositionCache}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a02cd9d9608da082a200fdfa86d14bf5d}{m\_cache}};\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00168}00168\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00169}00169\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00170}00170\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::expected<std::ptrdiff\_t,\ SpeciesIndexLookupError>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aded88f0ad4a97eaae1e356fa8428cab5}{findSpeciesIndex}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\ \&species)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00171}00171\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keyword}{static}\ std::vector<atomic::Species>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3f013e33b8978baf81447e5bd177f38b}{symbolVectorToSpeciesVector}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00172}00172\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00173}00173\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00179}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{00179}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00180}00180\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00184}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a08c1d1fe9384c5255a6ba40e34b18315}{00184}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a08c1d1fe9384c5255a6ba40e34b18315}{\string~Composition}}()\ \textcolor{keyword}{override}\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00185}00185\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00196}00196\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00197}00197\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00211}00211\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00212}00212\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00223}00223\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00224}00224\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00240}00240\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00241}00241\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00256}00256\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00257}00257\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00273}00273\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<std::string>\&\ symbols,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00274}00274\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00275}00275\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_map<std::string,\ double>\&\ symbolMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00276}00276\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::map<std::string,\ double>\&\ symbolMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00277}00277\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00278}00278\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_map<atomic::Species,\ double>\&\ speciesMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00279}00279\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::map<atomic::Species,\ double>\&\ speciesMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00280}00280\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00281}00281\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00286}00286\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\&\ composition);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00287}00287\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00288}00288\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1CompositionAbstract}{CompositionAbstract}}\&\ composition);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00289}00289\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00295}00295\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a4ec1e23cfecef764cb831171fed62fc2}{operator=}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\ \textcolor{keyword}{const}\&\ other);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00296}00296\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00311}00311\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{keyword}{const}\ std::string\&\ symbol);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00312}00312\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00327}00327\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00328}00328\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00351}00351\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a392a34c19f45d6c936cc7030e6cfaf3f}{registerSpecies}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1Species}{atomic::Species}}\&\ species)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00352}00352\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00353}00353\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00373}00373\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a392a34c19f45d6c936cc7030e6cfaf3f}{registerSpecies}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00374}00374\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00380}00380\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a194f715788e7921bd611579440de2ecd}{contains}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1Species}{atomic::Species}}\&\ species)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \textcolor{keyword}{override};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00381}00381\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00388}00388\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a194f715788e7921bd611579440de2ecd}{contains}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00389}00389\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00394}00394\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a9d177d36b728442bcbd8cb66712c7c75}{size}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00395}00395\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00412}00412\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00413}00413\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}\&\ symbol,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00414}00414\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{double}\&\ molar\_abundance}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00415}00415\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00416}00416\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00436}00436\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00437}00437\ \ \ \ \ \ \ \ \ \ \ \ \ const\ atomic::Species\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00438}00438\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{double}\&\ molar\_abundance}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00439}00439\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00440}00440\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00456}00456\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00457}00457\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<\mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}>\&\ symbols,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00458}00458\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00459}00459\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00460}00460\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00479}00479\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00480}00480\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<atomic::Species>\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00481}00481\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00482}00482\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00483}00483\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00500}00500\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00501}00501\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::set<\mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}>\&\ symbols,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00502}00502\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00503}00503\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00504}00504\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00524}00524\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00525}00525\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::set<atomic::Species>\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00526}00526\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00527}00527\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00528}00528\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00537}00537\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::set<\mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a3ae885c28580ae15be8c16614bef3b0e}{getRegisteredSymbols}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00538}00538\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00547}00547\ \ \ \ \ \ \ \ \ [[nodiscard]]\ const\ \mbox{\hyperlink{namespacestd}{std}}::set<atomic::Species>\ \&\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a33db253ca50431b5166d43412ff18f71}{getRegisteredSpecies}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00548}00548\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00555}00555\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::unordered\_map<atomic::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00556}00556\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00565}00565\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(const\ \mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00566}00566\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00584}00584\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(const\ atomic::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00238}00238\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00239}00239\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00240}00240\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_set<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00241}00241\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_set<atomic::Species>\&\ species);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00242}00242\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00258}00258\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00259}00259\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00274}00274\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00275}00275\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00291}00291\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::set<std::string>\&\ symbols,\ \textcolor{keyword}{const}\ std::vector<double>\&\ molarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00292}00292\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00293}00293\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_map<std::string,\ double>\&\ symbolMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00294}00294\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::map<std::string,\ double>\&\ symbolMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00295}00295\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00296}00296\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::unordered\_map<atomic::Species,\ double>\&\ speciesMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00297}00297\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ std::map<atomic::Species,\ double>\&\ speciesMolarAbundances);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00298}00298\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00299}00299\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00304}00304\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\&\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}});}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00305}00305\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00306}00306\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}\&\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}});}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00307}00307\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00313}00313\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a4ec1e23cfecef764cb831171fed62fc2}{operator=}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\ \textcolor{keyword}{const}\&\ other);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00314}00314\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a4ec1e23cfecef764cb831171fed62fc2}{operator=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}\&\ other);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00315}00315\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00330}00330\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{keyword}{const}\ std::string\&\ symbol);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00331}00331\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00346}00346\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ab4dcda0bfd1a35b169bcc57fe66725}{registerSymbol}}(\textcolor{keyword}{const}\ std::vector<std::string>\&\ symbols);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00347}00347\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00370}00370\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a392a34c19f45d6c936cc7030e6cfaf3f}{registerSpecies}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00371}00371\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00372}00372\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00392}00392\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a392a34c19f45d6c936cc7030e6cfaf3f}{registerSpecies}}(\textcolor{keyword}{const}\ std::vector<atomic::Species>\&\ species)\ \textcolor{keyword}{noexcept};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00393}00393\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00399}00399\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a194f715788e7921bd611579440de2ecd}{contains}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \textcolor{keyword}{override};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00400}00400\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00407}00407\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a194f715788e7921bd611579440de2ecd}{contains}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00408}00408\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00413}00413\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9d177d36b728442bcbd8cb66712c7c75}{size}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00414}00414\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00431}00431\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00432}00432\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::\textcolor{keywordtype}{string}\&\ symbol,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00433}00433\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{double}\&\ molar\_abundance}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00434}00434\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00435}00435\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00455}00455\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00456}00456\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00457}00457\ \ \ \ \ \ \ \ \ \ \ \ \ const\ \textcolor{keywordtype}{double}\&\ molar\_abundance}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00458}00458\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00459}00459\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00475}00475\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00476}00476\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<std::\textcolor{keywordtype}{string}>\&\ symbols,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00477}00477\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00478}00478\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00479}00479\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00498}00498\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00499}00499\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species>\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00500}00500\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00501}00501\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00502}00502\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00519}00519\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00520}00520\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::set<std::\textcolor{keywordtype}{string}>\&\ symbols,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00521}00521\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00522}00522\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00523}00523\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00543}00543\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a262d7133035d4e6f45daa81827abf5e7}{setMolarAbundance}}(}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00544}00544\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::set<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species>\&\ species,}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00545}00545\ \ \ \ \ \ \ \ \ \ \ \ \ const\ std::vector<\textcolor{keywordtype}{double}>\&\ molar\_abundances}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00546}00546\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00547}00547\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00556}00556\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::set<std::\textcolor{keywordtype}{string}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a3ae885c28580ae15be8c16614bef3b0e}{getRegisteredSymbols}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00557}00557\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00566}00566\ \ \ \ \ \ \ \ \ [[nodiscard]]\ const\ std::vector<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species>\ \&\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4b01ec4140e278d92c18f139f69ab1f}{getRegisteredSpecies}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00567}00567\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00574}00574\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::unordered\_map<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00575}00575\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00584}00584\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00585}00585\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00594}00594\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a1f87ed64a1be9a6091c852131d24e476}{getNumberFraction}}(const\ \mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00595}00595\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00612}00612\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a1f87ed64a1be9a6091c852131d24e476}{getNumberFraction}}(const\ atomic::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00613}00613\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00620}00620\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::unordered\_map<atomic::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a1f87ed64a1be9a6091c852131d24e476}{getNumberFraction}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00621}00621\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00632}00632\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{getMolarAbundance}}(const\ \mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00633}00633\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00643}00643\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{getMolarAbundance}}(const\ atomic::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00644}00644\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00658}00658\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{getMeanParticleMass}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00659}00659\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00673}00673\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a90fc71d1fe03017ee4c7a1cac69d24fb}{getElectronAbundance}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00674}00674\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00675}00675\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00690}00690\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{structfourdst_1_1composition_1_1CanonicalComposition}{CanonicalComposition}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aac5b214a3d1278e127422224cb9cee50}{getCanonicalComposition}}()\ const;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00691}00691\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00697}00697\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_af4f44aaf8b7e0d63872a70b5e2131369}{getMassFractionVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00698}00698\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00704}00704\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_ae4f72972cf4d1ff422d0790080e11473}{getNumberFractionVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00705}00705\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00711}00711\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_abcb391f5fca2b636127e48e681e4c3ee}{getMolarAbundanceVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00712}00712\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00721}00721\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a0d94f62402bb90b5d12679faeaa8c5d7}{getSpeciesIndex}}(const\ \mbox{\hyperlink{namespacestd}{std}}::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00722}00722\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00730}00730\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a0d94f62402bb90b5d12679faeaa8c5d7}{getSpeciesIndex}}(const\ atomic::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00603}00603\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a9ea2b673341fdc67afeb0f0517a54c8c}{getMassFraction}}(const\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00604}00604\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00613}00613\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{getNumberFraction}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00614}00614\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00631}00631\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{getNumberFraction}}(const\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00632}00632\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00639}00639\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::unordered\_map<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a34f71d4d8f0297c576fd62fabd490305}{getNumberFraction}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00640}00640\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00651}00651\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{getMolarAbundance}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00652}00652\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00662}00662\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_add67a92d73e3a57a2bbdb52bc9ca3bfe}{getMolarAbundance}}(const\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00663}00663\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00677}00677\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_afbbb5e51ad5ae5c0fa6bc0094195aecd}{getMeanParticleMass}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00678}00678\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00692}00692\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a90fc71d1fe03017ee4c7a1cac69d24fb}{getElectronAbundance}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00693}00693\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00694}00694\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00709}00709\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{CanonicalComposition}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aac5b214a3d1278e127422224cb9cee50}{getCanonicalComposition}}()\ const;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00710}00710\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00716}00716\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_af4f44aaf8b7e0d63872a70b5e2131369}{getMassFractionVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00717}00717\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00723}00723\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f72972cf4d1ff422d0790080e11473}{getNumberFractionVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00724}00724\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00730}00730\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abcb391f5fca2b636127e48e681e4c3ee}{getMolarAbundanceVector}}()\ const\ noexcept\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00731}00731\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00739}00739\ \ \ \ \ \ \ \ \ [[nodiscard]]\ atomic::Species\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_ae4f854ded38f5e6fcd157a74a57cbf0c}{getSpeciesAtIndex}}(\textcolor{keywordtype}{size\_t}\ index)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00740}00740\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00741}00741\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::unique\_ptr<\mbox{\hyperlink{classfourdst_1_1composition_1_1CompositionAbstract}{CompositionAbstract}}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a5a1f5661a329ec7bc8b7e118ff9d6c25}{clone}}()\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00742}00742\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00749}00749\ \ \ \ \ \ \ \ \ friend\ \mbox{\hyperlink{namespacestd}{std}}::ostream\&\ operator<<(\mbox{\hyperlink{namespacestd}{std}}::ostream\&\ os,\ const\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\&\ composition);}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00740}00740\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0d94f62402bb90b5d12679faeaa8c5d7}{getSpeciesIndex}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00741}00741\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00749}00749\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a0d94f62402bb90b5d12679faeaa8c5d7}{getSpeciesIndex}}(const\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00750}00750\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00768}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a8699ef1c21f7cf21a26ab2f83cfd9785}{00768}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacestd}{std}}::map<atomic::Species,\ \textcolor{keywordtype}{double}>::iterator\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a8699ef1c21f7cf21a26ab2f83cfd9785}{begin}}()\textcolor{keyword}{\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00769}00769\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{m\_molarAbundances}}.begin();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00770}00770\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00771}00771\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00789}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a5f6ca82e740a9297dad4bb9cc1075112}{00789}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::map<atomic::Species,\ double>::const\_iterator\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a5f6ca82e740a9297dad4bb9cc1075112}{begin}}()\textcolor{keyword}{\ const\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00790}00790\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{m\_molarAbundances}}.cbegin();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00791}00791\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00792}00792\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00810}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a8c07a604bff4963b9f8a1f11175f97cf}{00810}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::map<atomic::Species,\ double>::iterator\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a8c07a604bff4963b9f8a1f11175f97cf}{end}}()\textcolor{keyword}{\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00811}00811\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{m\_molarAbundances}}.end();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00812}00812\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00813}00813\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00831}\mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a12be36a912c1a1f59affba37d44431ef}{00831}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::map<atomic::Species,\ double>::const\_iterator\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_a12be36a912c1a1f59affba37d44431ef}{end}}()\textcolor{keyword}{\ const\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00832}00832\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition_aa05a640e0ea80142682bf4ee30a93c7f}{m\_molarAbundances}}.cend();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00833}00833\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00834}00834\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00835}00835\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00836}00836\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00837}\mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{00837}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\&\ a,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1Composition}{Composition}}\&\ b)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00838}00838\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a.size()\ !=\ b.size())\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00839}00839\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00840}00840\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Compare\ species\ sets\ quickly}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00841}00841\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a.getRegisteredSpecies()\ !=\ b.getRegisteredSpecies())}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00842}00842\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00843}00843\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00844}00844\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Compare\ all\ abundances}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00845}00845\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keyword}{auto}\ itA\ =\ a.begin(),\ itB\ =\ b.begin();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00846}00846\ \ \ \ \ \ \ \ \ \ \ \ \ \ itA\ !=\ a.end()\ \&\&\ itB\ !=\ b.end();\ ++itA,\ ++itB)\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00847}00847\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (itA-\/>first\ !=\ itB-\/>first)}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00848}00848\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00849}00849\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (itA-\/>second\ !=\ itB-\/>second)}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00850}00850\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00851}00851\ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00852}00852\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00853}00853\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00854}00854\ \};\ \textcolor{comment}{//\ namespace\ fourdst::composition}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00758}00758\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4f854ded38f5e6fcd157a74a57cbf0c}{getSpeciesAtIndex}}(\textcolor{keywordtype}{size\_t}\ index)\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00759}00759\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00760}00760\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::unique\_ptr<\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5a1f5661a329ec7bc8b7e118ff9d6c25}{clone}}()\ const\ override;}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00761}00761\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00768}00768\ \ \ \ \ \ \ \ \ friend\ std::ostream\&\ operator<<(std::ostream\&\ os,\ const\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a23b83b76ee025f6fc009184ee19bba88}{Composition}}\&\ \mbox{\hyperlink{namespacefourdst_1_1composition}{composition}});}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00769}00769\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00787}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5bdb6ca3f734fae901b3d6179dbc17a0}{00787}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a7eace279c95ac7cccb05434320203343}{iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5bdb6ca3f734fae901b3d6179dbc17a0}{begin}}()\textcolor{keyword}{\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00788}00788\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{m\_species}}.begin(),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{m\_molarAbundances}}.begin()\};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00789}00789\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00790}00790\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00808}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4600dc915645fc1b50c67e0218b794d}{00808}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a38bbc17eb83b6155163382b27b3818e6}{const\_iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ae4600dc915645fc1b50c67e0218b794d}{begin}}()\textcolor{keyword}{\ const\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00809}00809\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{m\_species}}.cbegin(),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{m\_molarAbundances}}.cbegin()\};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00810}00810\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00811}00811\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00829}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aaa89050308dda5e51d4b47d18d54cb58}{00829}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<false>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aaa89050308dda5e51d4b47d18d54cb58}{end}}()\textcolor{keyword}{\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00830}00830\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{m\_species}}.end(),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{m\_molarAbundances}}.end()\};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00831}00831\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00832}00832\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00850}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aabcde53961ecadfa823de5a766f0da84}{00850}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<true>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aabcde53961ecadfa823de5a766f0da84}{end}}()\textcolor{keyword}{\ const\ override\ }\{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00851}00851\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_aa0edc4976ccd24f2d9f6ad730f058b27}{m\_species}}.cend(),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_ab2faabe2e64c587bda8106687f752479}{m\_molarAbundances}}.cend()\};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00852}00852\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00853}00853\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00854}00854\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_a5b3631fa33b0c6809ad652b0e31663a1}{hash}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00855}00855\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00856}00856\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00857}00857\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00858}\mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{00858}}\ \ \ \ \ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{namespacefourdst_1_1composition_a06f5abc74104de40349e47ad367c402a}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{Composition}}\&\ a,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{Composition}}\&\ b)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00859}00859\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a.size()\ !=\ b.size())\ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00860}00860\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00861}00861\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a.getRegisteredSpecies()\ !=\ b.getRegisteredSpecies())}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00862}00862\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00863}00863\ }
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00864}00864\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ a.hash()\ ==\ b.hash();}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00865}00865\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition_8h_source_l00866}00866\ \};\ \textcolor{comment}{//\ namespace\ fourdst::composition}}
\end{DoxyCode}

View File

@@ -0,0 +1,37 @@
\doxysection{src/composition/include/fourdst/composition/composition\+\_\+abstract.h File Reference}
\hypertarget{composition__abstract_8h}{}\label{composition__abstract_8h}\index{src/composition/include/fourdst/composition/composition\_abstract.h@{src/composition/include/fourdst/composition/composition\_abstract.h}}
{\ttfamily \#include "{}fourdst/atomic/atomic\+Species.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/iterators/composition\+\_\+abstract\+\_\+iterator.\+h"{}}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$unordered\+\_\+map$>$}\newline
{\ttfamily \#include $<$set$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include $<$memory$>$}\newline
Include dependency graph for composition\+\_\+abstract.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__abstract_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__abstract_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst\+::composition\+::\+Composition\+Abstract}}
\begin{DoxyCompactList}\small\item\em Abstract base class for chemical composition representations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst}{fourdst}}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
7e971f717fe251142da29449cddc17be

Binary file not shown.

View File

@@ -0,0 +1 @@
e58bd56b593ab07c2dd190eb3e8ea56e

Binary file not shown.

View File

@@ -0,0 +1,78 @@
\doxysection{composition\+\_\+abstract.\+h}
\hypertarget{composition__abstract_8h_source}{}\label{composition__abstract_8h_source}\index{src/composition/include/fourdst/composition/composition\_abstract.h@{src/composition/include/fourdst/composition/composition\_abstract.h}}
\mbox{\hyperlink{composition__abstract_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00002}00002\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00003}00003\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomic_species_8h}{fourdst/atomic/atomicSpecies.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract__iterator_8h}{fourdst/composition/iterators/composition\_abstract\_iterator.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00005}00005\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00006}00006\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00007}00007\ \textcolor{preprocessor}{\#include\ <unordered\_map>}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00008}00008\ \textcolor{preprocessor}{\#include\ <set>}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00009}00009\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00010}00010\ \textcolor{preprocessor}{\#include\ <memory>}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00011}00011\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00012}00012\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst::composition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00036}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{00036}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00037}00037\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00038}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{00038}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}}\ =\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<false>}};}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00039}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{00039}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\_iterator}}\ =\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<true>}};}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00043}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}{00043}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83ff77f3f390bb66c978e157d9bb6394}{\string~CompositionAbstract}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00044}00044\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00050}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}{00050}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2e6c4d27d2b295b6be87c6964cac1e1e}{contains}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{fourdst::atomic::Species}}\&\ species)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00051}00051\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00057}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}{00057}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a6fe83824aefb045d8a5399e8ac9852f9}{contains}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\ \textcolor{keyword}{const}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00058}00058\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00059}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}{00059}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af7ec2eaa16a0c78d19728e32469cec06}{size}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00060}00060\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00065}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}{00065}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::set<std::\textcolor{keywordtype}{string}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a94c2cadeae32ab19cee42fc1670c4c6c}{getRegisteredSymbols}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00066}00066\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00071}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}{00071}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ const\ std::vector<\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species>\ \&\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad17ae8649860ef4f7a949e7c9143c0ec}{getRegisteredSpecies}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00072}00072\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00077}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{00077}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::unordered\_map<\mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{getMassFraction}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00078}00078\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00083}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{00083}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::unordered\_map<\mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species,\ \textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{getNumberFraction}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00084}00084\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00090}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0ebe22344f785e5db693e04b9b598a5a}{00090}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{getMassFraction}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00091}00091\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00097}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0396f17ba252d053c0126323a76e9142}{00097}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a3e3248162611754ca4c54b9979f6664d}{getMassFraction}}(const\ \mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00098}00098\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00104}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_af490daa6942717605093b4fca3e676b8}{00104}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{getNumberFraction}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00105}00105\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00111}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a71b351d6e69cf0d7e7c43409e1b13c4c}{00111}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a65bae043ffbf4514b2593ccb63c6e265}{getNumberFraction}}(const\ \mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00112}00112\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00118}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}{00118}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}{getMolarAbundance}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00119}00119\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00125}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_adf861bd58e80025b021af2949b41d126}{00125}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a29613d8197cee96f764aeeaa3b7286f8}{getMolarAbundance}}(const\ \mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00126}00126\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00131}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}{00131}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_afedcef16ed403b95ce7f1e6756aa46e8}{getMeanParticleMass}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00132}00132\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00137}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}{00137}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_ad0fcf2e51cca02c4224241828335db1a}{getElectronAbundance}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00138}00138\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00143}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}{00143}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a752af872347c612bf3b43b1711c2cfc0}{getMassFractionVector}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00144}00144\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00149}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}{00149}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a83343286d738d101635b2a7f5b7d96ef}{getNumberFractionVector}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00150}00150\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00155}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}{00155}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::vector<\textcolor{keywordtype}{double}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a657c12d36b2f44e44c32e86d5296c063}{getMolarAbundanceVector}}()\ const\ noexcept\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00156}00156\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00162}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}{00162}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}{getSpeciesIndex}}(const\ std::\textcolor{keywordtype}{string}\&\ symbol)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00163}00163\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00169}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a5d04b801f152f7955b392710275105bc}{00169}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_aebf28eab9c902a285589fe2ab7f3060f}{getSpeciesIndex}}(const\ \mbox{\hyperlink{namespacefourdst}{fourdst}}::\mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\&\ species)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00170}00170\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00176}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}{00176}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \mbox{\hyperlink{namespacefourdst_1_1atomic}{atomic}}::Species\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a43138cbf3d399e8f278db742fe1b02a7}{getSpeciesAtIndex}}(\textcolor{keywordtype}{size\_t}\ index)\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00177}00177\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00178}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}{00178}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::unique\_ptr<\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a81d5a4da267e24662ae90c6a29f3d0a1}{clone}}()\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00179}00179\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00180}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}{00180}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}{begin}}()\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00181}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}{00181}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_abd12f3a9a5b6217498ff19e25ee3ddb0}{iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}{end}}()\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00182}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0a1845dab0dbf23399233cac7aeb05c1}{00182}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\_iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a643f2e1f843d8a6f81c9382278916fe5}{begin}}()\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00183}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9ac49da6e4df7bee8aa7974e8fec8181}{00183}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a0bb9772bc73d637950b6cf2e8e6afeb0}{const\_iterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a9f903ec8d0444c7ed9178c09de902176}{end}}()\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00184}00184\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00185}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}{00185}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ virtual\ std::\textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract_a2d5472a63e2dbfc94d7e4617b5660e23}{hash}}()\ const\ =\ 0;}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00186}00186\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00187}00187\ }
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00188}00188\ \ \ \ \ \textcolor{comment}{//\ ReSharper\ disable\ once\ CppClassCanBeFinal}}
\DoxyCodeLine{\Hypertarget{composition__abstract_8h_source_l00189}00189\ \}}
\end{DoxyCode}

View File

@@ -0,0 +1,39 @@
\doxysection{src/composition/include/fourdst/composition/iterators/composition\+\_\+abstract\+\_\+iterator.h File Reference}
\hypertarget{composition__abstract__iterator_8h}{}\label{composition__abstract__iterator_8h}\index{src/composition/include/fourdst/composition/iterators/composition\_abstract\_iterator.h@{src/composition/include/fourdst/composition/iterators/composition\_abstract\_iterator.h}}
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include $<$iterator$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$compare$>$}\newline
{\ttfamily \#include "{}fourdst/atomic/atomic\+Species.\+h"{}}\newline
Include dependency graph for composition\+\_\+abstract\+\_\+iterator.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__abstract__iterator_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__abstract__iterator_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator$<$ Is\+Const $>$}}
\item
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{fourdst\+::composition\+::detail\+::\+Composition\+Iterator$<$ Is\+Const $>$\+::\+Arrow\+Proxy}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst}{fourdst}}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition_1_1detail}{fourdst\+::composition\+::detail}}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
dfc927cd19d8a3bd6f76a876a37eaa96

View File

@@ -0,0 +1 @@
ac481f44564efe10ff02306717a24cfd

View File

@@ -0,0 +1,112 @@
\doxysection{composition\+\_\+abstract\+\_\+iterator.\+h}
\hypertarget{composition__abstract__iterator_8h_source}{}\label{composition__abstract__iterator_8h_source}\index{src/composition/include/fourdst/composition/iterators/composition\_abstract\_iterator.h@{src/composition/include/fourdst/composition/iterators/composition\_abstract\_iterator.h}}
\mbox{\hyperlink{composition__abstract__iterator_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00002}00002\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00003}00003\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ <iterator>}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00005}00005\ \textcolor{preprocessor}{\#include\ <utility>}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00006}00006\ \textcolor{preprocessor}{\#include\ <compare>}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00007}00007\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00008}00008\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomic_species_8h}{fourdst/atomic/atomicSpecies.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00009}00009\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00010}\mbox{\hyperlink{namespacefourdst_1_1composition_1_1detail}{00010}}\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition_1_1detail}{fourdst::composition::detail}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00011}00011\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00012}00012\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ IsConst>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00013}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{00013}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00014}00014\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00015}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae232e6536bd96aa9964a8052c9339c1a}{00015}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae232e6536bd96aa9964a8052c9339c1a}{iterator\_category}}\ =\ std::random\_access\_iterator\_tag;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00016}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{00016}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ \ \ =\ std::ptrdiff\_t;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00017}00017\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Returns\ a\ pair\ of\ references.\ Natively\ supports\ structured\ binding\ [sp,\ y]}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00018}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a63f5c58c0dd0a2488f9a28f1d9c7dbd9}{00018}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a63f5c58c0dd0a2488f9a28f1d9c7dbd9}{value\_type}}\ \ \ \ \ \ \ \ =\ std::pair<const\ atomic::Species,\ double>;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00019}00019\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00020}00020\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00021}00021\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Define\ reference\ types\ based\ on\ const-\/ness}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00022}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}{00022}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa4974fbcd3f4b3d387bdcb698b1760e6}{SpeciesRef}}\ =\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00023}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}{00023}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_af4da2e6b206ac0f7b1d921fd98450f25}{AbundRef}}\ \ \ =\ std::conditional\_t<IsConst,\ const\ double\&,\ double\&>;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00024}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{00024}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}}\ \ =\ std::pair<SpeciesRef,\ AbundRef>;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00025}00025\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00026}\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{00026}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy}{ArrowProxy}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00027}\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy_ad0776143577dbbcb8d853ebee7781765}{00027}}\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy_ad0776143577dbbcb8d853ebee7781765}{m\_payload}};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00028}\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy_aee898d309c5886e348220d673c35df81}{00028}}\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}}*\ \mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy_aee898d309c5886e348220d673c35df81}{operator-\/>}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \&\mbox{\hyperlink{structfourdst_1_1composition_1_1detail_1_1_composition_iterator_1_1_arrow_proxy_ad0776143577dbbcb8d853ebee7781765}{m\_payload}};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00029}00029\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00030}00030\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00031}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a8d9af7fd266819ed7bb4da38d4f952a5}{00031}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a8d9af7fd266819ed7bb4da38d4f952a5}{pointer}}\ =\ ArrowProxy;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00032}00032\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00033}00033\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00034}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{00034}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{SpecIt}}\ =\ std::vector<atomic::Species>::const\_iterator;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00035}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{00035}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{AbunIt}}\ =\ std::conditional\_t<IsConst,}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00036}00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::vector<double>::const\_iterator,}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00037}00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::vector<double>::iterator>;}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00038}00038\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00039}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{00039}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{SpecIt}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00040}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{00040}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{AbunIt}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00041}00041\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00042}00042\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00043}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{00043}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00044}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad6877ffbc5dcfd2b498f112e2a185099}{00044}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad6877ffbc5dcfd2b498f112e2a185099}{CompositionIterator}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{SpecIt}}\ sIt,\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{AbunIt}}\ aIt)\ :\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}(sIt),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}(aIt)\ \{\}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00045}00045\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00046}00046\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ WasConst,\ \textcolor{keyword}{typename}\ =\ std::enable\_if\_t<IsConst\ \&\&\ !WasConst>>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00047}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_adc43e2e4b4aa222c1eb88e1adcc32cb8}{00047}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_adc43e2e4b4aa222c1eb88e1adcc32cb8}{CompositionIterator}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<WasConst>}}\&\ other)}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00048}00048\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}(other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}()),\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}(other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}{getAbundanceIt}}())\ \{\}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00049}00049\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00050}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{00050}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aed9bfe4d2ddae0b750c962550b93bcbf}{SpecIt}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00051}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}{00051}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a396f26d92a6d87a85499a6f5135b7352}{AbunIt}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a19e25dd39d7c6676da47666faef58116}{getAbundanceIt}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00052}00052\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00053}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a6b9c3c600231743338de576dd412cb8c}{00053}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a6b9c3c600231743338de576dd412cb8c}{operator*}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00054}00054\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\ *\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}},\ *\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}\ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00055}00055\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00056}00056\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00057}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae67c4393a15603e621e7bd30d7268fe3}{00057}}\ \ \ \ \ \ \ \ \ ArrowProxy\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae67c4393a15603e621e7bd30d7268fe3}{operator-\/>}}()\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00058}00058\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ ArrowProxy\{\ **\textcolor{keyword}{this}\ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00059}00059\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00060}00060\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00061}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69e657461059b8d319b83db18a1a3a41}{00061}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa7a1fa49ae5d7b8de165078bce02ebb2}{reference}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69e657461059b8d319b83db18a1a3a41}{operator[]}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n)\textcolor{keyword}{\ const\ }\{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00062}00062\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \{\ *(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ +\ n),\ *(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}\ +\ n)\ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00063}00063\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00064}00064\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00065}00065\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ -\/-\/-\/\ Movement\ -\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00066}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a0ecda1668ba394e3a54b4d1b5b3a374e}{00066}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a0ecda1668ba394e3a54b4d1b5b3a374e}{operator++}}()\ \{\ ++\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}};\ ++\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}};\ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00067}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69a1da5e4e9b1ae8f7d6e3a213fe22d3}{00067}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a69a1da5e4e9b1ae8f7d6e3a213fe22d3}{operator++}}(\textcolor{keywordtype}{int})\ \{\ \textcolor{keyword}{auto}\ tmp\ =\ *\textcolor{keyword}{this};\ ++(*this);\ \textcolor{keywordflow}{return}\ tmp;\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00068}00068\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00069}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad59ec70158a89a7a8e3465849e4b980d}{00069}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ad59ec70158a89a7a8e3465849e4b980d}{operator-\/-\/}}()\ \{\ -\/-\/\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}};\ -\/-\/\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}};\ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this};\ \}\ \textcolor{comment}{//\ FIXED}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00070}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa2ddd5987de5124bc511e5a604eb6356}{00070}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_aa2ddd5987de5124bc511e5a604eb6356}{operator-\/-\/}}(\textcolor{keywordtype}{int})\ \{\ \textcolor{keyword}{auto}\ tmp\ =\ *\textcolor{keyword}{this};\ -\/-\/(*this);\ \textcolor{keywordflow}{return}\ tmp;\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00071}00071\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00072}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a209e18773d997fef6606ec324b605506}{00072}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a209e18773d997fef6606ec324b605506}{operator+=}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n)\ \{\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ +=\ n;\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}\ +=\ n;\ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00073}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a1feb5c9ac42680fba1f59515be077062}{00073}}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a1feb5c9ac42680fba1f59515be077062}{operator-\/=}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n)\ \{\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ -\/=\ n;\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3d29053504e91c7328ebdb044d596550}{m\_aIt}}\ -\/=\ n;\ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this};\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00074}00074\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00075}00075\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ -\/-\/-\/\ Arithmetic\ -\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00076}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3ba3d677d692c81ee4e5a3bb1a3b6d13}{00076}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3ba3d677d692c81ee4e5a3bb1a3b6d13}{operator+}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ it,\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n)\ \{\ \textcolor{keywordflow}{return}\ it\ +=\ n;\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00077}00077\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00078}00078\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Commutative\ addition\ (n\ +\ it)}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00079}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae528bf1d5a35963d39556bf9efc3d0a4}{00079}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae528bf1d5a35963d39556bf9efc3d0a4}{operator+}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n,\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ it)\ \{\ \textcolor{keywordflow}{return}\ it\ +=\ n;\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00080}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae70d43e1178265d80c051119f259b6e0}{00080}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_ae70d43e1178265d80c051119f259b6e0}{operator-\/}}(\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\ it,\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ n)\ \{\ \textcolor{keywordflow}{return}\ it\ -\/=\ n;\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00081}00081\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00082}00082\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Difference\ between\ iterators}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00083}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a917c6ae8912ee7b45cf416f6c29af215}{00083}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{friend}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fb602e579f8770e027c986aaecc5100}{difference\_type}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a917c6ae8912ee7b45cf416f6c29af215}{operator-\/}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ lhs,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator}}\&\ rhs)\ \{}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00084}00084\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ lhs.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ -\/\ rhs.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00085}00085\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00086}00086\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00087}00087\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00088}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_abbc456f46b7df3c4c76d8cb3ca58b3ce}{00088}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_abbc456f46b7df3c4c76d8cb3ca58b3ce}{operator==}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ ==\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00089}00089\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00090}00090\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00091}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a31007a52d4cdc1b51c8c8e4bc6ff64c6}{00091}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a31007a52d4cdc1b51c8c8e4bc6ff64c6}{operator!=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ !=\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00092}00092\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00093}00093\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00094}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4e2368ae5f9824356a6773e62de82c3a}{00094}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4e2368ae5f9824356a6773e62de82c3a}{operator<}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ <\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00095}00095\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00096}00096\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00097}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a86579157940d117296d3e2982b98e4d7}{00097}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a86579157940d117296d3e2982b98e4d7}{operator>}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ >\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00098}00098\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00099}00099\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00100}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a9aee8e08c491010401d77058183e9d96}{00100}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a9aee8e08c491010401d77058183e9d96}{operator<=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ <=\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00101}00101\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00102}00102\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keywordtype}{bool}\ R>}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00103}\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3a2743e694b03437a6c333dd9f53ed86}{00103}}\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a3a2743e694b03437a6c333dd9f53ed86}{operator>=}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a4fa613024e05b77ee3973bcabf736761}{CompositionIterator<R>}}\&\ other)\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a624ae61ce7193d043284ff404fb1eae3}{m\_sIt}}\ >=\ other.\mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator_a30ee7e1431e51d0539c2ccdc2804d598}{getSpeciesIt}}();\ \}}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00104}00104\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00105}00105\ }
\DoxyCodeLine{\Hypertarget{composition__abstract__iterator_8h_source_l00106}00106\ \}}
\end{DoxyCode}

View File

@@ -0,0 +1,38 @@
\doxysection{src/composition/include/fourdst/composition/decorators/composition\+\_\+decorator\+\_\+abstract.h File Reference}
\hypertarget{composition__decorator__abstract_8h}{}\label{composition__decorator__abstract_8h}\index{src/composition/include/fourdst/composition/decorators/composition\_decorator\_abstract.h@{src/composition/include/fourdst/composition/decorators/composition\_decorator\_abstract.h}}
{\ttfamily \#include "{}fourdst/atomic/atomic\+Species.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/iterators/composition\+\_\+abstract\+\_\+iterator.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/composition\+\_\+abstract.\+h"{}}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$set$>$}\newline
{\ttfamily \#include $<$unordered\+\_\+map$>$}\newline
{\ttfamily \#include $<$map$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
Include dependency graph for composition\+\_\+decorator\+\_\+abstract.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__decorator__abstract_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=246pt]{composition__decorator__abstract_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator}{fourdst\+::composition\+::\+Composition\+Decorator}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst}{fourdst}}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
c25455dd796bf6324ef367f694ac52b3

View File

@@ -0,0 +1 @@
d3603756a186fda225f0364317ebfa77

View File

@@ -0,0 +1,55 @@
\doxysection{composition\+\_\+decorator\+\_\+abstract.\+h}
\hypertarget{composition__decorator__abstract_8h_source}{}\label{composition__decorator__abstract_8h_source}\index{src/composition/include/fourdst/composition/decorators/composition\_decorator\_abstract.h@{src/composition/include/fourdst/composition/decorators/composition\_decorator\_abstract.h}}
\mbox{\hyperlink{composition__decorator__abstract_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00002}00002\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00003}00003\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{atomic_species_8h}{fourdst/atomic/atomicSpecies.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract__iterator_8h}{fourdst/composition/iterators/composition\_abstract\_iterator.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00005}00005\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00006}00006\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract_8h}{fourdst/composition/composition\_abstract.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00007}00007\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00008}00008\ \textcolor{preprocessor}{\#include\ <utility>}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00009}00009\ \textcolor{preprocessor}{\#include\ <set>}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00010}00010\ \textcolor{preprocessor}{\#include\ <unordered\_map>}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00011}00011\ \textcolor{preprocessor}{\#include\ <map>}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00012}00012\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00013}00013\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00014}00014\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst::composition}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00015}00015\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00016}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator}{00016}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}{CompositionDecorator}}:\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{CompositionAbstract}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00017}00017\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00018}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}{00018}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a115e0c194a3dffddc558e0305cc56677}{CompositionDecorator}}(std::unique\_ptr<CompositionAbstract>\ decorator)\ :\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}(std::move(decorator))\ \{\};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00019}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}{00019}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a811e91b7cc08f19b8c92de43fdb91401}{contains}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\ \&species)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \textcolor{keyword}{override}\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>contains(species);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00020}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}{00020}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af40ce87fce6fc0fae837bf8f31fec274}{contains}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>contains(symbol);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00021}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}{00021}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_af70b703b6b946d959cdd5cd15e853a9d}{size}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>size();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00022}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}{00022}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::set<std::string>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a85acea9a107432dfefcbfffe4c3c7c62}{getRegisteredSymbols}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getRegisteredSymbols();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00023}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}{00023}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keyword}{const}\ std::vector<atomic::Species>\ \&\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0cdc50a57e09bf8461839d08eb4ae212}{getRegisteredSpecies}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getRegisteredSpecies();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00024}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}{00024}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::unordered\_map<atomic::Species,\ double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a8c1a4cd69465ef5b65bea547ed919ca5}{getMassFraction}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMassFraction();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00025}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}{00025}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::unordered\_map<atomic::Species,\ double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a66724877d66017bac3dc3cc784dda57c}{getNumberFraction}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getNumberFraction();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00026}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}{00026}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a52591cb38ab7712fc459eeb48b9d2eaf}{getMassFraction}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMassFraction(symbol);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00027}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}{00027}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a12a5cdb232ce4ce30980a016d20b4a43}{getMassFraction}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMassFraction(species);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00028}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}{00028}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0ff3454e625043c76131a1206d9293c6}{getNumberFraction}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getNumberFraction(symbol);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00029}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}{00029}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a92c3d23d632f242e8b5526b343617f67}{getNumberFraction}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getNumberFraction(species);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00030}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}{00030}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a0c46d440cafd9ae2d04589ece5fd41fb}{getMolarAbundance}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMolarAbundance(symbol);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00031}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}{00031}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a57a1cc37e96234477b21866881fbdbaa}{getMolarAbundance}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMolarAbundance(species);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00032}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}{00032}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a3b8f0f8fd75888d001177deff39f7405}{getMeanParticleMass}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMeanParticleMass();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00033}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}{00033}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{double}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a39f1df55aff6650c653e62c0e9a2cc5e}{getElectronAbundance}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getElectronAbundance();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00034}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}{00034}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a4d2795fa73ec3f5185232d4cca5684a6}{getMassFractionVector}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMassFractionVector();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00035}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}{00035}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a72ffd49c3b3e7f3f22ed28ceb2169cb5}{getNumberFractionVector}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getNumberFractionVector();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00036}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}{00036}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ std::vector<double>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a80e528239b4a197985e6993c8b6dab48}{getMolarAbundanceVector}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getMolarAbundanceVector();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00037}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}{00037}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a9b7e6388d9a73c05ddd34660bde43867}{getSpeciesIndex}}(\textcolor{keyword}{const}\ std::string\&\ symbol)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getSpeciesIndex(symbol);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00038}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}{00038}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_ab02b459d8ce7f36a0a1c6058c013a75c}{getSpeciesIndex}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\&\ species)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getSpeciesIndex(species);\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00039}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}{00039}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic::Species}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a996066b4bf67e415eb2dd3ea7aed68bd}{getSpeciesAtIndex}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ index)\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>getSpeciesAtIndex(index);\ \}}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00040}00040\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00041}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}{00041}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<false>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a34e7e9fd25cd4037ba359bc7a7236929}{begin}}()\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>begin();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00042}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}{00042}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<false>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_aaf47cdfcb7feb3991d6e151bbf2521ff}{end}}()\textcolor{keyword}{\ override\ }\{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}}-\/>end();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00043}00043\ }
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00044}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}{00044}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<true>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a125e06aaf1edfd035d7d102792a120d5}{begin}}()\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ std::as\_const(*m\_base\_composition).begin();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00045}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}{00045}}\ \ \ \ \ \ \ \ \ [[nodiscard]]\ \mbox{\hyperlink{classfourdst_1_1composition_1_1detail_1_1_composition_iterator}{detail::CompositionIterator<true>}}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a56d0561c510efa577dc9a295174827ec}{end}}()\textcolor{keyword}{\ const\ override\ }\{\ \textcolor{keywordflow}{return}\ std::as\_const(*m\_base\_composition).end();\ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00046}00046\ \ \ \ \ \textcolor{keyword}{protected}:}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00047}\mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{00047}}\ \ \ \ \ \ \ \ \ std::unique\_ptr<CompositionAbstract>\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_decorator_a785a5aeddcc68ce3a5b688d956c4d505}{m\_base\_composition}};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00048}00048\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition__decorator__abstract_8h_source_l00049}00049\ \}}
\end{DoxyCode}

View File

@@ -0,0 +1,47 @@
\doxysection{src/composition/include/fourdst/composition/utils/composition\+\_\+hash.h File Reference}
\hypertarget{composition__hash_8h}{}\label{composition__hash_8h}\index{src/composition/include/fourdst/composition/utils/composition\_hash.h@{src/composition/include/fourdst/composition/utils/composition\_hash.h}}
{\ttfamily \#include $<$cstring$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include $<$bit$>$}\newline
{\ttfamily \#include "{}xxhash64.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/composition.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/composition\+\_\+abstract.\+h"{}}\newline
Include dependency graph for composition\+\_\+hash.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__hash_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=316pt]{composition__hash_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash}{fourdst\+::composition\+::utils\+::\+Composition\+Hash}}
\item
struct \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4}{std\+::hash$<$ fourdst\+::composition\+::\+Composition\+Abstract $>$}}
\item
struct \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4}{std\+::hash$<$ fourdst\+::composition\+::\+Composition $>$}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst}{fourdst}}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition_1_1utils}{fourdst\+::composition\+::utils}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptfourdst_1_1composition_1_1utils_1_1_composition_type}{fourdst\+::composition\+::utils\+::\+Composition\+Type}}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
208e743667904d0dbda1ab4d360b493e

Binary file not shown.

View File

@@ -0,0 +1 @@
b4205104e8e47d2a0eb32200f9cadcf8

Binary file not shown.

View File

@@ -0,0 +1,126 @@
\doxysection{composition\+\_\+hash.\+h}
\hypertarget{composition__hash_8h_source}{}\label{composition__hash_8h_source}\index{src/composition/include/fourdst/composition/utils/composition\_hash.h@{src/composition/include/fourdst/composition/utils/composition\_hash.h}}
\mbox{\hyperlink{composition__hash_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00002}00002\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00003}00003\ \textcolor{preprocessor}{\#include\ <cstring>}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00005}00005\ \textcolor{preprocessor}{\#include\ <bit>}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00006}00006\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00007}00007\ \textcolor{preprocessor}{\#include\ "{}xxhash64.h"{}}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00008}00008\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition_8h}{fourdst/composition/composition.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00009}00009\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{composition__abstract_8h}{fourdst/composition/composition\_abstract.h}}"{}}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00010}00010\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00011}\mbox{\hyperlink{namespacefourdst_1_1composition_1_1utils}{00011}}\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition_1_1utils}{fourdst::composition::utils}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00012}00012\ \ \ \ \ \textcolor{comment}{//\ Make\ a\ concept\ which\ checks\ if\ a\ type\ inherits\ from\ CompositionAbstract}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00013}00013\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ CompT>}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00014}\mbox{\hyperlink{conceptfourdst_1_1composition_1_1utils_1_1_composition_type}{00014}}\ \ \ \ \ \textcolor{keyword}{concept\ }\mbox{\hyperlink{conceptfourdst_1_1composition_1_1utils_1_1_composition_type}{CompositionType}}\ =\ std::is\_base\_of\_v<CompositionAbstract,\ CompT>;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00015}00015\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00016}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash}{00016}}\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash}{CompositionHash}}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00017}00017\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ <CompositionType\ CompositionT>}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00018}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_af30bb4f60999d9ad99ad3893efa2de65}{00018}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_af30bb4f60999d9ad99ad3893efa2de65}{hash\_exact}}(\textcolor{keyword}{const}\ CompositionT\&\ comp)\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00019}00019\ \ \ \ \ \ \ \ \ \ \ \ \ uint64\_t\ h0\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{kSeed}};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00020}00020\ \ \ \ \ \ \ \ \ \ \ \ \ uint64\_t\ h1\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{kSeed}}\ \string^\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00021}00021\ \ \ \ \ \ \ \ \ \ \ \ \ uint64\_t\ h2\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{kSeed}}\ \string^\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00022}00022\ \ \ \ \ \ \ \ \ \ \ \ \ uint64\_t\ h3\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{kSeed}}\ \string^\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_aaada3987c54d6a960843d28ecac48b12}{kPrime3}};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00023}00023\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00024}00024\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ it\ =\ comp.begin();}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00025}00025\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{size\_t}\ remaining\ =\ comp.size();}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00026}00026\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00027}00027\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (remaining\ >=\ 4)\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00028}00028\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ p0\ =\ *it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00029}00029\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00030}00030\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(p0.first);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00031}00031\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h0,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00032}00032\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(p0.second);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00033}00033\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h0,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00035}00035\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ p1\ =\ *it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00036}00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00037}00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h1\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(p1.first);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00038}00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h1\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h1,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00039}00039\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h1\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(p1.second);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00040}00040\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h1\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h1,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00041}00041\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00042}00042\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ p2\ =\ *it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00043}00043\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00044}00044\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h2\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(p2.first);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00045}00045\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h2\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h2,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00046}00046\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h2\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(p2.second);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00047}00047\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h2\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h2,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00048}00048\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00049}00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ p3\ =\ *it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00050}00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00051}00051\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h3\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(p3.first);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00052}00052\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h3\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h3,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00053}00053\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h3\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(p3.second);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00054}00054\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h3\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h3,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00055}00055\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00056}00056\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ remaining\ -\/=\ 4;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00057}00057\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00058}00058\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00059}00059\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (remaining\ >\ 0)\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ p\ =\ *it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++it;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00062}00062\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(p.first);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00063}00063\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h0,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00064}00064\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ \string^=\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(p.second);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00065}00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ h0\ =\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h0,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00066}00066\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -\/-\/remaining;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00067}00067\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00068}00068\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00069}00069\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h0\ \string^\ h1\ \string^\ h2\ \string^\ h3,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_aaada3987c54d6a960843d28ecac48b12}{kPrime3}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00070}00070\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00071}00071\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00072}00072\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00073}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{00073}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{constexpr}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ac80f1cb0966ae3d0358e77c7a6f904f5}{kSeed}}\ =\ 0xC04D5EEDBEEFull;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00074}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{00074}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{constexpr}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}}\ =\ 0xa0761d6478bd642fULL;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00075}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{00075}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{constexpr}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a3ec846d75e05a3f9d852e479bbdeffc0}{kPrime2}}\ =\ 0xe7037ed1a0b428dbULL;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00076}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_aaada3987c54d6a960843d28ecac48b12}{00076}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{constexpr}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_aaada3987c54d6a960843d28ecac48b12}{kPrime3}}\ =\ 0x8ebc6af09c88c6e3ULL;}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00077}00077\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00078}00078\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ -\/-\/-\/\ Helper:\ Fast\ integer\ mixing\ -\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00079}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{00079}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(\textcolor{keyword}{const}\ uint64\_t\ a,\ \textcolor{keyword}{const}\ uint64\_t\ b)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00080}00080\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \_\_int128\ r\ =\ \textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned}\ \_\_int128\textcolor{keyword}{>}(a)\ *\ \textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned}\ \_\_int128\textcolor{keyword}{>}(b);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00081}00081\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{static\_cast<}uint64\_t\textcolor{keyword}{>}(r)\ \string^\ \textcolor{keyword}{static\_cast<}uint64\_t\textcolor{keyword}{>}(r\ >>\ 64);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00082}00082\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00083}00083\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00084}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a8f6f7432f29b9da29d09efccd11373fa}{00084}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a8f6f7432f29b9da29d09efccd11373fa}{mix}}(\textcolor{keyword}{const}\ uint64\_t\ h)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00085}00085\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_ae4645b210880b3d76e205783fa9a3076}{mum}}(h,\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a534655db7f5270577d2ebd99f7afb233}{kPrime1}});}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00086}00086\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00087}00087\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00088}00088\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ -\/-\/-\/\ Normalization\ Logic\ -\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00089}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{00089}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint64\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a492812c018520c057c0a113c9113f9d2}{normalize\_double\_bits}}(\textcolor{keywordtype}{double}\ v)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00090}00090\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (v\ ==\ 0.0)\ v\ =\ 0.0;\ \textcolor{comment}{//\ fold\ -\/0.0\ -\/>\ +0.0}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00091}00091\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (std::isnan(v))\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00092}00092\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0x7ff8000000000000ULL;\ \textcolor{comment}{//\ canonical\ quiet\ NaN}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00093}00093\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00094}00094\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::bit\_cast<uint64\_t>(v);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00095}00095\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00096}00096\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00097}\mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{00097}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_a84329d89ee262cfc08e358033b4ae6c3}{pack\_species\_id}}(\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ s)\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\ z\ =\ \textcolor{keyword}{static\_cast<}uint16\_t\textcolor{keyword}{>}(s.z());}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00099}00099\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{auto}\ a\ =\ \textcolor{keyword}{static\_cast<}uint16\_t\textcolor{keyword}{>}(s.a());}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00100}00100\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (\textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(z)\ <<\ 16)\ |\ \textcolor{keyword}{static\_cast<}uint32\_t\textcolor{keyword}{>}(a);}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00101}00101\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00102}00102\ \ \ \ \ \};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00103}00103\ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00104}00104\ }
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00105}00105\ \textcolor{keyword}{template}<>}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00106}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4}{00106}}\ \textcolor{keyword}{struct\ }std::hash<\mbox{\hyperlink{namespacefourdst}{fourdst}}::composition::CompositionAbstract>\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00107}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4_a1d1f55cfb8f4605a477e368bb2f8d860}{00107}}\ \ \ \ \ std::size\_t\ \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_abstract_01_4_a1d1f55cfb8f4605a477e368bb2f8d860}{operator()}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition_abstract}{fourdst::composition::CompositionAbstract}}\&\ c)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00108}00108\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{static\_cast<}std::size\_t\textcolor{keyword}{>}(}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00109}00109\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_af30bb4f60999d9ad99ad3893efa2de65}{fourdst::composition::utils::CompositionHash::hash\_exact}}(c)}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00110}00110\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00111}00111\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00112}00112\ \};}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00113}00113\ \textcolor{keyword}{template}<>}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00114}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4}{00114}}\ \textcolor{keyword}{struct\ }std::hash<\mbox{\hyperlink{namespacefourdst}{fourdst}}::composition::Composition>\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00115}\mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4_a20ef7280a7d2353f5b391a1a00263d0c}{00115}}\ \ \ \ \ std::size\_t\ \mbox{\hyperlink{structstd_1_1hash_3_01fourdst_1_1composition_1_1_composition_01_4_a20ef7280a7d2353f5b391a1a00263d0c}{operator()}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1_composition}{fourdst::composition::Composition}}\&\ c)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00116}00116\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{static\_cast<}std::size\_t\textcolor{keyword}{>}(}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00117}00117\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structfourdst_1_1composition_1_1utils_1_1_composition_hash_af30bb4f60999d9ad99ad3893efa2de65}{fourdst::composition::utils::CompositionHash::hash\_exact}}(c)}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00118}00118\ \ \ \ \ \ \ \ \ );}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00119}00119\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{composition__hash_8h_source_l00120}00120\ \};}
\end{DoxyCode}

View File

@@ -0,0 +1,27 @@
\doxysection{src/composition/lib/decorators/composition\+\_\+masked.cpp File Reference}
\hypertarget{composition__masked_8cpp}{}\label{composition__masked_8cpp}\index{src/composition/lib/decorators/composition\_masked.cpp@{src/composition/lib/decorators/composition\_masked.cpp}}
{\ttfamily \#include "{}fourdst/composition/decorators/composition\+\_\+masked.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/composition/exceptions/exceptions\+\_\+composition.\+h"{}}\newline
{\ttfamily \#include "{}fourdst/atomic/species.\+h"{}}\newline
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$memory$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include $<$set$>$}\newline
{\ttfamily \#include $<$unordered\+\_\+map$>$}\newline
{\ttfamily \#include "{}fourdst/composition/utils/composition\+\_\+hash.\+h"{}}\newline
Include dependency graph for composition\+\_\+masked.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{composition__masked_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespacefourdst}{fourdst}}
\item
namespace \mbox{\hyperlink{namespacefourdst_1_1composition}{fourdst\+::composition}}
\begin{DoxyCompactList}\small\item\em Utilities and types for representing and manipulating chemical compositions. \end{DoxyCompactList}\end{DoxyCompactItemize}

View File

@@ -0,0 +1 @@
e271fdd4562a07bede237479886300b3

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More