\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}
