\doxysection{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference} \hypertarget{classutils_1_1ThreadSafeQueue}{}\label{classutils_1_1ThreadSafeQueue}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} {\ttfamily \#include $<$Thread\+Safe\+Queue.\+hh$>$} Collaboration diagram for utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=231pt]{classutils_1_1ThreadSafeQueue__coll__graph} \end{center} \end{figure} \doxysubsubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push}} (T value) \item T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop}} () \end{DoxyCompactItemize} \doxysubsubsection*{Private Attributes} \begin{DoxyCompactItemize} \item std\+::queue$<$ T $>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}} \item std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}} \item std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}} \end{DoxyCompactItemize} \doxysubsection{Member Function Documentation} \Hypertarget{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!push@{push}} \index{push@{push}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} \doxysubsubsection{\texorpdfstring{push()}{push()}} {\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33} template$<$typename T$>$ \\ void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::push (\begin{DoxyParamCaption}\item[{T}]{value}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. \Hypertarget{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!wait\_and\_pop@{wait\_and\_pop}} \index{wait\_and\_pop@{wait\_and\_pop}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} \doxysubsubsection{\texorpdfstring{wait\_and\_pop()}{wait\_and\_pop()}} {\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b} template$<$typename T$>$ \\ T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::wait\+\_\+and\+\_\+pop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. \doxysubsection{Member Data Documentation} \Hypertarget{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_cv@{\_cv}} \index{\_cv@{\_cv}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} \doxysubsubsection{\texorpdfstring{\_cv}{\_cv}} {\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e} template$<$typename T$>$ \\ std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+cv\hspace{0.3cm}{\ttfamily [private]}} Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. \Hypertarget{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_mutex@{\_mutex}} \index{\_mutex@{\_mutex}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} \doxysubsubsection{\texorpdfstring{\_mutex}{\_mutex}} {\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b} template$<$typename T$>$ \\ std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. \Hypertarget{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_queue@{\_queue}} \index{\_queue@{\_queue}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} \doxysubsubsection{\texorpdfstring{\_queue}{\_queue}} {\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee} template$<$typename T$>$ \\ std\+::queue$<$T$>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}} Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item include/utils/\mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}}\end{DoxyCompactItemize}