\hypertarget{Types_8h}{\section{trunk/bwapi/\-Util/\-Source/\-Util/\-Types.h \-File \-Reference}
\label{Types_8h}\index{trunk/bwapi/\-Util/\-Source/\-Util/\-Types.\-h@{trunk/bwapi/\-Util/\-Source/\-Util/\-Types.\-h}}
}
{\ttfamily \#include $<$cstdio$>$}\*
\-Include dependency graph for \-Types.\-h\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=254pt]{Types_8h__incl}
\end{center}
\end{figure}
\-This graph shows which files directly or indirectly include this file\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{Types_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{\-Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct____rect}{\-\_\-\-\_\-rect}
\item 
struct \hyperlink{struct__CTASSERT_3_01true_01_4}{\-\_\-\-C\-T\-A\-S\-S\-E\-R\-T$<$ true $>$}
\end{DoxyCompactItemize}
\subsection*{\-Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{Types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}{\-N\-U\-L\-L}~0
\item 
\#define \hyperlink{Types_8h_a511d6d47d499b1915262899d5e0dbd0a}{ever}~(;;)
\item 
\#define \hyperlink{Types_8h_a6bb5065e4b7e0f4ed5dc9ea4e03f1d17}{vstretchyprintf}(buff, fmt)
\item 
\#define \hyperlink{Types_8h_ae7c9b6b62e12b4446db6eef06f4824e3}{\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O}~\-M\-B\-\_\-\-I\-C\-O\-N\-A\-S\-T\-E\-R\-I\-S\-K
\item 
\#define \hyperlink{Types_8h_a906da679170e26ad50180a4ada32fce2}{\-Mem\-Zero}(\hyperlink{Detours_8h_aea72dea2d265251bf7d417d17b1add4e}{x})~memset(\&\hyperlink{Detours_8h_aea72dea2d265251bf7d417d17b1add4e}{x}, 0, sizeof(\hyperlink{Detours_8h_aea72dea2d265251bf7d417d17b1add4e}{x}))
\item 
\#define \hyperlink{Types_8h_a8821cdb56135e0c0b55669242856d15a}{\-C\-T\-A\-S\-S\-E\-R\-T}(\hyperlink{Detours_8h_aea72dea2d265251bf7d417d17b1add4e}{x})~extern const \-\_\-\-C\-T\-A\-S\-S\-E\-R\-T$<$ (bool)(\hyperlink{Detours_8h_aea72dea2d265251bf7d417d17b1add4e}{x}) $>$ \-I\-Used\-To\-Static\-Assert\-\_\-\-Then\-I\-Took\-An\-Arrow\-In\-The\-Knee
\end{DoxyCompactItemize}
\subsection*{\-Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef unsigned char \hyperlink{Types_8h_aed742c436da53c1080638ce6ef7d13de}{u8}
\item 
typedef signed char \hyperlink{Types_8h_a151f780fb455885061d3b77ec1c90c03}{s8}
\item 
typedef unsigned short \hyperlink{Types_8h_a9e6c91d77e24643b888dbd1a1a590054}{u16}
\item 
typedef signed short \hyperlink{Types_8h_a5ffa4f640862b25ba6d4f635b78bdbe1}{s16}
\item 
typedef unsigned \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} \hyperlink{Types_8h_a10e94b422ef0c20dcdec20d31a1f5049}{u32}
\item 
typedef signed \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} \hyperlink{Types_8h_a0ce6887c26c1c49ad3be5710dd42bfd6}{s32}
\item 
typedef unsigned long long \hyperlink{Types_8h_ad758b7a5c3f18ed79d2fcd23d9f16357}{u64}
\item 
typedef signed long long \hyperlink{Types_8h_a4258bfb2c3a440d06c4aaa3c2b450dde}{s64}
\item 
typedef unsigned \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} \hyperlink{Types_8h_a91ad9478d81a7aaf2593e8d9c3d06a14}{uint}
\item 
typedef \hyperlink{NewHackUtil_8h_ab64accf39cd9947d51611c16fd76f69a}{u8} \hyperlink{Types_8h_a5681e3cb18daf8dedc9e82191cd4ba55}{\-\_\-\-U\-N\-K\-N\-O\-W\-N}
\item 
typedef unsigned char \hyperlink{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\-B\-Y\-T\-E}
\item 
typedef unsigned short \hyperlink{Types_8h_a197942eefa7db30960ae396d68339b97}{\-W\-O\-R\-D}
\item 
typedef unsigned long \hyperlink{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\-D\-W\-O\-R\-D}
\item 
typedef void $\ast$ \hyperlink{Types_8h_a2b5e00c0c5a5aa5199ba9f28ec3e8caa}{\-P\-V\-O\-I\-D}
\item 
typedef \hyperlink{Detours_8h_ab5a791e918b09a41addbf5b813175633}{int} \hyperlink{Types_8h_a3e5b8192e7d9ffaf3542f1210aec18dd}{\-B\-O\-O\-L}
\item 
typedef void $\ast$ \hyperlink{Types_8h_a481f1a7d70e30f2c25af8d47e82c81b1}{\-H\-A\-N\-D\-L\-E}
\item 
typedef struct \hyperlink{struct____rect}{\-\_\-\-\_\-rect} \hyperlink{Types_8h_af36b04a31ccd1c27c597a2ef9d527478}{rect}
\end{DoxyCompactItemize}


