\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{\Hypertarget{_metadata_8h_source_l00001}00001\ \textcolor{comment}{/*\ ***********************************************************************}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00002}00002\ \textcolor{comment}{//}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00003}00003\ \textcolor{comment}{//\ \ \ Copyright\ (C)\ 2025\ -\/-\/\ The\ 4D-\/STAR\ Collaboration}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00004}00004\ \textcolor{comment}{//\ \ \ File\ Author:\ Emily\ Boudreaux}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00005}00005\ \textcolor{comment}{//\ \ \ Last\ Modified:\ March\ 17,\ 2025}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00006}00006\ \textcolor{comment}{//}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00007}00007\ \textcolor{comment}{//\ \ \ 4DSSE\ is\ free\ software;\ you\ can\ use\ it\ and/or\ modify}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00008}00008\ \textcolor{comment}{//\ \ \ it\ under\ the\ terms\ and\ restrictions\ the\ GNU\ General\ Library\ Public}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00009}00009\ \textcolor{comment}{//\ \ \ License\ version\ 3\ (GPLv3)\ as\ published\ by\ the\ Free\ Software\ Foundation.}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00010}00010\ \textcolor{comment}{//}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00011}00011\ \textcolor{comment}{//\ \ \ 4DSSE\ is\ distributed\ in\ the\ hope\ that\ it\ will\ be\ useful,}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00012}00012\ \textcolor{comment}{//\ \ \ but\ WITHOUT\ ANY\ WARRANTY;\ without\ even\ the\ implied\ warranty\ of}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00013}00013\ \textcolor{comment}{//\ \ \ MERCHANTABILITY\ or\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE.}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00014}00014\ \textcolor{comment}{//\ \ \ See\ the\ GNU\ Library\ General\ Public\ License\ for\ more\ details.}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00015}00015\ \textcolor{comment}{//}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00016}00016\ \textcolor{comment}{//\ \ \ You\ should\ have\ received\ a\ copy\ of\ the\ GNU\ Library\ General\ Public\ License}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00017}00017\ \textcolor{comment}{//\ \ \ along\ with\ this\ software;\ if\ not,\ write\ to\ the\ Free\ Software}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00018}00018\ \textcolor{comment}{//\ \ \ Foundation,\ Inc.,\ 59\ Temple\ Place,\ Suite\ 330,\ Boston,\ MA\ 02111-\/1307\ USA}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00019}00019\ \textcolor{comment}{//}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00020}00020\ \textcolor{comment}{//\ ***********************************************************************\ */}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00021}00021\ \textcolor{preprocessor}{\#ifndef\ METADATA\_H}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00022}00022\ \textcolor{preprocessor}{\#define\ METADATA\_H}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00023}00023\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00024}00024\ \textcolor{preprocessor}{\#if\ defined(\_\_APPLE\_\_)\ ||\ defined(\_\_linux\_\_)}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00025}00025\ \textcolor{preprocessor}{\#define\ EXPORT\_SYMBOL\ \_\_attribute\_\_((visibility("{}default"{})))}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00026}00026\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00027}\mbox{\hyperlink{_metadata_8h_ab57c319c35ea0fbacf781f2ecb3a4339}{00027}}\ \textcolor{preprocessor}{\#define\ EXPORT\_SYMBOL}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00028}00028\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00029}00029\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00030}00030\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00031}00031\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00032}00032\ \textcolor{preprocessor}{\#include\ <cstddef>}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00033}00033\ \textcolor{preprocessor}{\#include\ <iostream>}}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00042}00042\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00051}\mbox{\hyperlink{class_metadata}{00051}}\ \textcolor{keyword}{class\ }\mbox{\hyperlink{_metadata_8h_ab57c319c35ea0fbacf781f2ecb3a4339}{EXPORT\_SYMBOL}}\ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}\ \{}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00052}00052\ \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00056}\mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{00056}}\ \ \ \ \ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}()\ =\ \textcolor{keywordflow}{default};}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00057}00057\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00066}00066\ \ \ \ \ \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{\Hypertarget{_metadata_8h_source_l00067}00067\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00072}00072\ \ \ \ \ [[nodiscard]]\ std::size\_t\ \mbox{\hyperlink{class_metadata_ac7980d1efdd6ae434f0115f83d08348e}{getByteSize}}()\ const\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00073}00073\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00078}00078\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a07035de7b0c780ef340e1a11c60a4d2b}{setByteSize}}(std::\textcolor{keywordtype}{size\_t}\ byteSize)\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00079}00079\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00084}00084\ \ \ \ \ [[nodiscard]]\ const\ std::\textcolor{keywordtype}{string}\&\ \mbox{\hyperlink{class_metadata_aeed7f22ccc61d9a3d6425441d381dcdc}{getDataType}}()\ const\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00085}00085\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00090}00090\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a88f4f57d443e2b7664e75e57a29dfbf0}{setDataType}}(const\ std::\textcolor{keywordtype}{string}\&\ dataType);}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00091}00091\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00096}00096\ \ \ \ \ [[nodiscard]]\ const\ std::vector<std::\textcolor{keywordtype}{size\_t}>\&\ \mbox{\hyperlink{class_metadata_a412c0c0b8754d85f9edbbdcd637f3b20}{getDimensions}}()\ const\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00097}00097\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00102}00102\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_af5264d1666839e69c192b565b5cfa606}{setDimensions}}(const\ std::vector<std::\textcolor{keywordtype}{size\_t}>\&\ dimensions);}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00103}00103\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00108}00108\ \ \ \ \ [[nodiscard]]\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_metadata_abe52c81e04665628666b4140cd346b69}{isDebugEnabled}}()\ const\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00109}00109\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00114}00114\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{class_metadata_a365c4594ad65c3b10b40a1cf4f4aea26}{setDebugEnabled}}(\textcolor{keywordtype}{bool}\ debugFlag)\ noexcept;}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00115}00115\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00123}00123\ \ \ \ \ friend\ std::ostream\&\ operator<<(std::ostream\&\ os,\ const\ \mbox{\hyperlink{class_metadata_ae849560667461008cb72e83919c20be0}{Metadata}}\&\ metadata);}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00124}00124\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00125}00125\ private:}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00126}\mbox{\hyperlink{class_metadata_ac73a509797c98c0d52fb32e1f93e38bc}{00126}}\ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{class_metadata_ac73a509797c98c0d52fb32e1f93e38bc}{byteSize\_}}\ =\ 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00127}\mbox{\hyperlink{class_metadata_a290205e5f46416dd0f48bd6ff62888ac}{00127}}\ \ \ \ \ std::\textcolor{keywordtype}{string}\ \mbox{\hyperlink{class_metadata_a290205e5f46416dd0f48bd6ff62888ac}{dataType\_}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00128}\mbox{\hyperlink{class_metadata_a163f74d4ef9ecd13a34e7e9cab2e21ce}{00128}}\ \ \ \ \ std::vector<std::\textcolor{keywordtype}{size\_t}>\ \mbox{\hyperlink{class_metadata_a163f74d4ef9ecd13a34e7e9cab2e21ce}{dimensions\_}};\ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00129}\mbox{\hyperlink{class_metadata_a65fd506f1bd41699d9cd19bc0dfc9701}{00129}}\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{class_metadata_a65fd506f1bd41699d9cd19bc0dfc9701}{debugFlag\_}}\ =\ false;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00130}00130\ \};}
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00131}00131\ }
\DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00132}00132\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ METADATA\_H}}

\end{DoxyCode}
