\doxysection{Metadata.\+h}
\hypertarget{_metadata_8h_source}{}\label{_metadata_8h_source}\index{src/dobj/public/Metadata.h@{src/dobj/public/Metadata.h}}
\mbox{\hyperlink{_metadata_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ METADATA\_H}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ METADATA\_H}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#if\ defined(\_\_APPLE\_\_)\ ||\ defined(\_\_linux\_\_)}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#define\ EXPORT\_SYMBOL\ \_\_attribute\_\_((visibility("{}default"{})))}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ EXPORT\_SYMBOL}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00009\ }
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ <cstddef>}}
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ <iostream>}}
\DoxyCodeLine{00014\ }
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00031\ \textcolor{keyword}{class\ }EXPORT\_SYMBOL\ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}\ \{}
\DoxyCodeLine{00032\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00036\ \ \ \ \ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00046\ \ \ \ \ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}(std::size\_t\ byteSize,\ std::string\ dataType,\ std::vector<std::size\_t>\ dimensions,\ \textcolor{keywordtype}{bool}\ debugFlag\ =\ \textcolor{keyword}{false});}
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00052\ \ \ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{class_metadata_ac7980d1efdd6ae434f0115f83d08348e}{getByteSize}}()\ const\ noexcept;}
\DoxyCodeLine{00053\ }
\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a07035de7b0c780ef340e1a11c60a4d2b}{setByteSize}}(std::\textcolor{keywordtype}{size\_t}\ byteSize)\ noexcept;}
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00064\ \ \ \ \ [[nodiscard]]\ const\ std::\textcolor{keywordtype}{string}\&\ \mbox{\hyperlink{class_metadata_aeed7f22ccc61d9a3d6425441d381dcdc}{getDataType}}()\ const\ noexcept;}
\DoxyCodeLine{00065\ }
\DoxyCodeLine{00070\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a88f4f57d443e2b7664e75e57a29dfbf0}{setDataType}}(const\ std::\textcolor{keywordtype}{string}\&\ dataType);}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00076\ \ \ \ \ [[nodiscard]]\ const\ std::vector<std::\textcolor{keywordtype}{size\_t}>\&\ \mbox{\hyperlink{class_metadata_a412c0c0b8754d85f9edbbdcd637f3b20}{getDimensions}}()\ const\ noexcept;}
\DoxyCodeLine{00077\ }
\DoxyCodeLine{00082\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_af5264d1666839e69c192b565b5cfa606}{setDimensions}}(const\ std::vector<std::\textcolor{keywordtype}{size\_t}>\&\ dimensions);}
\DoxyCodeLine{00083\ }
\DoxyCodeLine{00088\ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_metadata_abe52c81e04665628666b4140cd346b69}{isDebugEnabled}}()\ const\ noexcept;}
\DoxyCodeLine{00089\ }
\DoxyCodeLine{00094\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a365c4594ad65c3b10b40a1cf4f4aea26}{setDebugEnabled}}(\textcolor{keywordtype}{bool}\ debugFlag)\ noexcept;}
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00103\ \ \ \ \ friend\ std::ostream\&\ operator<<(std::ostream\&\ os,\ const\ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}\&\ metadata);}
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00105\ private:}
\DoxyCodeLine{00106\ \ \ \ \ std::\textcolor{keywordtype}{size\_t}\ byteSize\_\ =\ 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00107\ \ \ \ \ std::\textcolor{keywordtype}{string}\ dataType\_;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00108\ \ \ \ \ std::vector<std::\textcolor{keywordtype}{size\_t}>\ dimensions\_;\ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00109\ \ \ \ \ \textcolor{keywordtype}{bool}\ debugFlag\_\ =\ false;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00110\ \};}
\DoxyCodeLine{00111\ }
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ METADATA\_H}}

\end{DoxyCode}
