\hypertarget{namespace_threading_prototype}{\section{Threading\-Prototype Namespace Reference}
\label{namespace_threading_prototype}\index{Threading\-Prototype@{Threading\-Prototype}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_threading_prototype_1_1_unit}{Unit}
\item 
class \hyperlink{class_threading_prototype_1_1_work_unit_producer}{Work\-Unit\-Producer}
\item 
class \hyperlink{class_threading_prototype_1_1_work_unit_consumer}{Work\-Unit\-Consumer}
\item 
class \hyperlink{class_threading_prototype_1_1_work_unit_producer2}{Work\-Unit\-Producer2}
\item 
class \hyperlink{class_threading_prototype_1_1_work_unit_consumer2}{Work\-Unit\-Consumer2}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef boost\-::shared\-\_\-ptr$<$ \hyperlink{struct_threading_prototype_1_1_unit}{Unit} $>$ \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr}
\item 
typedef std\-::queue$<$ \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} $>$ \hyperlink{namespace_threading_prototype_ae4f9be24d90e260f28a57a911c39bc98}{Work\-Queue}
\item 
typedef std\-::list$<$ \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} $>$ \hyperlink{namespace_threading_prototype_a49929da290292f91da027c59c9919a28}{Waiting\-List}
\item 
typedef std\-::list$<$ \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} $>$ \hyperlink{namespace_threading_prototype_ad2354488e5c782fc1dd252391cbf0e1d}{Done\-List}
\item 
typedef boost\-::mutex \hyperlink{namespace_threading_prototype_a82190a5c38336b590fc82a18da0ae8a5}{Mutex}
\item 
typedef \\*
boost\-::lockfree\-::spsc\-\_\-queue\\*
$<$ \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} $>$ \hyperlink{namespace_threading_prototype_acfabe4e3778f39882c98237dbed753c8}{Work\-Queue2}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{namespace_threading_prototype_aed3b8c8981aace6de462f4e0ce0e664d}{operator$<$} (const \hyperlink{struct_threading_prototype_1_1_unit}{Unit} \&lhs, const \hyperlink{struct_threading_prototype_1_1_unit}{Unit} \&rhs)
\item 
bool \hyperlink{namespace_threading_prototype_a57058498d3ac3d55806def67e367aac9}{operator$<$} (const \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} \&lhs, const \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} \&rhs)
\item 
std\-::ostream \& \hyperlink{namespace_threading_prototype_a20fa43c04c520e9ccf9fbca04a0045db}{operator$<$$<$} (std\-::ostream \&o, const \hyperlink{struct_threading_prototype_1_1_unit}{Unit} \&u)
\item 
\hyperlink{class_s_c_i_run_1_1_core_1_1_logging_1_1_log_1_1_stream}{Log\-::\-Stream} \& \hyperlink{namespace_threading_prototype_a6f39582d34904d22ed1515032f26b95e}{operator$<$$<$} (\hyperlink{class_s_c_i_run_1_1_core_1_1_logging_1_1_log_1_1_stream}{Log\-::\-Stream} \&o, const \hyperlink{struct_threading_prototype_1_1_unit}{Unit} \&u)
\item 
\hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} \hyperlink{namespace_threading_prototype_acef81d0772024c195bd49bedf8d7751d}{make\-Unit} ()
\item 
std\-::ostream \& \hyperlink{namespace_threading_prototype_ac7cd17a7a6f426b56668d946a7be4698}{operator$<$$<$} (std\-::ostream \&o, const \hyperlink{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{Unit\-Ptr} \&u)
\item 
\hyperlink{namespace_threading_prototype_a3d0b9fbbb867433db379777003d8c21e}{T\-E\-S\-T} (Multi\-Executor\-Prototype\-Test, Generate\-List\-Of\-Units)
\item 
\hyperlink{namespace_threading_prototype_a5f40ded85abfef9999f6bb60615284de}{T\-E\-S\-T} (Multi\-Executor\-Prototype\-Test, D\-I\-S\-A\-B\-L\-E\-D\-\_\-\-Run1)
\item 
\hyperlink{namespace_threading_prototype_a2c6222c836317d3a23a861aee651464a}{T\-E\-S\-T} (Multi\-Executor\-Prototype\-Test, D\-I\-S\-A\-B\-L\-E\-D\-\_\-\-Run2)
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{namespace_threading_prototype_ad2354488e5c782fc1dd252391cbf0e1d}{\index{Threading\-Prototype@{Threading\-Prototype}!Done\-List@{Done\-List}}
\index{Done\-List@{Done\-List}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Done\-List}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\-::list$<${\bf Unit\-Ptr}$>$ {\bf Done\-List}}}\label{namespace_threading_prototype_ad2354488e5c782fc1dd252391cbf0e1d}
\hypertarget{namespace_threading_prototype_a82190a5c38336b590fc82a18da0ae8a5}{\index{Threading\-Prototype@{Threading\-Prototype}!Mutex@{Mutex}}
\index{Mutex@{Mutex}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Mutex}]{\setlength{\rightskip}{0pt plus 5cm}typedef boost\-::mutex {\bf Mutex}}}\label{namespace_threading_prototype_a82190a5c38336b590fc82a18da0ae8a5}
\hypertarget{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}{\index{Threading\-Prototype@{Threading\-Prototype}!Unit\-Ptr@{Unit\-Ptr}}
\index{Unit\-Ptr@{Unit\-Ptr}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Unit\-Ptr}]{\setlength{\rightskip}{0pt plus 5cm}typedef boost\-::shared\-\_\-ptr$<${\bf Unit}$>$ {\bf Unit\-Ptr}}}\label{namespace_threading_prototype_a25cca5e7b0e3c435b6b9e453d0ab894a}
\hypertarget{namespace_threading_prototype_a49929da290292f91da027c59c9919a28}{\index{Threading\-Prototype@{Threading\-Prototype}!Waiting\-List@{Waiting\-List}}
\index{Waiting\-List@{Waiting\-List}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Waiting\-List}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\-::list$<${\bf Unit\-Ptr}$>$ {\bf Waiting\-List}}}\label{namespace_threading_prototype_a49929da290292f91da027c59c9919a28}
\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000397}{Todo}]\-: will need to be thread-\/safe \end{DoxyRefDesc}
\hypertarget{namespace_threading_prototype_ae4f9be24d90e260f28a57a911c39bc98}{\index{Threading\-Prototype@{Threading\-Prototype}!Work\-Queue@{Work\-Queue}}
\index{Work\-Queue@{Work\-Queue}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Work\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\-::queue$<${\bf Unit\-Ptr}$>$ {\bf Work\-Queue}}}\label{namespace_threading_prototype_ae4f9be24d90e260f28a57a911c39bc98}
\hypertarget{namespace_threading_prototype_acfabe4e3778f39882c98237dbed753c8}{\index{Threading\-Prototype@{Threading\-Prototype}!Work\-Queue2@{Work\-Queue2}}
\index{Work\-Queue2@{Work\-Queue2}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{Work\-Queue2}]{\setlength{\rightskip}{0pt plus 5cm}typedef boost\-::lockfree\-::spsc\-\_\-queue$<${\bf Unit\-Ptr}$>$ {\bf Work\-Queue2}}}\label{namespace_threading_prototype_acfabe4e3778f39882c98237dbed753c8}


