Added: incubator/singa/site/trunk/doxygen/html/reader_8h_source.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/reader_8h_source.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/reader_8h_source.html (added)
+++ incubator/singa/site/trunk/doxygen/html/reader_8h_source.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: /home/moaz/incubator-singa/include/singa/io/reader.h 
Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" 
href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li 
class="navelem"><a class="el" 
href="dir_14a988756d30161f7e1f48b05d03905d.html">singa</a></li><li 
class="navelem"><a class="el" 
href="dir_953eafc3caccd34fc2601f376f19d1ef.html">io</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">reader.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span 
class="lineno">    1</span>&#160;</div><div class="line"><a 
name="l00019"></a><span class="lineno">   19</span>&#160;<span 
class="preprocessor">#ifndef SINGA_IO_READER_H_</span></div><div 
class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span 
class="preprocessor">#define SINGA_IO_READER_H_</span></div><div 
class="line"><a name="l00021"></a><span class="lineno">   
21</span>&#160;</div><div class="line"><a name="l00022"></a><span 
class="lineno">   22</span>&#160;<span class="preprocessor">#include 
&lt;cstring&gt;</span></div><div class="line"><a name="l00023"></a><span 
class="lineno">   23</span>&#160;<span class="preprocessor">#include 
&lt;fstream&gt;</span></div><div class="line"><a name="l00024"></a><span 
class="lineno">   24</span>&#160;<span class="preprocessor">#include 
&lt;string&gt;</span></div><div class="line"><a name="l00025"></a><span 
class="lineno">   25</span>&#160;<span class="pre
 processor">#include &quot;singa/singa_config.h&quot;</span></div><div 
class="line"><a name="l00026"></a><span class="lineno">   
26</span>&#160;</div><div class="line"><a name="l00027"></a><span 
class="lineno">   27</span>&#160;<span class="preprocessor">#ifdef 
USE_LMDB</span></div><div class="line"><a name="l00028"></a><span 
class="lineno">   28</span>&#160;<span class="preprocessor">#include 
&lt;lmdb.h&gt;</span></div><div class="line"><a name="l00029"></a><span 
class="lineno">   29</span>&#160;<span class="preprocessor">#include 
&lt;sys/stat.h&gt;</span></div><div class="line"><a name="l00030"></a><span 
class="lineno">   30</span>&#160;<span class="preprocessor">#include 
&lt;vector&gt;</span></div><div class="line"><a name="l00031"></a><span 
class="lineno">   31</span>&#160;<span class="preprocessor">#endif  // 
USE_LMDB</span></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">namespace </span><a class="code" 
href="namespacesinga.html">singa</a> {</div><div class="line"><a 
name="l00034"></a><span class="lineno">   34</span>&#160;<span 
class="keyword">namespace </span>io {</div><div class="line"><a 
name="l00035"></a><span class="lineno">   35</span>&#160;</div><div 
class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span 
class="keyword">using</span> std::string;</div><div class="line"><a 
name="l00037"></a><span class="lineno">   37</span>&#160;</div><div 
class="line"><a name="l00041"></a><span class="lineno"><a class="line" 
href="classsinga_1_1io_1_1Reader.html">   41</a></span>&#160;<span 
class="keyword">class </span><a class="code" 
href="classsinga_1_1io_1_1Reader.html">Reader</a> {</div><div class="line"><a 
name="l00042"></a><span class="lineno">   42</span>&#160; <span 
class="keyword">public</span>:</div><div class="line"><a 
name="l00045"></a><span class="lineno"><a class="line" href="classsinga_1_
 1io_1_1Reader.html#a151239317e76d0db47e5e6d01ed5fca3">   45</a></span>&#160;  
<span class="keyword">virtual</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a151239317e76d0db47e5e6d01ed5fca3">~Reader</a>()
 {}</div><div class="line"><a name="l00046"></a><span class="lineno">   
46</span>&#160;</div><div class="line"><a name="l00050"></a><span 
class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> <span 
class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">Open</a>(<span
 class="keyword">const</span> std::string&amp; path) = 0;</div><div 
class="line"><a name="l00051"></a><span class="lineno">   
51</span>&#160;</div><div class="line"><a name="l00053"></a><span 
class="lineno">   53</span>&#160;  <span class="keyword">virtual</span> <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>()
 = 0;</div><div class="line
 "><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div 
class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  
<span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a 
class="code" 
href="classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b">Read</a>(std::string*
 key, std::string* value) = 0;</div><div class="line"><a 
name="l00060"></a><span class="lineno">   60</span>&#160;</div><div 
class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  
<span class="keyword">virtual</span> <span class="keywordtype">int</span> <a 
class="code" 
href="classsinga_1_1io_1_1Reader.html#a860fade6259818e89887aac059bb6277">Count</a>()
 = 0;</div><div class="line"><a name="l00064"></a><span class="lineno">   
64</span>&#160;</div><div class="line"><a name="l00066"></a><span 
class="lineno">   66</span>&#160;  <span class="keyword">virtual</span> <span 
class="keywordtype">void</span> <a class="code" href="classsinga_1_1io_1
 _1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965">SeekToFirst</a>() = 
0;</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="l00070"></a><span class="lineno"><a class="line" 
href="classsinga_1_1io_1_1BinFileReader.html">   70</a></span>&#160;<span 
class="keyword">class </span><a class="code" 
href="classsinga_1_1io_1_1BinFileReader.html">BinFileReader</a> : <span 
class="keyword">public</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html">Reader</a> {</div><div class="line"><a 
name="l00071"></a><span class="lineno">   71</span>&#160; <span 
class="keyword">public</span>:</div><div class="line"><a 
name="l00072"></a><span class="lineno">   72</span>&#160;  ~<a class="code" 
href="classsinga_1_1io_1_1BinFileReader.html">BinFileReader</a>() { <a 
class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close
 </a>(); }</div><div class="line"><a name="l00074"></a><span class="lineno">   
74</span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">Open</a>(<span
 class="keyword">const</span> std::string&amp; path) <span 
class="keyword">override</span>;</div><div class="line"><a 
name="l00076"></a><span class="lineno">   76</span>&#160;  <span 
class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">Open</a>(<span
 class="keyword">const</span> std::string&amp; path, <span 
class="keywordtype">int</span> capacity);</div><div class="line"><a 
name="l00078"></a><span class="lineno">   78</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00080"></a><span class="lineno">   80</span>&#
 160;  <span class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b">Read</a>(std::string*
 key, std::string* value) <span class="keyword">override</span>;</div><div 
class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  
<span class="keywordtype">int</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a860fade6259818e89887aac059bb6277">Count</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00084"></a><span class="lineno">   84</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965">SeekToFirst</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00086"></a><span class="lineno"><a class="line" 
href="classsinga_1_1io_1_1BinFileReader.html#a85039856483c4e16b9ca12cdec7d8bca">
   86</a></span>&#160;  <span class="keyword">inline</span> std::string <a 
class="code
 " 
href="classsinga_1_1io_1_1BinFileReader.html#a85039856483c4e16b9ca12cdec7d8bca">path</a>()
 { <span class="keywordflow">return</span> path_; }</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="keyword">protected</span>:</div><div class="line"><a 
name="l00090"></a><span class="lineno">   90</span>&#160;  <span 
class="keywordtype">bool</span> OpenFile();</div><div class="line"><a 
name="l00093"></a><span class="lineno">   93</span>&#160;  <span 
class="keywordtype">bool</span> ReadField(std::string* content);</div><div 
class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  
<span class="keywordtype">bool</span> PrepareNextField(<span 
class="keywordtype">int</span> size);</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; <s
 pan class="keyword">private</span>:</div><div class="line"><a 
name="l00100"></a><span class="lineno">  100</span>&#160;  std::string path_ = 
<span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a 
name="l00102"></a><span class="lineno">  102</span>&#160;  std::ifstream 
fdat_;</div><div class="line"><a name="l00104"></a><span class="lineno">  
104</span>&#160;  <span class="keywordtype">char</span>* buf_ = <span 
class="keyword">nullptr</span>;</div><div class="line"><a 
name="l00106"></a><span class="lineno">  106</span>&#160;  <span 
class="keywordtype">int</span> offset_ = 0;</div><div class="line"><a 
name="l00108"></a><span class="lineno">  108</span>&#160;  <span 
class="keywordtype">int</span> capacity_ = 10485760;</div><div class="line"><a 
name="l00110"></a><span class="lineno">  110</span>&#160;  <span 
class="keywordtype">int</span> bufsize_ = 0;</div><div class="line"><a 
name="l00112"></a><span class="lineno">  112</span>&#160;  <span 
class="keyword">const</spa
 n> <span class="keywordtype">char</span> kMagicWord[2] = {<span 
class="charliteral">&#39;s&#39;</span>, <span 
class="charliteral">&#39;g&#39;</span>};</div><div class="line"><a 
name="l00113"></a><span class="lineno">  113</span>&#160;};</div><div 
class="line"><a name="l00114"></a><span class="lineno">  
114</span>&#160;</div><div class="line"><a name="l00116"></a><span 
class="lineno"><a class="line" href="classsinga_1_1io_1_1TextFileReader.html">  
116</a></span>&#160;<span class="keyword">class </span><a class="code" 
href="classsinga_1_1io_1_1TextFileReader.html">TextFileReader</a> : <span 
class="keyword">public</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html">Reader</a> {</div><div class="line"><a 
name="l00117"></a><span class="lineno">  117</span>&#160; <span 
class="keyword">public</span>:</div><div class="line"><a 
name="l00118"></a><span class="lineno">  118</span>&#160;  ~<a class="code" 
href="classsinga_1_1io_1_1TextFileReader.html">TextFileReader</a>() { <a class="
 code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>();
 }</div><div class="line"><a name="l00120"></a><span class="lineno">  
120</span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">Open</a>(<span
 class="keyword">const</span> std::string&amp; path) <span 