\subsection{\-Define \-Documentation}
\hypertarget{Types_8h_a8821cdb56135e0c0b55669242856d15a}{\index{\-Types.\-h@{\-Types.\-h}!\-C\-T\-A\-S\-S\-E\-R\-T@{\-C\-T\-A\-S\-S\-E\-R\-T}}
\index{\-C\-T\-A\-S\-S\-E\-R\-T@{\-C\-T\-A\-S\-S\-E\-R\-T}!Types.h@{\-Types.\-h}}
\subsubsection[{\-C\-T\-A\-S\-S\-E\-R\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-C\-T\-A\-S\-S\-E\-R\-T}(
\begin{DoxyParamCaption}
\item[{}]{{\bf x}}
\end{DoxyParamCaption}
)~extern const \-\_\-\-C\-T\-A\-S\-S\-E\-R\-T$<$ (bool)({\bf x}) $>$ \-I\-Used\-To\-Static\-Assert\-\_\-\-Then\-I\-Took\-An\-Arrow\-In\-The\-Knee}}\label{Types_8h_a8821cdb56135e0c0b55669242856d15a}
\hypertarget{Types_8h_a511d6d47d499b1915262899d5e0dbd0a}{\index{\-Types.\-h@{\-Types.\-h}!ever@{ever}}
\index{ever@{ever}!Types.h@{\-Types.\-h}}
\subsubsection[{ever}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf ever}~(;;)}}\label{Types_8h_a511d6d47d499b1915262899d5e0dbd0a}
\hypertarget{Types_8h_ae7c9b6b62e12b4446db6eef06f4824e3}{\index{\-Types.\-h@{\-Types.\-h}!\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O@{\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O}}
\index{\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O@{\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O}!Types.h@{\-Types.\-h}}
\subsubsection[{\-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-M\-B\-\_\-\-I\-C\-O\-N\-I\-N\-F\-O}~\-M\-B\-\_\-\-I\-C\-O\-N\-A\-S\-T\-E\-R\-I\-S\-K}}\label{Types_8h_ae7c9b6b62e12b4446db6eef06f4824e3}
\hypertarget{Types_8h_a906da679170e26ad50180a4ada32fce2}{\index{\-Types.\-h@{\-Types.\-h}!\-Mem\-Zero@{\-Mem\-Zero}}
\index{\-Mem\-Zero@{\-Mem\-Zero}!Types.h@{\-Types.\-h}}
\subsubsection[{\-Mem\-Zero}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-Mem\-Zero}(
\begin{DoxyParamCaption}
\item[{}]{{\bf x}}
\end{DoxyParamCaption}
)~memset(\&{\bf x}, 0, sizeof({\bf x}))}}\label{Types_8h_a906da679170e26ad50180a4ada32fce2}
\hypertarget{Types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}{\index{\-Types.\-h@{\-Types.\-h}!\-N\-U\-L\-L@{\-N\-U\-L\-L}}
\index{\-N\-U\-L\-L@{\-N\-U\-L\-L}!Types.h@{\-Types.\-h}}
\subsubsection[{\-N\-U\-L\-L}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf \-N\-U\-L\-L}~0}}\label{Types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}
\hypertarget{Types_8h_a6bb5065e4b7e0f4ed5dc9ea4e03f1d17}{\index{\-Types.\-h@{\-Types.\-h}!vstretchyprintf@{vstretchyprintf}}
\index{vstretchyprintf@{vstretchyprintf}!Types.h@{\-Types.\-h}}
\subsubsection[{vstretchyprintf}]{\setlength{\rightskip}{0pt plus 5cm}\#define {\bf vstretchyprintf}(
\begin{DoxyParamCaption}
\item[{}]{buff, }
\item[{}]{fmt}
\end{DoxyParamCaption}
)}}\label{Types_8h_a6bb5065e4b7e0f4ed5dc9ea4e03f1d17}
{\bfseries \-Value\-:}
\begin{DoxyCode}
{\
  va_list ap;\
  va_start(ap, fmt);\
  int buffsize = _vscprintf(fmt, ap);\
  buff = (char*)malloc(buffsize+1);\
  vsprintf(buff, fmt, ap);\
  va_end(ap);\
}
\end{DoxyCode}