\subsection{Function Documentation}
\hypertarget{namespace_threading_prototype_acef81d0772024c195bd49bedf8d7751d}{\index{Threading\-Prototype@{Threading\-Prototype}!make\-Unit@{make\-Unit}}
\index{make\-Unit@{make\-Unit}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{make\-Unit}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Unit\-Ptr} Threading\-Prototype\-::make\-Unit (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_acef81d0772024c195bd49bedf8d7751d}
\hypertarget{namespace_threading_prototype_aed3b8c8981aace6de462f4e0ce0e664d}{\index{Threading\-Prototype@{Threading\-Prototype}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{operator$<$}]{\setlength{\rightskip}{0pt plus 5cm}bool Threading\-Prototype\-::operator$<$ (
\begin{DoxyParamCaption}
\item[{const Unit \&}]{lhs, }
\item[{const Unit \&}]{rhs}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_aed3b8c8981aace6de462f4e0ce0e664d}
\hypertarget{namespace_threading_prototype_a57058498d3ac3d55806def67e367aac9}{\index{Threading\-Prototype@{Threading\-Prototype}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{operator$<$}]{\setlength{\rightskip}{0pt plus 5cm}bool Threading\-Prototype\-::operator$<$ (
\begin{DoxyParamCaption}
\item[{const Unit\-Ptr \&}]{lhs, }
\item[{const Unit\-Ptr \&}]{rhs}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a57058498d3ac3d55806def67e367aac9}
\hypertarget{namespace_threading_prototype_a20fa43c04c520e9ccf9fbca04a0045db}{\index{Threading\-Prototype@{Threading\-Prototype}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& Threading\-Prototype\-::operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{o, }
\item[{const Unit \&}]{u}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a20fa43c04c520e9ccf9fbca04a0045db}
\hypertarget{namespace_threading_prototype_a6f39582d34904d22ed1515032f26b95e}{\index{Threading\-Prototype@{Threading\-Prototype}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Log\-::\-Stream}\& Threading\-Prototype\-::operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{{\bf Log\-::\-Stream} \&}]{o, }
\item[{const Unit \&}]{u}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a6f39582d34904d22ed1515032f26b95e}
\hypertarget{namespace_threading_prototype_ac7cd17a7a6f426b56668d946a7be4698}{\index{Threading\-Prototype@{Threading\-Prototype}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& Threading\-Prototype\-::operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{o, }
\item[{const Unit\-Ptr \&}]{u}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_ac7cd17a7a6f426b56668d946a7be4698}
\hypertarget{namespace_threading_prototype_a3d0b9fbbb867433db379777003d8c21e}{\index{Threading\-Prototype@{Threading\-Prototype}!T\-E\-S\-T@{T\-E\-S\-T}}
\index{T\-E\-S\-T@{T\-E\-S\-T}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{T\-E\-S\-T}]{\setlength{\rightskip}{0pt plus 5cm}Threading\-Prototype\-::\-T\-E\-S\-T (
\begin{DoxyParamCaption}
\item[{Multi\-Executor\-Prototype\-Test}]{, }
\item[{Generate\-List\-Of\-Units}]{}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a3d0b9fbbb867433db379777003d8c21e}
\hypertarget{namespace_threading_prototype_a5f40ded85abfef9999f6bb60615284de}{\index{Threading\-Prototype@{Threading\-Prototype}!T\-E\-S\-T@{T\-E\-S\-T}}
\index{T\-E\-S\-T@{T\-E\-S\-T}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{T\-E\-S\-T}]{\setlength{\rightskip}{0pt plus 5cm}Threading\-Prototype\-::\-T\-E\-S\-T (
\begin{DoxyParamCaption}
\item[{Multi\-Executor\-Prototype\-Test}]{, }
\item[{D\-I\-S\-A\-B\-L\-E\-D\-\_\-\-Run1}]{}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a5f40ded85abfef9999f6bb60615284de}
\hypertarget{namespace_threading_prototype_a2c6222c836317d3a23a861aee651464a}{\index{Threading\-Prototype@{Threading\-Prototype}!T\-E\-S\-T@{T\-E\-S\-T}}
\index{T\-E\-S\-T@{T\-E\-S\-T}!ThreadingPrototype@{Threading\-Prototype}}
\subsubsection[{T\-E\-S\-T}]{\setlength{\rightskip}{0pt plus 5cm}Threading\-Prototype\-::\-T\-E\-S\-T (
\begin{DoxyParamCaption}
\item[{Multi\-Executor\-Prototype\-Test}]{, }
\item[{D\-I\-S\-A\-B\-L\-E\-D\-\_\-\-Run2}]{}
\end{DoxyParamCaption}
)}}\label{namespace_threading_prototype_a2c6222c836317d3a23a861aee651464a}
