\doxysection{Defs.\+hpp}
\hypertarget{Defs_8hpp_source}{}\label{Defs_8hpp_source}\index{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/Defs.hpp@{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/Defs.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#ifndef\ GYM\_PCB\_DEFS\_H}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#define\ GYM\_PCB\_DEFS\_H}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <cstdint>}}
\DoxyCodeLine{00006\ }
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#ifdef\ GYM\_PCB\_NO\_STDFORMAT}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ <fmt/format.h>}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <format>}}
\DoxyCodeLine{00011\ \textcolor{keyword}{namespace\ }fmt\ \{\ \textcolor{keyword}{using\ }std::format;\ \}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00013\ }
\DoxyCodeLine{00014\ \textcolor{keyword}{using\ }Real\ =\ double;}
\DoxyCodeLine{00015\ \textcolor{keyword}{using\ }uint\ =\ \textcolor{keywordtype}{unsigned}\ int;}
\DoxyCodeLine{00016\ }
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#define\ std\_08x\ std::hex\ <<\ std::setw(8)\ <<\ std::setfill('0')}}
\DoxyCodeLine{00018\ }
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#define\ PEDANTIC(args...)\ args}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#define\ WITH\_LOCK(a,\ b)\ do\ \{\ std::lock\_guard\ \_lock((a)-\/>getLock());\ b;\ \}\ while(0)}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#define\ WITH\_RLOCK(a,\ b)\ do\ \{\ std::shared\_lock\ \_lock((a)-\/>getLock());\ b;\ \}\ while(0)}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#define\ WITH\_WLOCK(a,\ b)\ do\ \{\ std::unique\_lock\ \_lock((a)-\/>getLock());\ b;\ \}\ while(0)}}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ GYM\_PCB\_DEFS\_H}}

\end{DoxyCode}
