提交 9f4c6074 编写于 作者: T Travis CI

Deploy code docs to GitHub Pages Travis build: 334

Commit: 7c21e0b6
上级 d2ab8a73
......@@ -1216,5 +1216,5 @@ Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
lookup cache used 4875/65536 hits=37203 misses=5213
lookup cache used 4875/65536 hits=37207 misses=5213
finished...
......@@ -140,43 +140,46 @@ $(document).ready(function(){initNavTree('sub_thread_queue_in_8hpp_source.html',
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">namespace </span>op</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums, <span class="keyword">typename</span> TWorker, <span class="keyword">typename</span> TQueue&gt;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classop_1_1_sub_thread_queue_in.html#a11aa71a818430c4eb435a1626e54f29a"> 34</a></span>&#160; <a class="code" href="classop_1_1_sub_thread_queue_in.html#a11aa71a818430c4eb435a1626e54f29a">SubThreadQueueIn&lt;TDatums, TWorker, TQueue&gt;::SubThreadQueueIn</a>(<span class="keyword">const</span> std::vector&lt;TWorker&gt;&amp; tWorkers, <span class="keyword">const</span> std::shared_ptr&lt;TQueue&gt;&amp; tQueueIn) :</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classop_1_1_sub_thread.html">SubThread</a>&lt;TDatums, TWorker&gt;{tWorkers},</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc"> 36</a></span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>{tQueueIn}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">// spTQueueIn-&gt;addPopper();</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; }</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums, <span class="keyword">typename</span> TWorker, <span class="keyword">typename</span> TQueue&gt;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classop_1_1_sub_thread_queue_in.html#a7e9bd6ca09bb77a8de76ae8a02ee8ed4">SubThreadQueueIn&lt;TDatums, TWorker, TQueue&gt;::work</a>()</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Pop TDatums</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; TDatums tDatums;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">bool</span> queueIsRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;tryPop(tDatums);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Check queue not empty</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (!queueIsRunning)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; queueIsRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;isRunning();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Process TDatums</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> workersAreRunning = this-&gt;workTWorkers(tDatums, queueIsRunning);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// Close queue input if all workers closed</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> (!workersAreRunning)</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> workersAreRunning;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueIn);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classop_1_1_sub_thread_queue_in.html#a11aa71a818430c4eb435a1626e54f29a"> 34</a></span>&#160; <a class="code" href="classop_1_1_sub_thread_queue_in.html#a11aa71a818430c4eb435a1626e54f29a">SubThreadQueueIn&lt;TDatums, TWorker, TQueue&gt;::SubThreadQueueIn</a>(<span class="keyword">const</span> std::vector&lt;TWorker&gt;&amp; tWorkers,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">const</span> std::shared_ptr&lt;TQueue&gt;&amp; tQueueIn) :</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classop_1_1_sub_thread.html">SubThread</a>&lt;TDatums, TWorker&gt;{tWorkers},</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc"> 37</a></span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>{tQueueIn}</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="comment">// spTQueueIn-&gt;addPopper();</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; }</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums, <span class="keyword">typename</span> TWorker, <span class="keyword">typename</span> TQueue&gt;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classop_1_1_sub_thread_queue_in.html#a7e9bd6ca09bb77a8de76ae8a02ee8ed4">SubThreadQueueIn&lt;TDatums, TWorker, TQueue&gt;::work</a>()</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// Pop TDatums</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;empty())</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::this_thread::sleep_for(std::chrono::microseconds{100});</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; TDatums tDatums;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">bool</span> queueIsRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;tryPop(tDatums);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Check queue not empty</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> (!queueIsRunning)</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; queueIsRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;isRunning();</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Process TDatums</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> workersAreRunning = this-&gt;workTWorkers(tDatums, queueIsRunning);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// Close queue input if all workers closed</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">if</span> (!workersAreRunning)</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> workersAreRunning;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_IN_HPP</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueIn);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;}</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_IN_HPP</span></div>
<div class="ttc" id="classop_1_1_sub_thread_html"><div class="ttname"><a href="classop_1_1_sub_thread.html">op::SubThread</a></div><div class="ttdef"><b>Definition:</b> subThread.hpp:10</div></div>
<div class="ttc" id="classop_1_1_sub_thread_queue_in_html_a7e9bd6ca09bb77a8de76ae8a02ee8ed4"><div class="ttname"><a href="classop_1_1_sub_thread_queue_in.html#a7e9bd6ca09bb77a8de76ae8a02ee8ed4">op::SubThreadQueueIn::work</a></div><div class="ttdeci">bool work()</div></div>
<div class="ttc" id="classop_1_1_sub_thread_queue_in_html_a11aa71a818430c4eb435a1626e54f29a"><div class="ttname"><a href="classop_1_1_sub_thread_queue_in.html#a11aa71a818430c4eb435a1626e54f29a">op::SubThreadQueueIn::SubThreadQueueIn</a></div><div class="ttdeci">SubThreadQueueIn(const std::vector&lt; TWorker &gt; &amp;tWorkers, const std::shared_ptr&lt; TQueue &gt; &amp;tQueueIn)</div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:34</div></div>
......@@ -184,7 +187,7 @@ $(document).ready(function(){initNavTree('sub_thread_queue_in_8hpp_source.html',
<div class="ttc" id="namespaceop_html_a5f092bd36c716a894cb035e1ead2aca3"><div class="ttname"><a href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">op::error</a></div><div class="ttdeci">OP_API void error(const std::string &amp;message, const int line=-1, const std::string &amp;function=&quot;&quot;, const std::string &amp;file=&quot;&quot;)</div></div>
<div class="ttc" id="thread_8hpp_html"><div class="ttname"><a href="thread_8hpp.html">thread.hpp</a></div></div>
<div class="ttc" id="worker_8hpp_html"><div class="ttname"><a href="worker_8hpp.html">worker.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a55207f49aadd5f79e75251d6ccfad1fc"><div class="ttname"><a href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">op::spTQueueIn</a></div><div class="ttdeci">spTQueueIn</div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:36</div></div>
<div class="ttc" id="namespaceop_html_a55207f49aadd5f79e75251d6ccfad1fc"><div class="ttname"><a href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">op::spTQueueIn</a></div><div class="ttdeci">spTQueueIn</div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:37</div></div>
<div class="ttc" id="namespaceop_html_a53f346232d0743f3dd0f547de1fc508f"><div class="ttname"><a href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">op::COMPILE_TEMPLATE_DATUM</a></div><div class="ttdeci">COMPILE_TEMPLATE_DATUM(WPoseTriangulation)</div></div>
<div class="ttc" id="queue_8hpp_html"><div class="ttname"><a href="queue_8hpp.html">queue.hpp</a></div></div>
<div class="ttc" id="classop_1_1_sub_thread_queue_in_html"><div class="ttname"><a href="classop_1_1_sub_thread_queue_in.html">op::SubThreadQueueIn</a></div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:12</div></div>
......
......@@ -170,44 +170,49 @@ $(document).ready(function(){initNavTree('sub_thread_queue_in_out_8hpp_source.ht
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;isFull())</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// Pop TDatums</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; TDatums tDatums;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">bool</span> workersAreRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;tryPop(tDatums);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Check queue not stopped</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (!workersAreRunning)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; workersAreRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;isRunning();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Process TDatums</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; workersAreRunning = this-&gt;workTWorkers(tDatums, workersAreRunning);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Push/emplace tDatums if successfully processed</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (workersAreRunning)</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (tDatums != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;waitAndEmplace(tDatums);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// Close both queues otherwise</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stopPusher();</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> workersAreRunning;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stop();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueInOut);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_IN_OUT_HPP</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;empty())</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; std::this_thread::sleep_for(std::chrono::microseconds{100});</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; TDatums tDatums;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">bool</span> workersAreRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;tryPop(tDatums);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// Check queue not stopped</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (!workersAreRunning)</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; workersAreRunning = <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;isRunning();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Process TDatums</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; workersAreRunning = this-&gt;workTWorkers(tDatums, workersAreRunning);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Push/emplace tDatums if successfully processed</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (workersAreRunning)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">if</span> (tDatums != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;waitAndEmplace(tDatums);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Close both queues otherwise</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stopPusher();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> workersAreRunning;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; std::this_thread::sleep_for(std::chrono::microseconds{100});</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">spTQueueIn</a>-&gt;stop();</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stop();</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueInOut);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_IN_OUT_HPP</span></div>
<div class="ttc" id="classop_1_1_sub_thread_html"><div class="ttname"><a href="classop_1_1_sub_thread.html">op::SubThread</a></div><div class="ttdef"><b>Definition:</b> subThread.hpp:10</div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a5f092bd36c716a894cb035e1ead2aca3"><div class="ttname"><a href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">op::error</a></div><div class="ttdeci">OP_API void error(const std::string &amp;message, const int line=-1, const std::string &amp;function=&quot;&quot;, const std::string &amp;file=&quot;&quot;)</div></div>
......@@ -215,7 +220,7 @@ $(document).ready(function(){initNavTree('sub_thread_queue_in_out_8hpp_source.ht
<div class="ttc" id="classop_1_1_sub_thread_queue_in_out_html_aa5b9beea615b8b968c5da74dd66a6d78"><div class="ttname"><a href="classop_1_1_sub_thread_queue_in_out.html#aa5b9beea615b8b968c5da74dd66a6d78">op::SubThreadQueueInOut::SubThreadQueueInOut</a></div><div class="ttdeci">SubThreadQueueInOut(const std::vector&lt; TWorker &gt; &amp;tWorkers, const std::shared_ptr&lt; TQueue &gt; &amp;tQueueIn, const std::shared_ptr&lt; TQueue &gt; &amp;tQueueOut)</div><div class="ttdef"><b>Definition:</b> subThreadQueueInOut.hpp:35</div></div>
<div class="ttc" id="thread_8hpp_html"><div class="ttname"><a href="thread_8hpp.html">thread.hpp</a></div></div>
<div class="ttc" id="worker_8hpp_html"><div class="ttname"><a href="worker_8hpp.html">worker.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a55207f49aadd5f79e75251d6ccfad1fc"><div class="ttname"><a href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">op::spTQueueIn</a></div><div class="ttdeci">spTQueueIn</div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:36</div></div>
<div class="ttc" id="namespaceop_html_a55207f49aadd5f79e75251d6ccfad1fc"><div class="ttname"><a href="namespaceop.html#a55207f49aadd5f79e75251d6ccfad1fc">op::spTQueueIn</a></div><div class="ttdeci">spTQueueIn</div><div class="ttdef"><b>Definition:</b> subThreadQueueIn.hpp:37</div></div>
<div class="ttc" id="namespaceop_html_a5180d62b9273c9d0712f686531ee0aea"><div class="ttname"><a href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">op::spTQueueOut</a></div><div class="ttdeci">spTQueueOut</div><div class="ttdef"><b>Definition:</b> subThreadQueueInOut.hpp:39</div></div>
<div class="ttc" id="classop_1_1_sub_thread_queue_in_out_html"><div class="ttname"><a href="classop_1_1_sub_thread_queue_in_out.html">op::SubThreadQueueInOut</a></div><div class="ttdef"><b>Definition:</b> subThreadQueueInOut.hpp:12</div></div>
<div class="ttc" id="namespaceop_html_a53f346232d0743f3dd0f547de1fc508f"><div class="ttname"><a href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">op::COMPILE_TEMPLATE_DATUM</a></div><div class="ttdeci">COMPILE_TEMPLATE_DATUM(WPoseTriangulation)</div></div>
......
......@@ -177,21 +177,24 @@ $(document).ready(function(){initNavTree('sub_thread_queue_out_8hpp_source.html'
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> workersAreRunning;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stop();</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueOut);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; std::this_thread::sleep_for(std::chrono::microseconds{100});</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespaceop.html#a5180d62b9273c9d0712f686531ee0aea">spTQueueOut</a>-&gt;stop();</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_OUT_HPP</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(SubThreadQueueOut);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_THREAD_QUEUE_OUT_HPP</span></div>
<div class="ttc" id="classop_1_1_sub_thread_html"><div class="ttname"><a href="classop_1_1_sub_thread.html">op::SubThread</a></div><div class="ttdef"><b>Definition:</b> subThread.hpp:10</div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a5f092bd36c716a894cb035e1ead2aca3"><div class="ttname"><a href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">op::error</a></div><div class="ttdeci">OP_API void error(const std::string &amp;message, const int line=-1, const std::string &amp;function=&quot;&quot;, const std::string &amp;file=&quot;&quot;)</div></div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册