class="keyword">override</span>;</div><div class="line"><a 
name="l00122"></a><span class="lineno">  122</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00124"></a><span class="lineno">  124</span>&#160;  <span 
class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b">Read</a>(std::string*
 key, std::string* value) <span class="keyword">override</span>;</div><div 
class="line"><
 a name="l00126"></a><span class="lineno">  126</span>&#160;  <span 
class="keywordtype">int</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a860fade6259818e89887aac059bb6277">Count</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00128"></a><span class="lineno">  128</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965">SeekToFirst</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00130"></a><span class="lineno"><a class="line" 
href="classsinga_1_1io_1_1TextFileReader.html#afcd2ac030ea35029696de960bc9f88ac">
  130</a></span>&#160;  <span class="keyword">inline</span> std::string <a 
class="code" 
href="classsinga_1_1io_1_1TextFileReader.html#afcd2ac030ea35029696de960bc9f88ac">path</a>()
 { <span class="keywordflow">return</span> path_; }</div><div class="line"><a 
name="l00131"></a><span class="lineno">  131</span>&#160;</div><div cla
 ss="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; <span 
class="keyword">private</span>:</div><div class="line"><a 
name="l00134"></a><span class="lineno">  134</span>&#160;  std::string path_ = 
<span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a 
name="l00136"></a><span class="lineno">  136</span>&#160;  std::ifstream 
fdat_;</div><div class="line"><a name="l00138"></a><span class="lineno">  
138</span>&#160;  <span class="keywordtype">int</span> lineNo_ = 0;</div><div 
class="line"><a name="l00139"></a><span class="lineno">  
139</span>&#160;};</div><div class="line"><a name="l00140"></a><span 
class="lineno">  140</span>&#160;</div><div class="line"><a 
name="l00141"></a><span class="lineno">  141</span>&#160;<span 
class="preprocessor">#ifdef USE_LMDB</span></div><div class="line"><a 
name="l00142"></a><span class="lineno">  142</span>&#160;<span 
class="keyword">class </span>LMDBReader : <span class="keyword">public</span> 
<a class="code" href="c
 lasssinga_1_1io_1_1Reader.html">Reader</a> {</div><div class="line"><a 
name="l00144"></a><span class="lineno">  144</span>&#160; <span 
class="keyword">public</span>:</div><div class="line"><a 
name="l00145"></a><span class="lineno">  145</span>&#160;  ~LMDBReader() { <a 
class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>();
 }</div><div class="line"><a name="l00147"></a><span class="lineno">  
147</span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">Open</a>(<span
 class="keyword">const</span> std::string&amp; path) <span 
class="keyword">override</span>;</div><div class="line"><a 
name="l00149"></a><span class="lineno">  149</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">Close</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00151"></a><
 span class="lineno">  151</span>&#160;  <span class="keywordtype">bool</span> 
<a class="code" 
href="classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b">Read</a>(std::string*
 key, std::string* value) <span class="keyword">override</span>;</div><div 
class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  
<span class="keywordtype">int</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a860fade6259818e89887aac059bb6277">Count</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00155"></a><span class="lineno">  155</span>&#160;  <span 
class="keywordtype">void</span> <a class="code" 
href="classsinga_1_1io_1_1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965">SeekToFirst</a>()
 <span class="keyword">override</span>;</div><div class="line"><a 
name="l00157"></a><span class="lineno">  157</span>&#160;  <span 
class="keyword">inline</span> std::string path() { <span 
class="keywordflow">return</span> path_; }</div><div class="line"
 ><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span 
 >class="keyword">inline</span> <span class="keywordtype">bool</span> valid() { 
 ><span class="keywordflow">return</span> valid_; }</div><div class="line"><a 
 >name="l00160"></a><span class="lineno">  160</span>&#160;</div><div 
 >class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; 
 ><span class="keyword">protected</span>:</div><div class="line"><a 
 >name="l00163"></a><span class="lineno">  163</span>&#160;  <span 
 >class="keywordtype">void</span> Seek(MDB_cursor_op op);</div><div 
 >class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  
 ><span class="keyword">inline</span> <span class="keywordtype">void</span> 
 >MDB_CHECK(<span class="keywordtype">int</span> mdb_status);</div><div 
 >class="line"><a name="l00165"></a><span class="lineno">  
 >165</span>&#160;</div><div class="line"><a name="l00166"></a><span 
 >class="lineno">  166</span>&#160; <span 
 >class="keyword">private</span>:</div><div class="lin
 e"><a name="l00168"></a><span class="lineno">  168</span>&#160;  std::string 
path_ = <span class="stringliteral">&quot;&quot;</span>;</div><div 
class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  
MDB_env* mdb_env_ = <span class="keyword">nullptr</span>;</div><div 
class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  
MDB_dbi mdb_dbi_;</div><div class="line"><a name="l00174"></a><span 
class="lineno">  174</span>&#160;  MDB_txn* mdb_txn_ = <span 
class="keyword">nullptr</span>;</div><div class="line"><a 
name="l00176"></a><span class="lineno">  176</span>&#160;  MDB_cursor* 
mdb_cursor_ = <span class="keyword">nullptr</span>;</div><div class="line"><a 
name="l00178"></a><span class="lineno">  178</span>&#160;  MDB_val mdb_key_, 
mdb_value_;</div><div class="line"><a name="l00180"></a><span class="lineno">  
180</span>&#160;  <span class="keywordtype">bool</span> valid_;</div><div 
class="line"><a name="l00182"></a><span class="lineno">  182</span>&#
 160;  <span class="keywordtype">bool</span> first_;</div><div class="line"><a 
name="l00183"></a><span class="lineno">  183</span>&#160;};</div><div 
class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span 
class="preprocessor">#endif  // USE_LMDB</span></div><div class="line"><a 
name="l00185"></a><span class="lineno">  185</span>&#160;}  <span 
class="comment">// namespace io</span></div><div class="line"><a 
name="l00186"></a><span class="lineno">  186</span>&#160;}  <span 
class="comment">// namespace singa</span></div><div class="line"><a 
name="l00187"></a><span class="lineno">  187</span>&#160;</div><div 
class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span 
class="preprocessor">#endif  // SINGA_IO_READER_H_</span></div><div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_a82bb5bcb71d5abc58ffad4b698eb4965"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965">singa::io::Reader::SeekToFirst</a></d
 iv><div class="ttdeci">virtual void SeekToFirst()=0</div><div 
class="ttdoc">Seek to the first tuple when the cursor arrives to the end of the 
file. </div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1BinFileReader_html_a85039856483c4e16b9ca12cdec7d8bca"><div
 class="ttname"><a 
href="classsinga_1_1io_1_1BinFileReader.html#a85039856483c4e16b9ca12cdec7d8bca">singa::io::BinFileReader::path</a></div><div
 class="ttdeci">std::string path()</div><div class="ttdoc">return path to 
binary file </div><div class="ttdef"><b>Definition:</b> reader.h:86</div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1TextFileReader_html_afcd2ac030ea35029696de960bc9f88ac"><div
 class="ttname"><a 
href="classsinga_1_1io_1_1TextFileReader.html#afcd2ac030ea35029696de960bc9f88ac">singa::io::TextFileReader::path</a></div><div
 class="ttdeci">std::string path()</div><div class="ttdoc">return path to text 
file </div><div class="ttdef"><b>Definition:</b> reader.h:130</div></div>
+<div class="ttc" id="classsinga_1_1io_1_1Reader_html"><div class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html">singa::io::Reader</a></div><div 
class="ttdoc">General Reader that provides functions for reading tuples. 
</div><div class="ttdef"><b>Definition:</b> reader.h:41</div></div>
+<div class="ttc" id="classsinga_1_1io_1_1BinFileReader_html"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1BinFileReader.html">singa::io::BinFileReader</a></div><div
 class="ttdoc">Binfilereader reads tuples from binary file with key-value 
pairs. </div><div class="ttdef"><b>Definition:</b> reader.h:70</div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_a151239317e76d0db47e5e6d01ed5fca3"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#a151239317e76d0db47e5e6d01ed5fca3">singa::io::Reader::~Reader</a></div><div
 class="ttdeci">virtual ~Reader()</div><div class="ttdoc">In case that users 
forget to call Close() to release resources, e.g., memory, you can release them 
he...</div><div class="ttdef"><b>Definition:</b> reader.h:45</div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_a6894610ce2560dbe7641fdf5a3abf909"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#a6894610ce2560dbe7641fdf5a3abf909">singa::io::Reader::Open</a></div><div
 class="ttdeci">virtual bool Open(const std::string &amp;path)=0</div><div 
