\doxysection{exceptions\+\_\+composition.\+h} \hypertarget{exceptions__composition_8h_source}{}\label{exceptions__composition_8h_source}\index{src/composition/include/fourdst/composition/exceptions/exceptions\_composition.h@{src/composition/include/fourdst/composition/exceptions/exceptions\_composition.h}} \mbox{\hyperlink{exceptions__composition_8h}{Go to the documentation of this file.}} \begin{DoxyCode}{0} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00001}00001\ \textcolor{preprocessor}{\#pragma\ once}} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00002}00002\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00003}00003\ \textcolor{preprocessor}{\#include\ }} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00004}00004\ \textcolor{preprocessor}{\#include\ }} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00005}00005\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00006}\mbox{\hyperlink{namespacefourdst_1_1composition_1_1exceptions}{00006}}\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacefourdst_1_1composition_1_1exceptions}{fourdst::composition::exceptions}}\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00014}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}{00014}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}{CompositionError}}\ :\ \textcolor{keyword}{public}\ std::exception\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00015}00015\ \ \ \ \ \textcolor{keyword}{protected}:} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00019}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_a4cd69d727a162f90045cd6d4aaf95440}{00019}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_a4cd69d727a162f90045cd6d4aaf95440}{m\_message}};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00020}00020\ \ \ \ \ \textcolor{keyword}{public}:} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00025}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_aef0cd13a4d1eb60b6d75ca5480e9146c}{00025}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_aef0cd13a4d1eb60b6d75ca5480e9146c}{CompositionError}}(\textcolor{keyword}{const}\ std::string\&\ message)} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00026}00026\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_a4cd69d727a162f90045cd6d4aaf95440}{m\_message}}(\mbox{\hyperlink{namespacestd}{std}}::move(message))\ \{\}} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00027}00027\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00032}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_ae44ceddb19da8a8cda7ee150b6826d08}{00032}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_ae44ceddb19da8a8cda7ee150b6826d08}{what}}()\ const\ noexcept\textcolor{keyword}{\ override}\{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00033}00033\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_a4cd69d727a162f90045cd6d4aaf95440}{m\_message}}.c\_str();} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00034}00034\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00035}00035\ \ \ \ \ \};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00036}00036\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00041}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError}{00041}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1InvalidCompositionError}{InvalidCompositionError}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}{CompositionError}}\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00042}00042\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_aef0cd13a4d1eb60b6d75ca5480e9146c}{CompositionError::CompositionError}};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00043}00043\ \ \ \ \ \};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00044}00044\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00051}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError}{00051}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnregisteredSymbolError}{UnregisteredSymbolError}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError}{CompositionError}}\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00052}00052\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1CompositionError_aef0cd13a4d1eb60b6d75ca5480e9146c}{CompositionError::CompositionError}};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00053}00053\ \ \ \ \ \};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00054}00054\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00059}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError}{00059}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError}{SpeciesError}}\ :\ \textcolor{keyword}{public}\ std::exception\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00060}00060\ \ \ \ \ \textcolor{keyword}{protected}:} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00061}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_a07a424e42edd368e6fb5113655ab6d1e}{00061}}\ \ \ \ \ \ \ \ \ std::string\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_a07a424e42edd368e6fb5113655ab6d1e}{m\_message}};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00062}00062\ \ \ \ \ \textcolor{keyword}{public}:} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00063}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_af67ed95557b2511ff5143c7064fc5813}{00063}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_af67ed95557b2511ff5143c7064fc5813}{SpeciesError}}(\textcolor{keyword}{const}\ std::string\&\ message)} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00064}00064\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_a07a424e42edd368e6fb5113655ab6d1e}{m\_message}}(\mbox{\hyperlink{namespacestd}{std}}::move(message))\ \{\}} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00065}00065\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00066}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_af0c63f7e05d0c65157b960c654d09b67}{00066}}\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_af0c63f7e05d0c65157b960c654d09b67}{what}}()\ const\ noexcept\textcolor{keyword}{\ override\ }\{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00067}00067\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_a07a424e42edd368e6fb5113655ab6d1e}{m\_message}}.c\_str();} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00068}00068\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00069}00069\ \ \ \ \ \};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00070}00070\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00077}\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError}{00077}}\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1UnknownSymbolError}{UnknownSymbolError}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError}{SpeciesError}}\ \{} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00078}00078\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classfourdst_1_1composition_1_1exceptions_1_1SpeciesError_af67ed95557b2511ff5143c7064fc5813}{SpeciesError::SpeciesError}};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00079}00079\ \ \ \ \ \};} \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00080}00080\ } \DoxyCodeLine{\Hypertarget{exceptions__composition_8h_source_l00081}00081\ \}} \end{DoxyCode}