\hypertarget{vptr_8h_source}{}\doxysection{vptr.\+h}
\label{vptr_8h_source}\index{include/toolbox/vptr.h@{include/toolbox/vptr.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{preprocessor}{\#ifndef TOOLBOX\_VPTR\_H}}
\DoxyCodeLine{2 \textcolor{preprocessor}{\#define TOOLBOX\_VPTR\_H}}
\DoxyCodeLine{3 }
\DoxyCodeLine{4 \textcolor{preprocessor}{\#include <stdbool.h>}}
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <stddef.h>}}
\DoxyCodeLine{6 }
\DoxyCodeLine{7 \textcolor{preprocessor}{\#ifdef TOOLBOX\_TYPEDEF}}
\DoxyCodeLine{8 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structvptr}{vptr}} vptr\_st;}
\DoxyCodeLine{9 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{10 }
\DoxyCodeLine{11 \textcolor{keyword}{struct }\mbox{\hyperlink{structvptr}{vptr}} \{}
\DoxyCodeLine{12     \textcolor{keywordtype}{size\_t} size;}
\DoxyCodeLine{13     \textcolor{keywordtype}{void} *data;}
\DoxyCodeLine{14 \};}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 \_\_attribute\_\_((\_\_pure\_\_))}
\DoxyCodeLine{17 \textcolor{keywordtype}{bool}}
\DoxyCodeLine{18 vptr\_equal(\textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structvptr}{vptr}} *restrict r\_p\_vptr1}
\DoxyCodeLine{19            , \textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structvptr}{vptr}} *restrict r\_p\_vptr2);}
\DoxyCodeLine{20 }
\DoxyCodeLine{21 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