class="ttdoc">path is the path to the storage, could be a file path, database 
connection, or hdfs path...</div></div>
+<div class="ttc" id="classsinga_1_1io_1_1TextFileReader_html"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1TextFileReader.html">singa::io::TextFileReader</a></div><div
 class="ttdoc">TextFileReader reads tuples from CSV file. </div><div 
class="ttdef"><b>Definition:</b> reader.h:116</div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_a860fade6259818e89887aac059bb6277"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#a860fade6259818e89887aac059bb6277">singa::io::Reader::Count</a></div><div
 class="ttdeci">virtual int Count()=0</div><div class="ttdoc">Iterate through 
all tuples to get the num of all tuples. </div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_a8d45ee8b877e4344d776265af16e0c4b"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b">singa::io::Reader::Read</a></div><div
 class="ttdeci">virtual bool Read(std::string *key, std::string 
*value)=0</div><div class="ttdoc">Read a tuple. </div></div>
+<div class="ttc" 
id="classsinga_1_1io_1_1Reader_html_ae9a44a2b4ae832493c04d9b540ef29e1"><div 
class="ttname"><a 
href="classsinga_1_1io_1_1Reader.html#ae9a44a2b4ae832493c04d9b540ef29e1">singa::io::Reader::Close</a></div><div
 class="ttdeci">virtual void Close()=0</div><div class="ttdoc">Release 
resources. </div></div>
+<div class="ttc" id="namespacesinga_html"><div class="ttname"><a 
href="namespacesinga.html">singa</a></div><div class="ttdoc">Licensed to the 
Apache Software Foundation (ASF) under one or more contributor license 
agreements...</div><div class="ttdef"><b>Definition:</b> common.h:48</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/safe__queue_8h_source.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/safe__queue_8h_source.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/safe__queue_8h_source.html (added)
+++ incubator/singa/site/trunk/doxygen/html/safe__queue_8h_source.html Mon Apr 
22 10:37:18 2019
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: 
/home/moaz/incubator-singa/include/singa/utils/safe_queue.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" 
href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li 
class="navelem"><a class="el" 
href="dir_14a988756d30161f7e1f48b05d03905d.html">singa</a></li><li 
class="navelem"><a class="el" 
href="dir_54125cd652f9635a64a4101de1b8704d.html">utils</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">safe_queue.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span 
class="lineno">    1</span>&#160;<span 
class="comment">/************************************************************</span></div><div
 class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span 
class="comment">*</span></div><div class="line"><a name="l00003"></a><span 
class="lineno">    3</span>&#160;<span class="comment">* Licensed to the Apache 
Software Foundation (ASF) under one</span></div><div class="line"><a 
name="l00004"></a><span class="lineno">    4</span>&#160;<span 
class="comment">* or more contributor license agreements.  See the NOTICE 
file</span></div><div class="line"><a name="l00005"></a><span class="lineno">   
 5</span>&#160;<span class="comment">* distributed with this work for 
additional information</span></div><div class="line"><a name="l00006"></a><span 
class="lineno">    6</span>&#160;<span class="comment">* regarding copyright 
ownership.  The ASF licenses this file</span></di
 v><div class="line"><a name="l00007"></a><span class="lineno">    
7</span>&#160;<span class="comment">* to you under the Apache License, Version 
2.0 (the</span></div><div class="line"><a name="l00008"></a><span 
class="lineno">    8</span>&#160;<span class="comment">* &quot;License&quot;); 
you may not use this file except in compliance</span></div><div class="line"><a 
name="l00009"></a><span class="lineno">    9</span>&#160;<span 
class="comment">* with the License.  You may obtain a copy of the License 
at</span></div><div class="line"><a name="l00010"></a><span class="lineno">   
10</span>&#160;<span class="comment">*</span></div><div class="line"><a 
name="l00011"></a><span class="lineno">   11</span>&#160;<span 
class="comment">*   http://www.apache.org/licenses/LICENSE-2.0</span></div><div 
class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span 
class="comment">*</span></div><div class="line"><a name="l00013"></a><span 
class="lineno">   13</span>&#160;<span clas
 s="comment">* Unless required by applicable law or agreed to in 
writing,</span></div><div class="line"><a name="l00014"></a><span 
class="lineno">   14</span>&#160;<span class="comment">* software distributed 
under the License is distributed on an</span></div><div class="line"><a 
name="l00015"></a><span class="lineno">   15</span>&#160;<span 
class="comment">* &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY</span></div><div class="line"><a name="l00016"></a><span class="lineno">   
16</span>&#160;<span class="comment">* KIND, either express or implied.  See 
the License for the</span></div><div class="line"><a name="l00017"></a><span 
class="lineno">   17</span>&#160;<span class="comment">* specific language 
governing permissions and limitations</span></div><div class="line"><a 
name="l00018"></a><span class="lineno">   18</span>&#160;<span 
class="comment">* under the License.</span></div><div class="line"><a 
name="l00019"></a><span class="lineno">   19</span>&#160;<span 
 class="comment">*</span></div><div class="line"><a name="l00020"></a><span 
class="lineno">   20</span>&#160;<span 
class="comment">*************************************************************/</span></div><div
 class="line"><a name="l00021"></a><span class="lineno">   