\subsection{\-Typedef \-Documentation}
\hypertarget{Types_8h_a5681e3cb18daf8dedc9e82191cd4ba55}{\index{\-Types.\-h@{\-Types.\-h}!\-\_\-\-U\-N\-K\-N\-O\-W\-N@{\-\_\-\-U\-N\-K\-N\-O\-W\-N}}
\index{\-\_\-\-U\-N\-K\-N\-O\-W\-N@{\-\_\-\-U\-N\-K\-N\-O\-W\-N}!Types.h@{\-Types.\-h}}
\subsubsection[{\-\_\-\-U\-N\-K\-N\-O\-W\-N}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf u8} {\bf \-\_\-\-U\-N\-K\-N\-O\-W\-N}}}\label{Types_8h_a5681e3cb18daf8dedc9e82191cd4ba55}
\hypertarget{Types_8h_a3e5b8192e7d9ffaf3542f1210aec18dd}{\index{\-Types.\-h@{\-Types.\-h}!\-B\-O\-O\-L@{\-B\-O\-O\-L}}
\index{\-B\-O\-O\-L@{\-B\-O\-O\-L}!Types.h@{\-Types.\-h}}
\subsubsection[{\-B\-O\-O\-L}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-O\-O\-L}}}\label{Types_8h_a3e5b8192e7d9ffaf3542f1210aec18dd}
\hypertarget{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}{\index{\-Types.\-h@{\-Types.\-h}!\-B\-Y\-T\-E@{\-B\-Y\-T\-E}}
\index{\-B\-Y\-T\-E@{\-B\-Y\-T\-E}!Types.h@{\-Types.\-h}}
\subsubsection[{\-B\-Y\-T\-E}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned char {\bf \-B\-Y\-T\-E}}}\label{Types_8h_a4ae1dab0fb4b072a66584546209e7d58}
\hypertarget{Types_8h_a8aec363bdef0c755693c97d1757e8642}{\index{\-Types.\-h@{\-Types.\-h}!\-D\-W\-O\-R\-D@{\-D\-W\-O\-R\-D}}
\index{\-D\-W\-O\-R\-D@{\-D\-W\-O\-R\-D}!Types.h@{\-Types.\-h}}
\subsubsection[{\-D\-W\-O\-R\-D}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-D\-W\-O\-R\-D}}}\label{Types_8h_a8aec363bdef0c755693c97d1757e8642}
\hypertarget{Types_8h_a481f1a7d70e30f2c25af8d47e82c81b1}{\index{\-Types.\-h@{\-Types.\-h}!\-H\-A\-N\-D\-L\-E@{\-H\-A\-N\-D\-L\-E}}
\index{\-H\-A\-N\-D\-L\-E@{\-H\-A\-N\-D\-L\-E}!Types.h@{\-Types.\-h}}
\subsubsection[{\-H\-A\-N\-D\-L\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-H\-A\-N\-D\-L\-E}}}\label{Types_8h_a481f1a7d70e30f2c25af8d47e82c81b1}
\hypertarget{Types_8h_a2b5e00c0c5a5aa5199ba9f28ec3e8caa}{\index{\-Types.\-h@{\-Types.\-h}!\-P\-V\-O\-I\-D@{\-P\-V\-O\-I\-D}}
\index{\-P\-V\-O\-I\-D@{\-P\-V\-O\-I\-D}!Types.h@{\-Types.\-h}}
\subsubsection[{\-P\-V\-O\-I\-D}]{\setlength{\rightskip}{0pt plus 5cm}typedef void$\ast$ {\bf \-P\-V\-O\-I\-D}}}\label{Types_8h_a2b5e00c0c5a5aa5199ba9f28ec3e8caa}
\hypertarget{Types_8h_af36b04a31ccd1c27c597a2ef9d527478}{\index{\-Types.\-h@{\-Types.\-h}!rect@{rect}}
\index{rect@{rect}!Types.h@{\-Types.\-h}}
\subsubsection[{rect}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \-\_\-\-\_\-rect}  {\bf rect}}}\label{Types_8h_af36b04a31ccd1c27c597a2ef9d527478}
\hypertarget{Types_8h_a5ffa4f640862b25ba6d4f635b78bdbe1}{\index{\-Types.\-h@{\-Types.\-h}!s16@{s16}}
\index{s16@{s16}!Types.h@{\-Types.\-h}}
\subsubsection[{s16}]{\setlength{\rightskip}{0pt plus 5cm}typedef signed short {\bf s16}}}\label{Types_8h_a5ffa4f640862b25ba6d4f635b78bdbe1}
\hypertarget{Types_8h_a0ce6887c26c1c49ad3be5710dd42bfd6}{\index{\-Types.\-h@{\-Types.\-h}!s32@{s32}}
\index{s32@{s32}!Types.h@{\-Types.\-h}}
\subsubsection[{s32}]{\setlength{\rightskip}{0pt plus 5cm}typedef signed {\bf int} {\bf s32}}}\label{Types_8h_a0ce6887c26c1c49ad3be5710dd42bfd6}
\hypertarget{Types_8h_a4258bfb2c3a440d06c4aaa3c2b450dde}{\index{\-Types.\-h@{\-Types.\-h}!s64@{s64}}
\index{s64@{s64}!Types.h@{\-Types.\-h}}
\subsubsection[{s64}]{\setlength{\rightskip}{0pt plus 5cm}typedef signed long long {\bf s64}}}\label{Types_8h_a4258bfb2c3a440d06c4aaa3c2b450dde}
\hypertarget{Types_8h_a151f780fb455885061d3b77ec1c90c03}{\index{\-Types.\-h@{\-Types.\-h}!s8@{s8}}
\index{s8@{s8}!Types.h@{\-Types.\-h}}
\subsubsection[{s8}]{\setlength{\rightskip}{0pt plus 5cm}typedef signed char {\bf s8}}}\label{Types_8h_a151f780fb455885061d3b77ec1c90c03}
\hypertarget{Types_8h_a9e6c91d77e24643b888dbd1a1a590054}{\index{\-Types.\-h@{\-Types.\-h}!u16@{u16}}
\index{u16@{u16}!Types.h@{\-Types.\-h}}
\subsubsection[{u16}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned short {\bf u16}}}\label{Types_8h_a9e6c91d77e24643b888dbd1a1a590054}
\hypertarget{Types_8h_a10e94b422ef0c20dcdec20d31a1f5049}{\index{\-Types.\-h@{\-Types.\-h}!u32@{u32}}
\index{u32@{u32}!Types.h@{\-Types.\-h}}
\subsubsection[{u32}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned {\bf int} {\bf u32}}}\label{Types_8h_a10e94b422ef0c20dcdec20d31a1f5049}
\hypertarget{Types_8h_ad758b7a5c3f18ed79d2fcd23d9f16357}{\index{\-Types.\-h@{\-Types.\-h}!u64@{u64}}
\index{u64@{u64}!Types.h@{\-Types.\-h}}
\subsubsection[{u64}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long long {\bf u64}}}\label{Types_8h_ad758b7a5c3f18ed79d2fcd23d9f16357}
\hypertarget{Types_8h_aed742c436da53c1080638ce6ef7d13de}{\index{\-Types.\-h@{\-Types.\-h}!u8@{u8}}
\index{u8@{u8}!Types.h@{\-Types.\-h}}
\subsubsection[{u8}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned char {\bf u8}}}\label{Types_8h_aed742c436da53c1080638ce6ef7d13de}
\hypertarget{Types_8h_a91ad9478d81a7aaf2593e8d9c3d06a14}{\index{\-Types.\-h@{\-Types.\-h}!uint@{uint}}
\index{uint@{uint}!Types.h@{\-Types.\-h}}
\subsubsection[{uint}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned {\bf int} {\bf uint}}}\label{Types_8h_a91ad9478d81a7aaf2593e8d9c3d06a14}
\hypertarget{Types_8h_a197942eefa7db30960ae396d68339b97}{\index{\-Types.\-h@{\-Types.\-h}!\-W\-O\-R\-D@{\-W\-O\-R\-D}}
\index{\-W\-O\-R\-D@{\-W\-O\-R\-D}!Types.h@{\-Types.\-h}}
\subsubsection[{\-W\-O\-R\-D}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned short {\bf \-W\-O\-R\-D}}}\label{Types_8h_a197942eefa7db30960ae396d68339b97}
