\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\ }} \DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00031}00031\ \textcolor{preprocessor}{\#include\ }} \DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00032}00032\ \textcolor{preprocessor}{\#include\ }} \DoxyCodeLine{\Hypertarget{_metadata_8h_source_l00033}00033\ \textcolor{preprocessor}{\#include\ }} \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\ 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\&\ \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\&\ 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\ \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}