21</span>&#160;</div><div class="line"><a name="l00022"></a><span 
class="lineno">   22</span>&#160;<span class="preprocessor">#ifndef 
SINGA_UTILS_SAFE_QUEUE_H_</span></div><div class="line"><a 
name="l00023"></a><span class="lineno">   23</span>&#160;<span 
class="preprocessor">#define SINGA_UTILS_SAFE_QUEUE_H_</span></div><div 
class="line"><a name="l00024"></a><span class="lineno">   
24</span>&#160;</div><div class="line"><a name="l00025"></a><span 
class="lineno">   25</span>&#160;<span class="preprocessor">#include 
&lt;algorithm&gt;</span></div><div class="line"><a name="l00026"></a><span 
class="lineno">   26</span>&#160;<span class="preprocessor">#include 
&lt;queue&gt;</span></div><div class="line"><a name="l00027"></a
 ><span class="lineno">   27</span>&#160;<span class="preprocessor">#include 
 >&lt;list&gt;</span></div><div class="line"><a name="l00028"></a><span 
 >class="lineno">   28</span>&#160;<span class="preprocessor">#include 
 >&lt;mutex&gt;</span></div><div class="line"><a name="l00029"></a><span 
 >class="lineno">   29</span>&#160;<span class="preprocessor">#include 
 >&lt;condition_variable&gt;</span></div><div class="line"><a 
 >name="l00030"></a><span class="lineno">   30</span>&#160;<span 
 >class="preprocessor">#include &lt;thread&gt;</span></div><div class="line"><a 
 >name="l00031"></a><span class="lineno">   31</span>&#160;</div><div 
 >class="line"><a name="l00035"></a><span class="lineno">   
 >35</span>&#160;<span class="keyword">template</span> &lt;<span 
 >class="keyword">typename</span> T, <span class="keyword">class</span> 
 >Container = std::queue&lt;T&gt;&gt;</div><div class="line"><a 
 >name="l00036"></a><span class="lineno"><a class="line" 
 >href="classSafeQueue.html">   36</a></span>&#160;<span class="key
 word">class </span><a class="code" href="classSafeQueue.html">SafeQueue</a> 
{</div><div class="line"><a name="l00037"></a><span class="lineno">   
37</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a 
name="l00038"></a><span class="lineno">   38</span>&#160;  <a class="code" 
href="classSafeQueue.html">SafeQueue</a>() = <span 
class="keywordflow">default</span>;</div><div class="line"><a 
name="l00039"></a><span class="lineno">   39</span>&#160;  ~<a class="code" 
href="classSafeQueue.html">SafeQueue</a>() {</div><div class="line"><a 
name="l00040"></a><span class="lineno">   40</span>&#160;    
std::lock_guard&lt;std::mutex&gt; lock(mutex_);</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;</div><div class="line"><a name="l00047"></a><span 
class="lineno"><a class="line" 
href="classSafeQueue.html#a52d13d8fe67de0c3f63641baf0697de8">   47</a></span
 >&#160;  <span class="keywordtype">bool</span> <a class="code" 
 >href="classSafeQueue.html#a52d13d8fe67de0c3f63641baf0697de8">Push</a>(<span 
 >class="keyword">const</span> T&amp; e) {</div><div class="line"><a 
 >name="l00048"></a><span class="lineno">   48</span>&#160;    
 >std::lock_guard&lt;std::mutex&gt; lock(mutex_);</div><div class="line"><a 
 >name="l00049"></a><span class="lineno">   49</span>&#160;    
 >queue_.push(e);</div><div class="line"><a name="l00050"></a><span 
 >class="lineno">   50</span>&#160;    condition_.notify_one();</div><div 
 >class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    
 ><span class="keywordflow">return</span> <span 
 >class="keyword">true</span>;</div><div class="line"><a 
 >name="l00052"></a><span class="lineno">   52</span>&#160;  }</div><div 
 >class="line"><a name="l00053"></a><span class="lineno">   
 >53</span>&#160;</div><div class="line"><a name="l00058"></a><span 
 >class="lineno"><a class="line" 
 >href="classSafeQueue.html#a344920696b4628f864fd73f8e6
 a17dc6">   58</a></span>&#160;  <span class="keywordtype">void</span> <a 
class="code" 
href="classSafeQueue.html#a344920696b4628f864fd73f8e6a17dc6">Pop</a>(T&amp; e) 
{</div><div class="line"><a name="l00059"></a><span class="lineno">   
59</span>&#160;    std::unique_lock&lt;std::mutex&gt; lock(mutex_);</div><div 
class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    
condition_.wait(lock, [<span class="keyword">this</span>]() { <span 
class="keywordflow">return</span> !queue_.empty(); });</div><div 
class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    e 
= queue_.front();</div><div class="line"><a name="l00062"></a><span 
class="lineno">   62</span>&#160;    queue_.pop();</div><div class="line"><a 
name="l00063"></a><span class="lineno">   63</span>&#160;  }</div><div 
class="line"><a name="l00068"></a><span class="lineno"><a class="line" 
href="classSafeQueue.html#afe217ddc60f494d096028ba640e737f9">   
68</a></span>&#160;  <span class="keywordtyp
 e">bool</span> <a class="code" 
href="classSafeQueue.html#afe217ddc60f494d096028ba640e737f9">Pop</a>(T&amp; 
item, std::uint64_t timeout) {</div><div class="line"><a 
name="l00069"></a><span class="lineno">   69</span>&#160;    
std::unique_lock&lt;std::mutex&gt; lock(mutex_);</div><div class="line"><a 
name="l00070"></a><span class="lineno">   70</span>&#160;</div><div 
class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    
<span class="keywordflow">if</span> (queue_.empty()) {</div><div 
class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      
<span class="keywordflow">if</span> (timeout == 0)</div><div class="line"><a 
name="l00073"></a><span class="lineno">   73</span>&#160;        <span 
class="keywordflow">return</span> <span class="keyword">false</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;      <span class="keyw
 ordflow">if</span> (condition_.wait_for(lock, 
std::chrono::microseconds(timeout))</div><div class="line"><a 
name="l00076"></a><span class="lineno">   76</span>&#160;          == 
std::cv_status::timeout)</div><div class="line"><a name="l00077"></a><span 
class="lineno">   77</span>&#160;        <span 
class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div><div class="line"><a name="l00080"></a><span 
class="lineno">   80</span>&#160;    item = queue_.front();</div><div 
class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    
queue_.pop();</div><div class="line"><a name="l00082"></a><span class="lineno"> 
  82</span>&#160;    <span class="keywordflow">return</span> <span 
class="keyword">true</span>;</div><div class="line"><a name="l00083"></a><span 
class="lineno">   83</span>&#16
 0;  }</div><div class="line"><a name="l00084"></a><span class="lineno">   
84</span>&#160;</div><div class="line"><a name="l00089"></a><span 
class="lineno"><a class="line" 
href="classSafeQueue.html#aad136ab2d232ff62375d0c347e906bb2">   
89</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classSafeQueue.html#aad136ab2d232ff62375d0c347e906bb2">TryPop</a>(T&amp; 
e) {</div><div class="line"><a name="l00090"></a><span class="lineno">   
90</span>&#160;    std::unique_lock&lt;std::mutex&gt; lock(mutex_);</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;    <span class="keywordflow">if</span> 
(queue_.empty())</div><div class="line"><a name="l00093"></a><span 
class="lineno">   93</span>&#160;      <span class="keywordflow">return</span> 
<span class="keyword">false</span>;</div><div class="line"><a 
name="l00094"></a><span class="lineno">   94</span>&
 #160;</div><div class="line"><a name="l00095"></a><span class="lineno">   
95</span>&#160;    e = queue_.front();</div><div class="line"><a 
name="l00096"></a><span class="lineno">   96</span>&#160;    
queue_.pop();</div><div class="line"><a name="l00097"></a><span class="lineno"> 
  97</span>&#160;    <span class="keywordflow">return</span> <span 
class="keyword">true</span>;</div><div class="line"><a name="l00098"></a><span 
class="lineno">   98</span>&#160;  }</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="l00104"></a><span 
class="lineno"><a class="line" 
href="classSafeQueue.html#ad8c8beb82fe07d1bbb74a78480d02ff2">  
104</a></span>&#160;  <span class="keywordtype">unsigned</span> <span 
class="keywordtype">int</span> <a class="code" 
href="classSafeQueue.html#ad8c8beb82fe07d1bbb74a78480d02ff2">Size</a>()<span 
class="keyword"> const </spa
 n>{</div><div class="line"><a name="l00105"></a><span class="lineno">  
105</span>&#160;    std::lock_guard&lt;std::mutex&gt; lock(mutex_);</div><div 
class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    
<span class="keywordflow">return</span> queue_.size();</div><div 
class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  
}</div><div class="line"><a name="l00108"></a><span class="lineno">  
108</span>&#160;</div><div class="line"><a name="l00109"></a><span 
class="lineno">  109</span>&#160; <span 
class="keyword">private</span>:</div><div class="line"><a 
name="l00110"></a><span class="lineno">  110</span>&#160;  Container 
queue_;</div><div class="line"><a name="l00111"></a><span class="lineno">  
111</span>&#160;  <span class="keyword">mutable</span> std::mutex 
mutex_;</div><div class="line"><a name="l00112"></a><span class="lineno">  
112</span>&#160;  std::condition_variable condition_;</div><div class="line"><a 
name="l00113"></a><span class="l
 ineno">  113</span>&#160;};</div><div class="line"><a name="l00114"></a><span 
class="lineno">  114</span>&#160;</div><div class="line"><a 
name="l00118"></a><span class="lineno">  118</span>&#160;<span 
class="keyword">template</span>&lt;<span class="keyword">typename</span> 
T&gt;</div><div class="line"><a name="l00119"></a><span class="lineno"><a 
class="line" href="classPriorityQueue.html">  119</a></span>&#160;<span 
class="keyword">class </span><a class="code" 
href="classPriorityQueue.html">PriorityQueue</a> {</div><div class="line"><a 
name="l00120"></a><span class="lineno">  120</span>&#160; <span 
class="keyword">public</span>:</div><div class="line"><a 
name="l00121"></a><span class="lineno">  121</span>&#160;  <a class="code" 
href="classPriorityQueue.html">PriorityQueue</a>() = <span 
class="keywordflow">default</span>;</div><div class="line"><a 
name="l00127"></a><span class="lineno"><a class="line" 
href="classPriorityQueue.html#a5c1c5a72e53dcf23e92b7877f9ed764a">  
127</a></span>&#
 160;  <span class="keywordtype">bool</span> <a class="code" 
href="classPriorityQueue.html#a5c1c5a72e53dcf23e92b7877f9ed764a">Push</a>(<span 
class="keyword">const</span> T&amp; e, <span class="keywordtype">int</span> 
priority) {</div><div class="line"><a name="l00128"></a><span class="lineno">  
128</span>&#160;    Element ele;</div><div class="line"><a 
name="l00129"></a><span class="lineno">  129</span>&#160;    ele.data = 
e;</div><div class="line"><a name="l00130"></a><span class="lineno">  
130</span>&#160;    ele.priority = priority;</div><div class="line"><a 
name="l00131"></a><span class="lineno">  131</span>&#160;    
queue_.push(ele);</div><div class="line"><a name="l00132"></a><span 
class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> 
<span class="keyword">true</span>;</div><div class="line"><a 
name="l00133"></a><span class="lineno">  133</span>&#160;  }</div><div 
class="line"><a name="l00134"></a><span class="lineno">  
134</span>&#160;</div><div class="l
 ine"><a name="l00139"></a><span class="lineno"><a class="line" 
href="classPriorityQueue.html#a5ad922c1a6314471d82498e195e3e223">  
139</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" 
href="classPriorityQueue.html#a5ad922c1a6314471d82498e195e3e223">Pop</a>(T&amp; 
e) {</div><div class="line"><a name="l00140"></a><span class="lineno">  
140</span>&#160;    Element ele;</div><div class="line"><a 
name="l00141"></a><span class="lineno">  141</span>&#160;    
queue_.pop(ele);</div><div class="line"><a name="l00142"></a><span 
class="lineno">  142</span>&#160;    e = ele.data;</div><div class="line"><a 
name="l00143"></a><span class="lineno">  143</span>&#160;  }</div><div 
class="line"><a name="l00150"></a><span class="lineno"><a class="line" 
href="classPriorityQueue.html#a17af3058e1a4168184c1fd308af858c1">  
150</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classPriorityQueue.html#a17af3058e1a4168184c1fd308af858c1">Pop</a>(T&amp; 
e, std::ui
 nt64_t timeout) {</div><div class="line"><a name="l00151"></a><span 
class="lineno">  151</span>&#160;    Element ele;</div><div class="line"><a 
name="l00152"></a><span class="lineno">  152</span>&#160;    <span 
class="keywordflow">if</span> (queue_.pop(ele, timeout)) {</div><div 
class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      
e = ele.data;</div><div class="line"><a name="l00154"></a><span class="lineno"> 
 154</span>&#160;      <span class="keywordflow">return</span> <span 
class="keyword">true</span>;</div><div class="line"><a name="l00155"></a><span 
class="lineno">  155</span>&#160;    } <span class="keywordflow">else</span> 
{</div><div class="line"><a name="l00156"></a><span class="lineno">  
156</span>&#160;      <span class="keywordflow">return</span> <span 
class="keyword">false</span>;</div><div class="line"><a name="l00157"></a><span 
class="lineno">  157</span>&#160;    }</div><div class="line"><a 
name="l00158"></a><span class="lineno">  158</span>
 &#160;  }</div><div class="line"><a name="l00159"></a><span class="lineno">  
159</span>&#160;</div><div class="line"><a name="l00164"></a><span 
class="lineno"><a class="line" 
href="classPriorityQueue.html#a39433c1537f78686e95f0242d3d1d245">  
164</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" 
href="classPriorityQueue.html#a39433c1537f78686e95f0242d3d1d245">TryPop</a>(T&amp;
 e) {</div><div class="line"><a name="l00165"></a><span class="lineno">  
165</span>&#160;    Element ele;</div><div class="line"><a 
name="l00166"></a><span class="lineno">  166</span>&#160;    <span 
class="keywordflow">if</span> (queue_.TryPop(ele)) {</div><div class="line"><a 
name="l00167"></a><span class="lineno">  167</span>&#160;      e = 
ele.data;</div><div class="line"><a name="l00168"></a><span class="lineno">  
168</span>&#160;      <span class="keywordflow">return</span> <span 
class="keyword">true</span>;</div><div class="line"><a name="l00169"></a><span 
class="lineno">  169</span>&
 #160;    } <span class="keywordflow">else</span> {</div><div class="line"><a 
name="l00170"></a><span class="lineno">  170</span>&#160;      <span 
class="keywordflow">return</span> <span class="keyword">false</span>;</div><div 
class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    
}</div><div class="line"><a name="l00172"></a><span class="lineno">  
172</span>&#160;  }</div><div class="line"><a name="l00173"></a><span 
class="lineno">  173</span>&#160;</div><div class="line"><a 
name="l00177"></a><span class="lineno"><a class="line" 
href="classPriorityQueue.html#a4e37ab2e501407763e3a1f35ce417739">  
177</a></span>&#160;  <span class="keywordtype">unsigned</span> <span 
class="keywordtype">int</span> <a class="code" 
href="classPriorityQueue.html#a4e37ab2e501407763e3a1f35ce417739">Size</a>()<span
 class="keyword"> const </span>{</div><div class="line"><a 
name="l00178"></a><span class="lineno">  178</span>&#160;    <span 
class="keywordflow">return</span> queue_.Size();</
 div><div class="line"><a name="l00179"></a><span class="lineno">  
179</span>&#160;  }</div><div class="line"><a name="l00180"></a><span 
class="lineno">  180</span>&#160;</div><div class="line"><a 
name="l00181"></a><span class="lineno">  181</span>&#160; <span 
class="keyword">private</span>:</div><div class="line"><a 
name="l00182"></a><span class="lineno">  182</span>&#160;  <span 
class="keyword">struct </span>Element {</div><div class="line"><a 
name="l00183"></a><span class="lineno">  183</span>&#160;    T data;</div><div 
class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    
<span class="keywordtype">int</span> priority;</div><div class="line"><a 
name="l00185"></a><span class="lineno">  185</span>&#160;    <span 
class="keyword">inline</span> <span class="keywordtype">bool</span> 
operator&lt;(<span class="keyword">const</span> Element &amp;other)<span 
class="keyword"> const </span>{</div><div class="line"><a 
name="l00186"></a><span class="lineno">  186</span>&#
 160;      <span class="keywordflow">return</span> priority &lt; 
other.priority;</div><div class="line"><a name="l00187"></a><span 
class="lineno">  187</span>&#160;    }</div><div class="line"><a 
name="l00188"></a><span class="lineno">  188</span>&#160;  };</div><div 
class="line"><a name="l00189"></a><span class="lineno">  
189</span>&#160;</div><div class="line"><a name="l00190"></a><span 
class="lineno">  190</span>&#160;  <a class="code" 
href="classSafeQueue.html">SafeQueue&lt;Element, 
std::priority_queue&lt;Element&gt;</a>&gt; queue_;</div><div class="line"><a 
name="l00191"></a><span class="lineno">  191</span>&#160;};</div><div 
class="line"><a name="l00192"></a><span class="lineno">  
192</span>&#160;</div><div class="line"><a name="l00193"></a><span 
class="lineno">  193</span>&#160;<span class="preprocessor">#endif  // 
SINGA_UTILS_SAFE_QUEUE_H_</span></div><div class="ttc" 
id="classSafeQueue_html_aad136ab2d232ff62375d0c347e906bb2"><div 
class="ttname"><a href="classSafeQueue.html#a
 ad136ab2d232ff62375d0c347e906bb2">SafeQueue::TryPop</a></div><div 
class="ttdeci">bool TryPop(T &amp;e)</div><div class="ttdoc">Try to pop an 
element from the queue. </div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:89</div></div>
+<div class="ttc" 
id="classSafeQueue_html_a52d13d8fe67de0c3f63641baf0697de8"><div 
class="ttname"><a 
href="classSafeQueue.html#a52d13d8fe67de0c3f63641baf0697de8">SafeQueue::Push</a></div><div
 class="ttdeci">bool Push(const T &amp;e)</div><div class="ttdoc">Push an 
element into the queue. </div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:47</div></div>
+<div class="ttc" 
id="classPriorityQueue_html_a17af3058e1a4168184c1fd308af858c1"><div 
class="ttname"><a 
href="classPriorityQueue.html#a17af3058e1a4168184c1fd308af858c1">PriorityQueue::Pop</a></div><div
 class="ttdeci">bool Pop(T &amp;e, std::uint64_t timeout)</div><div 
class="ttdoc">Pop the item with the highest priority from the queue until one 
element is poped or timeout...</div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:150</div></div>
+<div class="ttc" 
id="classPriorityQueue_html_a5c1c5a72e53dcf23e92b7877f9ed764a"><div 
class="ttname"><a 
href="classPriorityQueue.html#a5c1c5a72e53dcf23e92b7877f9ed764a">PriorityQueue::Push</a></div><div
 class="ttdeci">bool Push(const T &amp;e, int priority)</div><div 
class="ttdoc">Push an element into the queue with a given priority. </div><div 
class="ttdef"><b>Definition:</b> safe_queue.h:127</div></div>
+<div class="ttc" 
id="classPriorityQueue_html_a4e37ab2e501407763e3a1f35ce417739"><div 
class="ttname"><a 
href="classPriorityQueue.html#a4e37ab2e501407763e3a1f35ce417739">PriorityQueue::Size</a></div><div
 class="ttdeci">unsigned int Size() const</div><div 
class="ttdef"><b>Definition:</b> safe_queue.h:177</div></div>
+<div class="ttc" id="classPriorityQueue_html"><div class="ttname"><a 
href="classPriorityQueue.html">PriorityQueue</a></div><div class="ttdoc">Thread 
safe priority queue. </div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:119</div></div>
+<div class="ttc" 
id="classSafeQueue_html_ad8c8beb82fe07d1bbb74a78480d02ff2"><div 
class="ttname"><a 
href="classSafeQueue.html#ad8c8beb82fe07d1bbb74a78480d02ff2">SafeQueue::Size</a></div><div
 class="ttdeci">unsigned int Size() const</div><div 
class="ttdef"><b>Definition:</b> safe_queue.h:104</div></div>
+<div class="ttc" 
id="classSafeQueue_html_a344920696b4628f864fd73f8e6a17dc6"><div 
class="ttname"><a 
href="classSafeQueue.html#a344920696b4628f864fd73f8e6a17dc6">SafeQueue::Pop</a></div><div
 class="ttdeci">void Pop(T &amp;e)</div><div class="ttdoc">Pop an element from 
the queue. </div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:58</div></div>
+<div class="ttc" 
id="classPriorityQueue_html_a5ad922c1a6314471d82498e195e3e223"><div 
class="ttname"><a 
href="classPriorityQueue.html#a5ad922c1a6314471d82498e195e3e223">PriorityQueue::Pop</a></div><div
 class="ttdeci">void Pop(T &amp;e)</div><div class="ttdoc">Pop an element from 
the queue with the highest priority. </div><div 
class="ttdef"><b>Definition:</b> safe_queue.h:139</div></div>
+<div class="ttc" id="classSafeQueue_html"><div class="ttname"><a 
href="classSafeQueue.html">SafeQueue</a></div><div class="ttdoc">Thread-safe 
queue. </div><div class="ttdef"><b>Definition:</b> safe_queue.h:36</div></div>
+<div class="ttc" 
id="classSafeQueue_html_afe217ddc60f494d096028ba640e737f9"><div 
class="ttname"><a 
href="classSafeQueue.html#afe217ddc60f494d096028ba640e737f9">SafeQueue::Pop</a></div><div
 class="ttdeci">bool Pop(T &amp;item, std::uint64_t timeout)</div><div 
class="ttdoc">Pop an item from the queue until one element is poped or timout. 
</div><div class="ttdef"><b>Definition:</b> safe_queue.h:68</div></div>
+<div class="ttc" 
id="classPriorityQueue_html_a39433c1537f78686e95f0242d3d1d245"><div 
class="ttname"><a 
href="classPriorityQueue.html#a39433c1537f78686e95f0242d3d1d245">PriorityQueue::TryPop</a></div><div
 class="ttdeci">bool TryPop(T &amp;e)</div><div class="ttdoc">Try to pop an 
element from the queue. </div><div class="ttdef"><b>Definition:</b> 
safe_queue.h:164</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/scheduler_8h_source.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/scheduler_8h_source.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/scheduler_8h_source.html (added)
+++ incubator/singa/site/trunk/doxygen/html/scheduler_8h_source.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Singa: /home/moaz/incubator-singa/include/singa/core/scheduler.h 
Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Singa
+   </div>
+   <div id="projectbrief">A General Distributed Deep Learning Library</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" 
href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li 
class="navelem"><a class="el" 
href="dir_14a988756d30161f7e1f48b05d03905d.html">singa</a></li><li 
class="navelem"><a class="el" 
href="dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html">core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">scheduler.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span 
class="lineno">    1</span>&#160;</div><div class="line"><a 
name="l00018"></a><span class="lineno">   18</span>&#160;<span 
class="preprocessor">#ifndef SINGA_CORE_SCHEDULER_H_</span></div><div 
class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span 
class="preprocessor">#define SINGA_CORE_SCHEDULER_H_</span></div><div 
class="line"><a name="l00020"></a><span class="lineno">   
20</span>&#160;</div><div class="line"><a name="l00021"></a><span 
class="lineno">   21</span>&#160;<span class="keyword">namespace </span><a 
class="code" href="namespacesinga.html">singa</a> {</div><div class="line"><a 
name="l00022"></a><span class="lineno">   22</span>&#160;</div><div 
class="line"><a name="l00024"></a><span class="lineno"><a class="line" 
href="classsinga_1_1Scheduler.html">   24</a></span>&#160;<span 
class="keyword">class </span><a class="code" 
href="classsinga_1_1Scheduler.html">Scheduler</a> {};</div><div
  class="line"><a name="l00025"></a><span class="lineno">   
25</span>&#160;</div><div class="line"><a name="l00026"></a><span 
class="lineno">   26</span>&#160;}  <span class="comment">// namespace 
singa</span></div><div class="line"><a name="l00027"></a><span class="lineno">  
 27</span>&#160;<span class="preprocessor">#endif  // 
SINGA_CORE_SCHEDULER_H_</span></div><div class="ttc" 
id="classsinga_1_1Scheduler_html"><div class="ttname"><a 
href="classsinga_1_1Scheduler.html">singa::Scheduler</a></div><div 
class="ttdoc">Scheduling Tensor operations with dependency detection. 
</div><div class="ttdef"><b>Definition:</b> scheduler.h:24</div></div>
+<div class="ttc" id="namespacesinga_html"><div class="ttname"><a 
href="namespacesinga.html">singa</a></div><div class="ttdoc">Licensed to the 
Apache Software Foundation (ASF) under one or more contributor license 
agreements...</div><div class="ttdef"><b>Definition:</b> common.h:48</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_0.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_0.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_0.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_0.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_0.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_0.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_0.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_0.js Mon Apr 22 10:37:18 
2019
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['_5fcontext',['_Context',['../structsinga_1_1__Context.html',1,'singa']]],
+  ['_5fcpp',['_Cpp',['../structsinga_1_1lang_1_1__Cpp.html',1,'singa::lang']]],
+  
['_5fcuda',['_Cuda',['../structsinga_1_1lang_1_1__Cuda.html',1,'singa::lang']]],
+  
['_5fopencl',['_Opencl',['../structsinga_1_1lang_1_1__Opencl.html',1,'singa::lang']]]
+];

Added: incubator/singa/site/trunk/doxygen/html/search/all_1.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_1.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_1.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_1.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_1.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_1.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_1.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_1.js Mon Apr 22 10:37:18 
2019
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['accuracy',['Accuracy',['../classsinga_1_1Accuracy.html',1,'singa']]],
+  ['adagrad',['AdaGrad',['../classsinga_1_1AdaGrad.html',1,'singa']]],
+  
['add',['Add',['../classsinga_1_1FeedForwardNet.html#a3802c112004a7587c6f61ef07c6fb776',1,'singa::FeedForwardNet::Add(std::shared_ptr&lt;
 Layer &gt; 
layer)'],['../classsinga_1_1FeedForwardNet.html#a063475b1cbd8a7345c9dd5fb31fe60be',1,'singa::FeedForwardNet::Add(const
 LayerConf &amp;conf, const Shape *sample_shape=nullptr)']]],
+  
['addcolumn',['AddColumn',['../namespacesinga.html#a554727b758d0cbd7f21cd94e65f18f93',1,'singa::AddColumn(const
 Tensor &amp;v, Tensor 
*M)'],['../namespacesinga.html#ab99174091f942384e0aa5cdbb4d493cc',1,'singa::AddColumn(const
 SType alpha, const SType beta, const Tensor &amp;v, Tensor *out)']]],
+  
['addrow',['AddRow',['../namespacesinga.html#a0cbe7f264403cb0e91f86ca216ec2710',1,'singa::AddRow(const
 Tensor &amp;v, Tensor 
*out)'],['../namespacesinga.html#a1b7c2d0ce4c0b704d2719d93f0251e76',1,'singa::AddRow(const
 SType alpha, const SType beta, const Tensor &amp;v, Tensor *M)']]],
+  
['apply',['Apply',['../classsinga_1_1Optimizer.html#a98c129ff433c9faff924f17618126539',1,'singa::Optimizer::Apply(int
 epoch, float lr, const string &amp;name, Tensor &amp;grad, Tensor &amp;value, 
int 
step=-1)=0'],['../classsinga_1_1Optimizer.html#a23eb982f713174589788369a0316e81d',1,'singa::Optimizer::Apply(int
 epoch, const string &amp;name, Tensor &amp;grad, Tensor &amp;value, int 
step=-1)'],['../classsinga_1_1Constraint.html#afeea35b7cc9bbceb9973d9918b70d211',1,'singa::Constraint::Apply(int
 epoch, const Tensor &amp;value, Tensor &amp;grad, int 
step=-1)'],['../classsinga_1_1Constraint.html#ab6b7bc7abeb5d6d14be0839193e377c1',1,'singa::Constraint::Apply(int
 epoch, const vector&lt; Tensor &gt; &amp;values, const vector&lt; Tensor &gt; 
&amp;grads, int 
step=-1)'],['../classsinga_1_1Regularizer.html#a0a0def23a8d3efdf2d2a9025065fc7da',1,'singa::Regularizer::Apply(int
 epoch, const Tensor &amp;value, Tensor &amp;grad, int 
step=-1)'],['../classsinga_1_1Regularizer.html#ad791f45a06572dd88a0
 ab092ddd125f1',1,'singa::Regularizer::Apply(int epoch, const vector&lt; Tensor 
&gt; &amp;values, const vector&lt; Tensor &gt; &amp;grads, int 
step=-1)'],['../classsinga_1_1SGD.html#ac73356906d1ca127d7d13c376b5edafe',1,'singa::SGD::Apply()'],['../classsinga_1_1Nesterov.html#a6551a089c8073dd13b27d59b06ccf2eb',1,'singa::Nesterov::Apply()'],['../classsinga_1_1AdaGrad.html#ac9b378fe7ae88f88e45b817f89871f69',1,'singa::AdaGrad::Apply()'],['../classsinga_1_1RMSProp.html#a2b83ee5006967e91eed435c6adcf782d',1,'singa::RMSProp::Apply()'],['../classsinga_1_1Updater.html#ac07c0e7cd69b631244b7c2c4bb90c0ec',1,'singa::Updater::Apply()'],['../classsinga_1_1LocalUpdater.html#a700d688de66ac310dcaa93d0ce9adeb2',1,'singa::LocalUpdater::Apply()']]],
+  
['astype',['AsType',['../classsinga_1_1Tensor.html#acfe6d1399951598288a04531fba1a904',1,'singa::Tensor::AsType()'],['../classsinga_1_1FeedForwardNet.html#a554d848ec434290b2de971c91c0f2e83',1,'singa::FeedForwardNet::AsType()'],['../classsinga_1_1Layer.html#a2cccba7a2b3a1bed714f9be2b8b4d520',1,'singa::Layer::AsType()']]],
+  
['average',['Average',['../namespacesinga.html#a9a8ade3c623ecb13de53f14da2728df8',1,'singa']]],
+  
['axpy',['Axpy',['../namespacesinga.html#a7389cb7b91f0265c19f0968b02c8245b',1,'singa']]]
+];

Added: incubator/singa/site/trunk/doxygen/html/search/all_10.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_10.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_10.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_10.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_10.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_10.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_10.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_10.js Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,15 @@
+var searchData=
+[
+  
['read',['Read',['../classsinga_1_1io_1_1Reader.html#a8d45ee8b877e4344d776265af16e0c4b',1,'singa::io::Reader::Read()'],['../classsinga_1_1io_1_1BinFileReader.html#a956414a417964de2a8f8248ea8ba1e0c',1,'singa::io::BinFileReader::Read()'],['../classsinga_1_1io_1_1TextFileReader.html#af073eb6bb148be54145d0c38347556e9',1,'singa::io::TextFileReader::Read()'],['../classsinga_1_1Snapshot.html#a1b5a7c9bd8571523929f973d60911a9c',1,'singa::Snapshot::Read()'],['../classsinga_1_1Snapshot.html#aa5153b76cd995cf42c7b61010ffdd648',1,'singa::Snapshot::Read(const
 std::string &amp;Key)']]],
+  ['reader',['Reader',['../classsinga_1_1io_1_1Reader.html',1,'singa::io']]],
+  
['readfield',['ReadField',['../classsinga_1_1io_1_1BinFileReader.html#afb5a302a0633012c0e7a52514e8cfff0',1,'singa::io::BinFileReader']]],
+  
['readshape',['ReadShape',['../classsinga_1_1Snapshot.html#a25c10f3e39b912fb0a72b4e575c60c0f',1,'singa::Snapshot::ReadShape()'],['../classsinga_1_1Snapshot.html#a0475ba53518a9f6b6bcced2d00db14be',1,'singa::Snapshot::ReadShape(const
 std::string &amp;key)']]],
+  
['register',['Register',['../classsinga_1_1Optimizer.html#a6385d176ba3b2bf744221f8801291f3e',1,'singa::Optimizer::Register()'],['../classsinga_1_1Updater.html#a279ada6bda1f42a420245f5258bba221',1,'singa::Updater::Register()'],['../classsinga_1_1LocalUpdater.html#a4b44fb78738f1ed042c3425e5681aa33',1,'singa::LocalUpdater::Register()'],['../classFactory.html#a59c8b156b2e87ee68b06a5dc1c07f084',1,'Factory::Register()']]],
+  ['registra',['Registra',['../classRegistra.html',1,'']]],
+  
['regularizer',['Regularizer',['../classsinga_1_1Regularizer.html',1,'singa']]],
+  
['repeatdata',['RepeatData',['../classsinga_1_1Tensor.html#a3a36059ddc56785efc13939d022f7d6c',1,'singa::Tensor']]],
+  
['resetlike',['ResetLike',['../classsinga_1_1Tensor.html#a8593ee267f73de51aeac35cd2a527f1d',1,'singa::Tensor']]],
+  
['reshape',['Reshape',['../classsinga_1_1Tensor.html#ab926cc6a52b4769422d3f79c001487f3',1,'singa::Tensor::Reshape()'],['../namespacesinga.html#a4845cf0243e227bdf92a7cb536698ec9',1,'singa::Reshape()']]],
+  
['resize',['Resize',['../classsinga_1_1Tensor.html#a4c246861034f2c704ed3190988b40fe8',1,'singa::Tensor']]],
+  ['rmsprop',['RMSProp',['../classsinga_1_1RMSProp.html',1,'singa']]]
+];

Added: incubator/singa/site/trunk/doxygen/html/search/all_11.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_11.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_11.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_11.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_11.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_11.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_11.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_11.js Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,33 @@
+var searchData=
+[
+  ['safequeue',['SafeQueue',['../classSafeQueue.html',1,'']]],
+  
['safequeue_3c_20element_2c_20std_3a_3apriority_5fqueue_3c_20element_20_3e_20_3e',['SafeQueue&lt;
 Element, std::priority_queue&lt; Element &gt; 
&gt;',['../classSafeQueue.html',1,'']]],
+  ['scheduler',['Scheduler',['../classsinga_1_1Scheduler.html',1,'singa']]],
+  
['seektofirst',['SeekToFirst',['../classsinga_1_1io_1_1Reader.html#a82bb5bcb71d5abc58ffad4b698eb4965',1,'singa::io::Reader::SeekToFirst()'],['../classsinga_1_1io_1_1BinFileReader.html#ae73a7c0aed3d2667ff83176c7dc3539c',1,'singa::io::BinFileReader::SeekToFirst()'],['../classsinga_1_1io_1_1TextFileReader.html#a482f90691aaded562a41f9ec89884097',1,'singa::io::TextFileReader::SeekToFirst()']]],
+  
['send',['Send',['../classsinga_1_1Channel.html#aa951f405d0cf20944afa5a73c2e166f6',1,'singa::Channel::Send(const
 std::string 
&amp;message)'],['../classsinga_1_1Channel.html#a306d4777018e397a24abb29468d149d9',1,'singa::Channel::Send(const
 google::protobuf::Message &amp;message)']]],
+  
['setchanneldirectory',['SetChannelDirectory',['../namespacesinga.html#adc9d8f53816244f6006141817e3b86db',1,'singa']]],
+  
['setdestfilepath',['SetDestFilePath',['../classsinga_1_1Channel.html#a13af9ce49d21bf3b04c198f5580097dd',1,'singa::Channel']]],
+  
['setlearningrategenerator',['SetLearningRateGenerator',['../classsinga_1_1Optimizer.html#a2f3ba1fe776cdf373565b0cf208bf540',1,'singa::Optimizer']]],
+  
['setlogdestination',['SetLogDestination',['../namespacesinga.html#a23f5f64072659d14ef6251faaead345a',1,'singa']]],
+  
['setmomentumgenerator',['SetMomentumGenerator',['../classsinga_1_1SGD.html#a70d7de98ba845ff4deb46f0e1301a34c',1,'singa::SGD::SetMomentumGenerator()'],['../classsinga_1_1Nesterov.html#a2ffcfb0b5c20aeaa7af40254bcf85396',1,'singa::Nesterov::SetMomentumGenerator()']]],
+  
['setstderrlogging',['SetStderrLogging',['../namespacesinga.html#af45997ae6f3babb10023156d4c0993fc',1,'singa']]],
+  
['setup',['Setup',['../classsinga_1_1ImageTransformer.html#a96dbd65ebac2c4df2d5e07b1e7a0ae9a',1,'singa::ImageTransformer::Setup()'],['../classsinga_1_1Initializer.html#a7ffa4b002b680d125f2725f39f658a72',1,'singa::Initializer::Setup()'],['../classsinga_1_1init_1_1Constant.html#af6d2629610e24d4eda3365f7ca928468',1,'singa::init::Constant::Setup()'],['../classsinga_1_1init_1_1Uniform.html#a9a01bd4cb9780414720ac21abeaed1cf',1,'singa::init::Uniform::Setup()'],['../classsinga_1_1init_1_1Gaussian.html#abfe2c416e0c68253bd2fb21897dd7980',1,'singa::init::Gaussian::Setup()'],['../classsinga_1_1Layer.html#a1462d97e5a7c0954d34b56d94eebeb9b',1,'singa::Layer::Setup(const
 Shape &amp;in_shape, const string 
&amp;proto_str)'],['../classsinga_1_1Layer.html#a3a302d7b93109f8d00837b72f501c1e2',1,'singa::Layer::Setup(const
 vector&lt; Shape &gt; &amp;in_shapes, const string 
&amp;proto_str)'],['../classsinga_1_1Layer.html#a3866ece143b21c76702ca4ce76e79500',1,'singa::Layer::Setup(const
 Shape &amp;in_sample, 
 const LayerConf 
&amp;conf)'],['../classsinga_1_1Layer.html#a580bee8561fae6918d4438841fb1b938',1,'singa::Layer::Setup(const
 vector&lt; Shape &gt; &amp;in_samples, const LayerConf 
&amp;conf)'],['../classsinga_1_1Loss.html#a5be3a26d72200fb17ce1b2fa8c866525',1,'singa::Loss::Setup()'],['../classsinga_1_1Metric.html#a0d5f2debebaedd389a59a2ee18068175',1,'singa::Metric::Setup()'],['../classsinga_1_1Accuracy.html#a5151ebab1b0436d6330ad24656b52b3d',1,'singa::Accuracy::Setup()'],['../classsinga_1_1Optimizer.html#ad0940567e5f2ac6ec99132f2c013c94a',1,'singa::Optimizer::Setup(const
 string 
&amp;str)'],['../classsinga_1_1Optimizer.html#aa51db156a64d285d04f575398bb79d1c',1,'singa::Optimizer::Setup(const
 OptimizerConf 
&amp;conf)'],['../classsinga_1_1SGD.html#a74b836b2a2a33f1d2cf8b7b0dbcdae47',1,'singa::SGD::Setup()'],['../classsinga_1_1Nesterov.html#a117377bc4294f46759e7d87834c6772d',1,'singa::Nesterov::Setup()'],['../classsinga_1_1AdaGrad.html#afc3a6e5030ba5517a9c22158c784d976',1,'singa::AdaGrad::Se
 
tup()'],['../classsinga_1_1RMSProp.html#a8e2e088416dd043d0902aeba51e08537',1,'singa::RMSProp::Setup()'],['../classsinga_1_1Updater.html#a6cc4fdac0b011f0500c0d7bf9ad78e1a',1,'singa::Updater::Setup()']]],
+  
['setvalue',['SetValue',['../classsinga_1_1Tensor.html#a6b940544ecf97e88d716af395b728a26',1,'singa::Tensor']]],
+  ['sgd',['SGD',['../classsinga_1_1SGD.html',1,'singa']]],
+  ['singa',['singa',['../namespacesinga.html',1,'']]],
+  ['singleton',['Singleton',['../classSingleton.html',1,'']]],
+  
['size',['Size',['../classsinga_1_1Tensor.html#a1c38d62986020862905d1307c09972e0',1,'singa::Tensor::Size()'],['../classSafeQueue.html#ad8c8beb82fe07d1bbb74a78480d02ff2',1,'SafeQueue::Size()'],['../classPriorityQueue.html#a4e37ab2e501407763e3a1f35ce417739',1,'PriorityQueue::Size()']]],
+  
['slicecolumns',['SliceColumns',['../namespacesinga.html#a6e4b7304c7c43a3260fdbba3b658af36',1,'singa']]],
+  
['sliceon',['SliceOn',['../namespacesinga.html#a9db0996d454f23b8ed4ea502f2a464c1',1,'singa']]],
+  
['slicerows',['SliceRows',['../namespacesinga.html#a8e159ad4bd62b5794956485a38fee212',1,'singa']]],
+  
['snapshot',['Snapshot',['../classsinga_1_1Snapshot.html',1,'singa::Snapshot'],['../classsinga_1_1Snapshot.html#a6c953392f9d314ed0bf644a5d64eac84',1,'singa::Snapshot::Snapshot()']]],
+  
['softmax',['SoftMax',['../namespacesinga.html#ab25f7f15d8b9719a610a24c1ad81facd',1,'singa::SoftMax(const
 Tensor 
&amp;in)'],['../namespacesinga.html#a6e6b2833ed00ace43384c67a246b6d28',1,'singa::SoftMax(const
 Tensor &amp;in, Tensor *out)']]],
+  
['softmaxcrossentropy',['SoftmaxCrossEntropy',['../classsinga_1_1SoftmaxCrossEntropy.html',1,'singa']]],
+  
['softmaxcrossentropybwd',['SoftmaxCrossEntropyBwd',['../namespacesinga.html#aab9a080006025616d7278b23a8ab4cd4',1,'singa']]],
+  
['subcolumn',['SubColumn',['../namespacesinga.html#a629d839716eb77397c632d1af6dce5f2',1,'singa']]],
+  
['subrow',['SubRow',['../namespacesinga.html#ac37f3f825414426f54bf7bedd6ffa8aa',1,'singa']]],
+  
['sum',['Sum',['../namespacesinga.html#a046c11f765cd1d656aca1d55f3dec40b',1,'singa']]],
+  
['sumcolumns',['SumColumns',['../namespacesinga.html#a976fe0564db9515f38650b5628d92c86',1,'singa']]],
+  
['sumrows',['SumRows',['../namespacesinga.html#a37daa1263efbf66896d6948f779f7d07',1,'singa']]],
+  
['sync',['Sync',['../classsinga_1_1Device.html#a61744e09ab97eeeb8b822bd9adc930db',1,'singa::Device']]]
+];

Added: incubator/singa/site/trunk/doxygen/html/search/all_12.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_12.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_12.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_12.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_12.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_12.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_12.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_12.js Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,22 @@
+var searchData=
+[
+  
['t',['T',['../classsinga_1_1Tensor.html#ab725179d07eb24323271af9540f9c046',1,'singa::Tensor']]],
+  
['tensor',['Tensor',['../classsinga_1_1Tensor.html',1,'singa::Tensor'],['../classsinga_1_1Tensor.html#a5e927b96220f66e87cb7582cc6f9bbc3',1,'singa::Tensor::Tensor(const
 Shape &amp;shape, DataType 
dtype=kFloat32)'],['../classsinga_1_1Tensor.html#a0b3a329469bbaa5fbdec902f3250f7e5',1,'singa::Tensor::Tensor(const
 Shape &amp;shape, std::shared_ptr&lt; Device &gt; dev, DataType 
dtype=kFloat32)'],['../classsinga_1_1Tensor.html#a8689563f7f55e646a7bce8245387571f',1,'singa::Tensor::Tensor(const
 Tensor 
&amp;from)'],['../classsinga_1_1Tensor.html#af32b9e397a7c5cd3c8d9ff7e8738836c',1,'singa::Tensor::Tensor(Tensor
 &amp;&amp;from)']]],
+  
['textfilereader',['TextFileReader',['../classsinga_1_1io_1_1TextFileReader.html',1,'singa::io']]],
+  
['textfilewriter',['TextFileWriter',['../classsinga_1_1io_1_1TextFileWriter.html',1,'singa::io']]],
+  
['tick',['Tick',['../classsinga_1_1Timer.html#a144cdf92b81d46823d1f179b14fabe0c',1,'singa::Timer']]],
+  
['timer',['Timer',['../classsinga_1_1Timer.html',1,'singa::Timer'],['../classsinga_1_1Timer.html#a6cfa2e79d680a01774e1846ed0585b16',1,'singa::Timer::Timer()']]],
+  ['tinydir_5fdir',['tinydir_dir',['../structtinydir__dir.html',1,'']]],
+  ['tinydir_5ffile',['tinydir_file',['../structtinydir__file.html',1,'']]],
+  
['todevice',['ToDevice',['../classsinga_1_1Tensor.html#a10e51ef8fe5fb5f9157da5ae56619c49',1,'singa::Tensor::ToDevice()'],['../classsinga_1_1FeedForwardNet.html#a165e4e2bad62e2ad6fb9dcaed1e2b568',1,'singa::FeedForwardNet::ToDevice()'],['../classsinga_1_1Layer.html#a3ffe3b58b69ccb87c48e4172f818cba5',1,'singa::Layer::ToDevice()']]],
+  
['tohost',['ToHost',['../classsinga_1_1Tensor.html#a7b214269cb2dcea698befe14aae11f2e',1,'singa::Tensor']]],
+  ['tokenizer',['Tokenizer',['../classsinga_1_1Tokenizer.html',1,'singa']]],
+  
['toproto',['ToProto',['../classsinga_1_1Tensor.html#ac457aeb46420507b5bc0a31d568e6fcd',1,'singa::Tensor::ToProto()'],['../classsinga_1_1Layer.html#a2f1ab53e65ec8592794494995164f12c',1,'singa::Layer::ToProto()']]],
+  
['toprotostr',['ToProtoStr',['../classsinga_1_1Layer.html#aa7386bdb843345ba6c2095c83ffbd244',1,'singa::Layer']]],
+  
['train',['Train',['../classsinga_1_1FeedForwardNet.html#a32ef60dad6226d6c03e5917083be5830',1,'singa::FeedForwardNet::Train(size_t
 batchsize, int nb_epoch, const Tensor &amp;x, const Tensor &amp;y, float 
val_split=0.0f)'],['../classsinga_1_1FeedForwardNet.html#a63ddd842dbf10260100e6a32735dcbb9',1,'singa::FeedForwardNet::Train(size_t
 batchsize, int nb_epoch, const Tensor &amp;x, const Tensor &amp;y, const 
Tensor &amp;val_x, const Tensor &amp;val_y)']]],
+  
['trainonbatch',['TrainOnBatch',['../classsinga_1_1FeedForwardNet.html#a6906ac848b6d934fe0ce515dddc386ad',1,'singa::FeedForwardNet']]],
+  
['trainthread',['TrainThread',['../classsinga_1_1FeedForwardNet.html#a15306a1719ecd371e7da99d387dbf80c',1,'singa::FeedForwardNet::TrainThread(size_t
 batchsize, int nb_epoch, const Tensor &amp;x, const Tensor &amp;y, const 
Tensor &amp;val_x, const Tensor 
&amp;val_y)'],['../classsinga_1_1FeedForwardNet.html#a62e80931af5311dda492f838f4274dcd',1,'singa::FeedForwardNet::TrainThread(size_t
 batchsize, int nb_epoch, const Tensor &amp;x, const Tensor &amp;y)']]],
+  
['transformer',['Transformer',['../classsinga_1_1Transformer.html',1,'singa']]],
+  
['transpose',['Transpose',['../classsinga_1_1Tensor.html#af2279b51a1eb0b4896937ce0133f4dbd',1,'singa::Tensor::Transpose()'],['../classsinga_1_1Tensor.html#a9d98daca7ea5c6cb14354611b9cc4711',1,'singa::Tensor::Transpose(const
 vector&lt; size_t &gt; 
&amp;axes)'],['../classsinga_1_1Tensor.html#adcaa6e890701e7a6b3823936c65b95cb',1,'singa::Tensor::transpose()
 
const'],['../namespacesinga.html#a2b658f8813175483db55a31e0e02d15c',1,'singa::Transpose(const
 Tensor 
&amp;in)'],['../namespacesinga.html#abc3785f288bc3b577696b8283129162b',1,'singa::Transpose(const
 Tensor &amp;in, const vector&lt; size_t &gt; &amp;axes)']]],
+  
['trypop',['TryPop',['../classSafeQueue.html#aad136ab2d232ff62375d0c347e906bb2',1,'SafeQueue::TryPop()'],['../classPriorityQueue.html#a39433c1537f78686e95f0242d3d1d245',1,'PriorityQueue::TryPop()']]]
+];

Added: incubator/singa/site/trunk/doxygen/html/search/all_13.html
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_13.html?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_13.html (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_13.html Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>

Added: incubator/singa/site/trunk/doxygen/html/search/all_13.js
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/doxygen/html/search/all_13.js?rev=1857944&view=auto
==============================================================================
--- incubator/singa/site/trunk/doxygen/html/search/all_13.js (added)
+++ incubator/singa/site/trunk/doxygen/html/search/all_13.js Mon Apr 22 
10:37:18 2019
@@ -0,0 +1,5 @@
+var searchData=
+[
+  
['uniform',['Uniform',['../classsinga_1_1init_1_1Uniform.html',1,'singa::init::Uniform'],['../namespacesinga.html#a6340f2195aa5759e2f2266848a4c57e0',1,'singa::Uniform()']]],
+  ['updater',['Updater',['../classsinga_1_1Updater.html',1,'singa']]]
+];


Reply via email to