\doxysection{fourdst\+::composition\+::Composition\+::Composition\+Cache Struct Reference}
\hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}{}\label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}


Caches computed properties of the composition to avoid redundant calculations.  


\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ac8b576c3b48c4cedda6e9e2790072b0d}{clear}} ()
\begin{DoxyCompactList}\small\item\em Clears all cached values. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_af291583560120bb53c4546a598666477}{is\+\_\+clear}} () const
\begin{DoxyCompactList}\small\item\em Checks if the cache is clear (i.\+e., all cached values are empty). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::optional$<$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{Canonical\+Composition}} $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}{canonical\+Comp}}
\begin{DoxyCompactList}\small\item\em Cached canonical composition data. \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::vector$<$ double $>$ $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}{mass\+Fractions}}
\begin{DoxyCompactList}\small\item\em Cached vector of mass fractions. \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::vector$<$ double $>$ $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}{number\+Fractions}}
\begin{DoxyCompactList}\small\item\em Cached vector of number fractions. \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::vector$<$ double $>$ $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}{molar\+Abundances}}
\begin{DoxyCompactList}\small\item\em Cached vector of molar abundances. \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::vector$<$ \mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}} $>$ $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}{sorted\+Species}}
\begin{DoxyCompactList}\small\item\em Cached vector of sorted species (by mass). \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::vector$<$ std\+::string $>$ $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}{sorted\+Symbols}}
\begin{DoxyCompactList}\small\item\em Cached vector of sorted species (by mass). \end{DoxyCompactList}\item 
std\+::optional$<$ double $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}{Ye}}
\begin{DoxyCompactList}\small\item\em Cached electron abundance. \end{DoxyCompactList}\item 
std\+::optional$<$ std\+::size\+\_\+t $>$ \mbox{\hyperlink{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}{hash}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Caches computed properties of the composition to avoid redundant calculations. 

This struct holds optional cached values for various computed properties of the composition, such as canonical composition, mass fractions, number fractions, molar abundances, sorted species, sorted symbols, and electron abundance. The cache can be cleared when the composition is modified. 

Definition at line \mbox{\hyperlink{composition_8h_source_l00111}{111}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.



\doxysubsection{Member Function Documentation}
\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ac8b576c3b48c4cedda6e9e2790072b0d}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!clear@{clear}}
\index{clear@{clear}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ac8b576c3b48c4cedda6e9e2790072b0d} 
void fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::clear (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Clears all cached values. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00124}{124}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_af291583560120bb53c4546a598666477}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!is\_clear@{is\_clear}}
\index{is\_clear@{is\_clear}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{is\_clear()}{is\_clear()}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_af291583560120bb53c4546a598666477} 
bool fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::is\+\_\+clear (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}}



Checks if the cache is clear (i.\+e., all cached values are empty). 

\begin{DoxyReturn}{Returns}
True if the cache is clear, false otherwise. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{composition_8h_source_l00139}{139}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.



\doxysubsection{Member Data Documentation}
\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!canonicalComp@{canonicalComp}}
\index{canonicalComp@{canonicalComp}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{canonicalComp}{canonicalComp}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a459e01b94eb0e78dd95bb6932a967f13} 
std\+::optional$<$\mbox{\hyperlink{structfourdst_1_1composition_1_1_canonical_composition}{Canonical\+Composition}}$>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::canonical\+Comp}



Cached canonical composition data. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00112}{112}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!hash@{hash}}
\index{hash@{hash}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{hash}{hash}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a8580c92659fff18f7453496939ecd427} 
std\+::optional$<$std\+::size\+\_\+t$>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::hash}



Definition at line \mbox{\hyperlink{composition_8h_source_l00119}{119}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!massFractions@{massFractions}}
\index{massFractions@{massFractions}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{massFractions}{massFractions}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_add5ce97ae6a1796c5f6488bfa1555be6} 
std\+::optional$<$std\+::vector$<$double$>$ $>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::mass\+Fractions}



Cached vector of mass fractions. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00113}{113}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!molarAbundances@{molarAbundances}}
\index{molarAbundances@{molarAbundances}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{molarAbundances}{molarAbundances}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ab74c9cd92ba8aaf5f95c8ca5284206a6} 
std\+::optional$<$std\+::vector$<$double$>$ $>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::molar\+Abundances}



Cached vector of molar abundances. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00115}{115}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!numberFractions@{numberFractions}}
\index{numberFractions@{numberFractions}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{numberFractions}{numberFractions}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a41ce9d6b4a0f00030e3027b23c0269fb} 
std\+::optional$<$std\+::vector$<$double$>$ $>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::number\+Fractions}



Cached vector of number fractions. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00114}{114}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!sortedSpecies@{sortedSpecies}}
\index{sortedSpecies@{sortedSpecies}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{sortedSpecies}{sortedSpecies}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_a14761ff2df5423884330e423ec38e98c} 
std\+::optional$<$std\+::vector$<$\mbox{\hyperlink{structfourdst_1_1atomic_1_1_species}{atomic\+::\+Species}}$>$ $>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::sorted\+Species}



Cached vector of sorted species (by mass). 



Definition at line \mbox{\hyperlink{composition_8h_source_l00116}{116}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!sortedSymbols@{sortedSymbols}}
\index{sortedSymbols@{sortedSymbols}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{sortedSymbols}{sortedSymbols}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_abe45010a5104562d3ebecc77393c04ce} 
std\+::optional$<$std\+::vector$<$std\+::string$>$ $>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::sorted\+Symbols}



Cached vector of sorted species (by mass). 



Definition at line \mbox{\hyperlink{composition_8h_source_l00117}{117}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.

\Hypertarget{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce}\index{fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}!Ye@{Ye}}
\index{Ye@{Ye}!fourdst::composition::Composition::CompositionCache@{fourdst::composition::Composition::CompositionCache}}
\doxysubsubsection{\texorpdfstring{Ye}{Ye}}
{\footnotesize\ttfamily \label{structfourdst_1_1composition_1_1_composition_1_1_composition_cache_ae844e5a1d2b85c7cfee50157ccf189ce} 
std\+::optional$<$double$>$ fourdst\+::composition\+::\+Composition\+::\+Composition\+Cache\+::\+Ye}



Cached electron abundance. 



Definition at line \mbox{\hyperlink{composition_8h_source_l00118}{118}} of file \mbox{\hyperlink{composition_8h_source}{composition.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/composition/include/fourdst/composition/\mbox{\hyperlink{composition_8h}{composition.\+h}}\end{DoxyCompactItemize}
