http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer-members.html 
b/api/classsinga_1_1SliceLayer-members.html
new file mode 100644
index 0000000..0ffb533
--- /dev/null
+++ b/api/classsinga_1_1SliceLayer-members.html
@@ -0,0 +1,159 @@
+<!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.6"/>
+<title>Apache SINGA: Member List</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a 
href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" 
onclick="searchBox.OnSelectItem(0)"><span 
class="SelectionMark">&#160;</span>All</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span 
class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span 
class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span 
class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span 
class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span 
class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span 
class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" 
href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span 
class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span 
class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" 
href="classsinga_1_1SliceLayer.html">SliceLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::SliceLayer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>, including all 
inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td 
class="entry"><b>AddDstLayer</b>(SLayer dst) (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AddSrcLayer</b>(SLayer src) 
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ClearDstLayers</b>() 
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ClearSrcLayers</b>() (defined in 
<a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td 
class="entry"><b>ComputeFeature</b>(bool training, const vector&lt; 
shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">singa::Layer::ComputeFeature</a>(bool
 training, const vector&lt; SLayer &gt; &amp;srclayers)=0</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">singa::Layer::ComputeFeature</a>(bool
 training)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ComputeGradient</b>(const 
vector&lt; shared_ptr&lt; Layer &gt;&gt; &amp;srclayers) (defined in <a 
class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">singa::Layer::ComputeGradient</a>(const
 vector&lt; SLayer &gt; &amp;srclayers)=0</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">singa::Layer::ComputeGradient</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>(int
 k) const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">data</a>(const
 Layer *layer=nullptr) const </td><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_</b> (defined 
in <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>datavec_</b> (defined in <a 
class="el" href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a>()
 const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>dstlayers_</b> (defined in <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dstlayers_size</b>() 
const  (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grad</b>(const Layer 
*layer=nullptr) const  (defined in <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grad_</b> (defined in <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>gradvec_</b> 
(defined in <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a>(const
 LayerProto &amp;proto)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a>(const
 Layer &amp;other, const vector&lt; int &gt; &amp;shape)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_bridgedstlayer</b>() const  
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td 
class="entry"><b>is_bridgesrclayer</b>() const  (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_datalayer</b>() const  
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_losslayer</b>() 
const  (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_parserlayer</b>() const  
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Layer</b>() (defined 
in <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>layer_proto_</b> (defined in <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>locationid</b>() 
const  (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_data</b>(const Layer 
*layer=nullptr) (defined in <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">mutable_grad</a>(const
 Layer *layer=nullptr)</td><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>() 
const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>name_</b> (defined 
in <a class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>partitiionid</b>() const  
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a>()
 const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a>()
 const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>(int
 id)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(string name) 
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>(int
 id)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html#a965d30f2b8ddb853b661671f73d7e8ea">Setup</a>(const
 LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;srclayers)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">singa::Layer::Setup</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html#a15ce41c27243962d2c6c9791f9661ace">SetupAfterPartition</a>()</td><td
 class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">SetupAfterPartition</a>(const
 LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const vector&lt; 
SLayer &gt; &amp;srclayers)</td><td class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>shape</b>(const Layer 
*layer=nullptr) const  (defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SliceID</b>(const 
Layer *layer) const  (defined in <a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1SliceLayer.html">singa::SliceLayer</a></td><td 
class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>()
 const </td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>srclayers_</b> 
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>srclayers_size</b>() const  
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a>(LayerProto
 *layer_proto, bool copyData)</td><td class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b>() const  (defined in <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Layer</b>() 
(defined in <a class="el" 
href="classsinga_1_1Layer.html">singa::Layer</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td><td 
class="entry"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer.html 
b/api/classsinga_1_1SliceLayer.html
new file mode 100644
index 0000000..30cb33d
--- /dev/null
+++ b/api/classsinga_1_1SliceLayer.html
@@ -0,0 +1,444 @@
+<!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.6"/>
+<title>Apache SINGA: singa::SliceLayer Class Reference</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a 
href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" 
onclick="searchBox.OnSelectItem(0)"><span 
class="SelectionMark">&#160;</span>All</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span 
class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span 
class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span 
class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span 
class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span 
class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span 
class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" 
href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span 
class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span 
class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" 
href="classsinga_1_1SliceLayer.html">SliceLayer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1SliceLayer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::SliceLayer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Slice this layer into multiple dst layers on one dimension.  
+ <a href="classsinga_1_1SliceLayer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" 
href="base__layer_8h_source.html">base_layer.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for singa::SliceLayer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1SliceLayer.png" usemap="#singa::SliceLayer_map" 
alt=""/>
+  <map id="singa::SliceLayer_map" name="singa::SliceLayer_map">
+<area href="classsinga_1_1Layer.html" title="Base layer class. " 
alt="singa::Layer" shape="rect" coords="0,0,109,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a965d30f2b8ddb853b661671f73d7e8ea"><td class="memItemLeft" 
align="right" valign="top">virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1SliceLayer.html#a965d30f2b8ddb853b661671f73d7e8ea">Setup</a>
 (const LayerProto &amp;proto, const vector&lt; SLayer &gt; &amp;<a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:a965d30f2b8ddb853b661671f73d7e8ea"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Setup layer properties.  <a 
href="#a965d30f2b8ddb853b661671f73d7e8ea">More...</a><br/></td></tr>
+<tr class="separator:a965d30f2b8ddb853b661671f73d7e8ea"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15ce41c27243962d2c6c9791f9661ace"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a15ce41c27243962d2c6c9791f9661ace"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1SliceLayer.html#a15ce41c27243962d2c6c9791f9661ace">SetupAfterPartition</a>
 ()</td></tr>
+<tr class="memdesc:a15ce41c27243962d2c6c9791f9661ace"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties 
except shape. <br/></td></tr>
+<tr class="separator:a15ce41c27243962d2c6c9791f9661ace"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf443fffadbdb5671e7982028689bbca"><td class="memItemLeft" 
align="right" valign="top">virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1SliceLayer.html#adf443fffadbdb5671e7982028689bbca">SetupAfterPartition</a>
 (const LayerProto &amp;proto, const vector&lt; int &gt; &amp;shape, const 
vector&lt; SLayer &gt; &amp;<a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="memdesc:adf443fffadbdb5671e7982028689bbca"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Setup the layer properties 
except shape.  <a 
href="#adf443fffadbdb5671e7982028689bbca">More...</a><br/></td></tr>
+<tr class="separator:adf443fffadbdb5671e7982028689bbca"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a635401ab1990f4dd97bf936cc6c61e71"><td class="memItemLeft" 
align="right" valign="top">virtual const <a class="el" 
href="classBlob.html">Blob</a>&lt; float &gt; &amp;&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1SliceLayer.html#a635401ab1990f4dd97bf936cc6c61e71">data</a> 
(const <a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) 
const </td></tr>
+<tr class="separator:a635401ab1990f4dd97bf936cc6c61e71"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a057e2c2b571d3ba8526a3944a7bd05da"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a057e2c2b571d3ba8526a3944a7bd05da"></a>
+virtual const <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; 
&amp;&#160;</td><td class="memItemRight" valign="bottom"><b>grad</b> (const <a 
class="el" href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const 
</td></tr>
+<tr class="separator:a057e2c2b571d3ba8526a3944a7bd05da"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adad53b73b1debe2d3f0e7fdfa7d2493c"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="adad53b73b1debe2d3f0e7fdfa7d2493c"></a>
+virtual <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; 
*&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_data</b> (const 
<a class="el" href="classsinga_1_1Layer.html">Layer</a> 
*layer=nullptr)</td></tr>
+<tr class="separator:adad53b73b1debe2d3f0e7fdfa7d2493c"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4022c8722eb9b77d8b774c8987c4cf7e"><td class="memItemLeft" 
align="right" valign="top">virtual <a class="el" 
href="classBlob.html">Blob</a>&lt; float &gt; *&#160;</td><td 
class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1SliceLayer.html#a4022c8722eb9b77d8b774c8987c4cf7e">mutable_grad</a>
 (const <a class="el" href="classsinga_1_1Layer.html">Layer</a> 
*layer=nullptr)</td></tr>
+<tr class="separator:a4022c8722eb9b77d8b774c8987c4cf7e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91421469bced24dc7be3f3e4af9eb58d"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a91421469bced24dc7be3f3e4af9eb58d"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>ComputeFeature</b> (bool training, const vector&lt; 
shared_ptr&lt; <a class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; 
&amp;<a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a91421469bced24dc7be3f3e4af9eb58d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d5ca8c923a09e830568dd61bee90f28"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a6d5ca8c923a09e830568dd61bee90f28"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>ComputeGradient</b> (const vector&lt; shared_ptr&lt; <a 
class="el" href="classsinga_1_1Layer.html">Layer</a> &gt;&gt; &amp;<a 
class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)</td></tr>
+<tr class="separator:a6d5ca8c923a09e830568dd61bee90f28"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classsinga_1_1Layer"><td colspan="2" 
onclick="javascript:toggleInherit('pub_methods_classsinga_1_1Layer')"><img 
src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:aeec3259af3b38227d4e3b3c5f5340573 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#aeec3259af3b38227d4e3b3c5f5340573">Init</a> 
(const LayerProto &amp;proto)</td></tr>
+<tr class="memdesc:aeec3259af3b38227d4e3b3c5f5340573 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">simply save the proto configuation.  <a 
href="#aeec3259af3b38227d4e3b3c5f5340573">More...</a><br/></td></tr>
+<tr class="separator:aeec3259af3b38227d4e3b3c5f5340573 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:abc49f57fad4091d99578512c9d24d436 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="abc49f57fad4091d99578512c9d24d436"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#abc49f57fad4091d99578512c9d24d436">Init</a> 
(const <a class="el" href="classsinga_1_1Layer.html">Layer</a> &amp;other, 
const vector&lt; int &gt; &amp;shape)</td></tr>
+<tr class="memdesc:abc49f57fad4091d99578512c9d24d436 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">copy layer configuration from the other <a class="el" 
href="classsinga_1_1Layer.html" title="Base layer class. ">Layer</a>, and set 
the shape. <br/></td></tr>
+<tr class="separator:abc49f57fad4091d99578512c9d24d436 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:aa029c17a260a114802c46d9faa347b7f inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#aa029c17a260a114802c46d9faa347b7f">ToProto</a> 
(LayerProto *layer_proto, bool copyData)</td></tr>
+<tr class="memdesc:aa029c17a260a114802c46d9faa347b7f inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Marshal layer properties and data into google protobuf 
object (i.e., snapshot).  <a 
href="#aa029c17a260a114802c46d9faa347b7f">More...</a><br/></td></tr>
+<tr class="separator:aa029c17a260a114802c46d9faa347b7f inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:ae691995f08f16d01739f98b6d9bd0335 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#ae691995f08f16d01739f98b6d9bd0335">Setup</a> 
()</td></tr>
+<tr class="memdesc:ae691995f08f16d01739f98b6d9bd0335 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Setup layer properties.  <a 
href="#ae691995f08f16d01739f98b6d9bd0335">More...</a><br/></td></tr>
+<tr class="separator:ae691995f08f16d01739f98b6d9bd0335 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0688e641c845aee9964a3d96172731 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual vector&lt; shared_ptr<br class="typebreak"/>
+&lt; <a class="el" href="classsinga_1_1Param.html">Param</a> &gt; 
&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#aff0688e641c845aee9964a3d96172731">GetParams</a> 
()</td></tr>
+<tr class="memdesc:aff0688e641c845aee9964a3d96172731 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Layers that have paramters must overload this function.  <a 
href="#aff0688e641c845aee9964a3d96172731">More...</a><br/></td></tr>
+<tr class="separator:aff0688e641c845aee9964a3d96172731 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a11ef38d1bf31d054a96a1ac45fd49299 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#a11ef38d1bf31d054a96a1ac45fd49299">ComputeFeature</a>
 (bool training, const vector&lt; SLayer &gt; &amp;<a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a11ef38d1bf31d054a96a1ac45fd49299 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Compute features of this layer based on connected layers.  
<a href="#a11ef38d1bf31d054a96a1ac45fd49299">More...</a><br/></td></tr>
+<tr class="separator:a11ef38d1bf31d054a96a1ac45fd49299 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:af5d9b7aba92f5ead82872e5a70a1def0 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="af5d9b7aba92f5ead82872e5a70a1def0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#af5d9b7aba92f5ead82872e5a70a1def0">ComputeFeature</a>
 (bool training)</td></tr>
+<tr class="separator:af5d9b7aba92f5ead82872e5a70a1def0 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb4b3141896bff0d7c423a24308fd63 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#a7eb4b3141896bff0d7c423a24308fd63">ComputeGradient</a>
 (const vector&lt; SLayer &gt; &amp;<a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a>)=0</td></tr>
+<tr class="memdesc:a7eb4b3141896bff0d7c423a24308fd63 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Compute gradients for parameters and connecting layers.  <a 
href="#a7eb4b3141896bff0d7c423a24308fd63">More...</a><br/></td></tr>
+<tr class="separator:a7eb4b3141896bff0d7c423a24308fd63 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a50591a153fbfe349d8d307781d19ebb5 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a50591a153fbfe349d8d307781d19ebb5"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a50591a153fbfe349d8d307781d19ebb5">ComputeGradient</a>
 ()</td></tr>
+<tr class="memdesc:a50591a153fbfe349d8d307781d19ebb5 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Compute gradients for parameters and connecting layers. 
<br/></td></tr>
+<tr class="separator:a50591a153fbfe349d8d307781d19ebb5 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a12d268e424e4affada0d5b85ea6d2359 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#a12d268e424e4affada0d5b85ea6d2359">partition_dimension</a>
 () const </td></tr>
+<tr class="memdesc:a12d268e424e4affada0d5b85ea6d2359 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">decide on which dimension to do the partitioning.  <a 
href="#a12d268e424e4affada0d5b85ea6d2359">More...</a><br/></td></tr>
+<tr class="separator:a12d268e424e4affada0d5b85ea6d2359 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e134c5b4a1a8e442626354d2d869caa inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual ConnectionType&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a7e134c5b4a1a8e442626354d2d869caa">connection_type</a>
 (int k) const </td></tr>
+<tr class="memdesc:a7e134c5b4a1a8e442626354d2d869caa inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">return connection type between two layers.  <a 
href="#a7e134c5b4a1a8e442626354d2d869caa">More...</a><br/></td></tr>
+<tr class="separator:a7e134c5b4a1a8e442626354d2d869caa inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top">virtual PartitionType&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#ab3c0e1047f36e2fb783a6fd3d4eabd73">partition_type</a>
 () const </td></tr>
+<tr class="memdesc:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">return partition type of this layer.  <a 
href="#ab3c0e1047f36e2fb783a6fd3d4eabd73">More...</a><br/></td></tr>
+<tr class="separator:ab3c0e1047f36e2fb783a6fd3d4eabd73 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:addab6c99866d34001471f86aede7f6e8 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="addab6c99866d34001471f86aede7f6e8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#addab6c99866d34001471f86aede7f6e8">set_locationid</a>
 (int id)</td></tr>
+<tr class="memdesc:addab6c99866d34001471f86aede7f6e8 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">location id is the execution unit (i.e., thread from the 
working group) ID. <br/></td></tr>
+<tr class="separator:addab6c99866d34001471f86aede7f6e8 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:af3170517c202d998fec1f20b97e6a881 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="af3170517c202d998fec1f20b97e6a881"></a>
+virtual int&#160;</td><td class="memItemRight" 
valign="bottom"><b>locationid</b> () const </td></tr>
+<tr class="separator:af3170517c202d998fec1f20b97e6a881 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:af177cc1bdfc8d57b6992855bf437ef9a inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="af177cc1bdfc8d57b6992855bf437ef9a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#af177cc1bdfc8d57b6992855bf437ef9a">set_partitionid</a>
 (int id)</td></tr>
+<tr class="memdesc:af177cc1bdfc8d57b6992855bf437ef9a inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">partition id is the ID of the layer in the original layer. 
<br/></td></tr>
+<tr class="separator:af177cc1bdfc8d57b6992855bf437ef9a inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="ad7f7ec42c3d8086370d9fbdfaa57fe7a"></a>
+virtual int&#160;</td><td class="memItemRight" 
valign="bottom"><b>partitiionid</b> () const </td></tr>
+<tr class="separator:ad7f7ec42c3d8086370d9fbdfaa57fe7a inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:abc01aee87088c70cedadfe54f60d78c7 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="abc01aee87088c70cedadfe54f60d78c7"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>set_name</b> (string <a class="el" 
href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a>)</td></tr>
+<tr class="separator:abc01aee87088c70cedadfe54f60d78c7 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a50478bdb3fdeb8272d0f693134e5064e inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a50478bdb3fdeb8272d0f693134e5064e"></a>
+virtual const string&#160;</td><td class="memItemRight" 
valign="bottom"><b>type</b> () const </td></tr>
+<tr class="separator:a50478bdb3fdeb8272d0f693134e5064e inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:abc76f037afc13a17ab07082cfae945de inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="abc76f037afc13a17ab07082cfae945de"></a>
+const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="classsinga_1_1Layer.html#abc76f037afc13a17ab07082cfae945de">name</a> () 
const </td></tr>
+<tr class="memdesc:abc76f037afc13a17ab07082cfae945de inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Return name of this layer. <br/></td></tr>
+<tr class="separator:abc76f037afc13a17ab07082cfae945de inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c693432b440fdf2078f6d9921ba394f inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a9c693432b440fdf2078f6d9921ba394f"></a>
+const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" 
valign="bottom"><b>shape</b> (const <a class="el" 
href="classsinga_1_1Layer.html">Layer</a> *layer=nullptr) const </td></tr>
+<tr class="separator:a9c693432b440fdf2078f6d9921ba394f inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a836817f842419098c53fff371ae8fc80 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a836817f842419098c53fff371ae8fc80"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a836817f842419098c53fff371ae8fc80">srclayers</a> 
() const </td></tr>
+<tr class="memdesc:a836817f842419098c53fff371ae8fc80 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">return LayerS that connected to this layer <br/></td></tr>
+<tr class="separator:a836817f842419098c53fff371ae8fc80 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5aeabbc26770bcff169dd907e9c737 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a2c5aeabbc26770bcff169dd907e9c737"></a>
+virtual const vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Layer.html#a2c5aeabbc26770bcff169dd907e9c737">dstlayers</a> 
() const </td></tr>
+<tr class="memdesc:a2c5aeabbc26770bcff169dd907e9c737 inherit 
pub_methods_classsinga_1_1Layer"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">return LayerS that this layer connected to <br/></td></tr>
+<tr class="separator:a2c5aeabbc26770bcff169dd907e9c737 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a944081b99606ba317932bd9994b6fee3 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a944081b99606ba317932bd9994b6fee3"></a>
+virtual const int&#160;</td><td class="memItemRight" 
valign="bottom"><b>srclayers_size</b> () const </td></tr>
+<tr class="separator:a944081b99606ba317932bd9994b6fee3 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ebebda5c30c10648c3f1c4af38f49c4 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a9ebebda5c30c10648c3f1c4af38f49c4"></a>
+virtual const int&#160;</td><td class="memItemRight" 
valign="bottom"><b>dstlayers_size</b> () const </td></tr>
+<tr class="separator:a9ebebda5c30c10648c3f1c4af38f49c4 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8fe0fc86daa0d8092257aecbd7662d3 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="ae8fe0fc86daa0d8092257aecbd7662d3"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>ClearDstLayers</b> ()</td></tr>
+<tr class="separator:ae8fe0fc86daa0d8092257aecbd7662d3 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a089f56583f89f9b4c02acc8b1664b948 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a089f56583f89f9b4c02acc8b1664b948"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>ClearSrcLayers</b> ()</td></tr>
+<tr class="separator:a089f56583f89f9b4c02acc8b1664b948 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3f866084459be028a0f2f931016d33 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="aac3f866084459be028a0f2f931016d33"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>AddSrcLayer</b> (SLayer src)</td></tr>
+<tr class="separator:aac3f866084459be028a0f2f931016d33 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a13a01a39dbcd89c752202cbcbb53c36e inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a13a01a39dbcd89c752202cbcbb53c36e"></a>
+virtual void&#160;</td><td class="memItemRight" 
valign="bottom"><b>AddDstLayer</b> (SLayer dst)</td></tr>
+<tr class="separator:a13a01a39dbcd89c752202cbcbb53c36e inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:aad61de583fe620672dc76963173ab248 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="aad61de583fe620672dc76963173ab248"></a>
+virtual bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>is_datalayer</b> () const </td></tr>
+<tr class="separator:aad61de583fe620672dc76963173ab248 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a3d6c46c2c9e4e0fab3b66b4dae1cb9bc"></a>
+virtual bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>is_parserlayer</b> () const </td></tr>
+<tr class="separator:a3d6c46c2c9e4e0fab3b66b4dae1cb9bc inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab4edffdb3cb2a30b70116e725c6246 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a8ab4edffdb3cb2a30b70116e725c6246"></a>
+virtual bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>is_losslayer</b> () const </td></tr>
+<tr class="separator:a8ab4edffdb3cb2a30b70116e725c6246 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a1927b5a9b362e5839471e481f07f8088 inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a1927b5a9b362e5839471e481f07f8088"></a>
+virtual bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>is_bridgesrclayer</b> () const </td></tr>
+<tr class="separator:a1927b5a9b362e5839471e481f07f8088 inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a140a45def081bfb1be4877ff4091c87e inherit 
pub_methods_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a140a45def081bfb1be4877ff4091c87e"></a>
+virtual bool&#160;</td><td class="memItemRight" 
valign="bottom"><b>is_bridgedstlayer</b> () const </td></tr>
+<tr class="separator:a140a45def081bfb1be4877ff4091c87e inherit 
pub_methods_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1c94669bd9318211163aed7f3e1e264d"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a1c94669bd9318211163aed7f3e1e264d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>SliceID</b> (const 
<a class="el" href="classsinga_1_1Layer.html">Layer</a> *layer) const </td></tr>
+<tr class="separator:a1c94669bd9318211163aed7f3e1e264d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:aa48fa6c974cd4e6a89fe820f598aeca1"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="aa48fa6c974cd4e6a89fe820f598aeca1"></a>
+vector&lt; <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; 
&gt;&#160;</td><td class="memItemRight" 
valign="bottom"><b>datavec_</b></td></tr>
+<tr class="separator:aa48fa6c974cd4e6a89fe820f598aeca1"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaddec74b852844fd0db0f5abc9bb289e"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="aaddec74b852844fd0db0f5abc9bb289e"></a>
+vector&lt; <a class="el" href="classBlob.html">Blob</a>&lt; float &gt; 
&gt;&#160;</td><td class="memItemRight" 
valign="bottom"><b>gradvec_</b></td></tr>
+<tr class="separator:aaddec74b852844fd0db0f5abc9bb289e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classsinga_1_1Layer"><td colspan="2" 
onclick="javascript:toggleInherit('pro_attribs_classsinga_1_1Layer')"><img 
src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a 
class="el" href="classsinga_1_1Layer.html">singa::Layer</a></td></tr>
+<tr class="memitem:a9307fe49ca9fa70a77f00e262e51b58e inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a9307fe49ca9fa70a77f00e262e51b58e"></a>
+string&#160;</td><td class="memItemRight" 
valign="bottom"><b>name_</b></td></tr>
+<tr class="separator:a9307fe49ca9fa70a77f00e262e51b58e inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a6244f7e610e5a4add1c827415f5430fb inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a6244f7e610e5a4add1c827415f5430fb"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><b>data_</b></td></tr>
+<tr class="separator:a6244f7e610e5a4add1c827415f5430fb inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a455a662d1be46a83ac5a42705b77e717 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a455a662d1be46a83ac5a42705b77e717"></a>
+<a class="el" href="classBlob.html">Blob</a>&lt; float &gt;&#160;</td><td 
class="memItemRight" valign="bottom"><b>grad_</b></td></tr>
+<tr class="separator:a455a662d1be46a83ac5a42705b77e717 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a528fc84a4714528fa0419e01d6bba5b1 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a528fc84a4714528fa0419e01d6bba5b1"></a>
+LayerProto&#160;</td><td class="memItemRight" 
valign="bottom"><b>layer_proto_</b></td></tr>
+<tr class="separator:a528fc84a4714528fa0419e01d6bba5b1 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f4a6569d9531304e5c0c3b1bdacda9 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a31f4a6569d9531304e5c0c3b1bdacda9"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><b>srclayers_</b></td></tr>
+<tr class="separator:a31f4a6569d9531304e5c0c3b1bdacda9 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+<tr class="memitem:a755a464d39e139aa161e03be77810101 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memItemLeft" align="right" 
valign="top"><a class="anchor" id="a755a464d39e139aa161e03be77810101"></a>
+vector&lt; SLayer &gt;&#160;</td><td class="memItemRight" 
valign="bottom"><b>dstlayers_</b></td></tr>
+<tr class="separator:a755a464d39e139aa161e03be77810101 inherit 
pro_attribs_classsinga_1_1Layer"><td class="memSeparator" 
colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed 
Description</h2>
+<div class="textblock"><p>Slice this layer into multiple dst layers on one 
dimension. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a635401ab1990f4dd97bf936cc6c61e71"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual const <a class="el" 
href="classBlob.html">Blob</a>&lt;float&gt;&amp; singa::SliceLayer::data </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" 
href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = 
<code>nullptr</code></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>a const ref for <a class="el" 
href="classBlob.html">Blob</a> storing neuron values of this layer for BP 
</dd></dl>
+
+<p>Reimplemented from <a class="el" 
href="classsinga_1_1Layer.html#ad443a1e7f957dad71fd0c9b356a53c20">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4022c8722eb9b77d8b774c8987c4cf7e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" 
href="classBlob.html">Blob</a>&lt;float&gt;* singa::SliceLayer::mutable_grad 
</td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" 
href="classsinga_1_1Layer.html">Layer</a> *&#160;</td>
+          <td class="paramname"><em>from</em> = 
<code>nullptr</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>a pointer to storing neuron 
grads of this layer for BP </dd></dl>
+
+<p>Reimplemented from <a class="el" 
href="classsinga_1_1Layer.html#ad4936117ef7d58193726a966f796fafc">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a965d30f2b8ddb853b661671f73d7e8ea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void singa::SliceLayer::Setup </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup layer properties. </p>
+<p>Setup the shapes for data and parameters, also setup some properties based 
on the layer configuration and connected src layers. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">srclayers</td><td>layers connecting to this 
layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" 
href="classsinga_1_1Layer.html#aecbe8ed0ff294e40586678cef474ca42">singa::Layer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf443fffadbdb5671e7982028689bbca"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void 
singa::SliceLayer::SetupAfterPartition </td>
+          <td>(</td>
+          <td class="paramtype">const LayerProto &amp;&#160;</td>
+          <td class="paramname"><em>proto</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>shape</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const vector&lt; SLayer &gt; &amp;&#160;</td>
+          <td class="paramname"><em>srclayers</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span 
class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the layer properties except shape. </p>
+<p>the shape is already set and passed in to set other properties. perperties 
are set according to shapes of itself and connected layers, and configuration. 
this should not change the current shape_( shape check is done outside the 
function). </p>
+
+<p>Implements <a class="el" 
href="classsinga_1_1Layer.html#af8c911e3ca34f8c288eaddee263661aa">singa::Layer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following 
file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/neuralnet/<a class="el" 
href="base__layer_8h_source.html">base_layer.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:41 for Apache SINGA by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1SliceLayer.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1SliceLayer.png b/api/classsinga_1_1SliceLayer.png
new file mode 100644
index 0000000..5d0dfd8
Binary files /dev/null and b/api/classsinga_1_1SliceLayer.png differ

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket-members.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket-members.html 
b/api/classsinga_1_1Socket-members.html
new file mode 100644
index 0000000..8a0c94d
--- /dev/null
+++ b/api/classsinga_1_1Socket-members.html
@@ -0,0 +1,112 @@
+<!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.6"/>
+<title>Apache SINGA: Member List</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a 
href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" 
onclick="searchBox.OnSelectItem(0)"><span 
class="SelectionMark">&#160;</span>All</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span 
class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span 
class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span 
class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span 
class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span 
class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span 
class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" 
href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span 
class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span 
class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" 
href="classsinga_1_1Socket.html">Socket</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">singa::Socket Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a>, including all inherited 
members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">InternalID</a>()
 const =0</td><td class="entry"><a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span 
class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_id_</b> (defined in <a 
class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span 
class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" 
href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">Receive</a>()=0</td><td
 class="entry"><a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span 
class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" 
href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7">Send</a>(Msg 
*msg)=0</td><td class="entry"><a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span 
class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Socket</b>() 
(defined in <a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td class="entry"><a 
class="el" href="classsinga_1_1Socket.html">singa::Socket</a></td><td 
class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~Socket</b>() (defined in <a 
class="el" href="classsinga_1_1Socket.html">singa::Socket</a>)</td><td 
class="entry"><a class="el" 
href="classsinga_1_1Socket.html">singa::Socket</a></td><td class="entry"><span 
class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket.html
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket.html b/api/classsinga_1_1Socket.html
new file mode 100644
index 0000000..c6fb347
--- /dev/null
+++ b/api/classsinga_1_1Socket.html
@@ -0,0 +1,229 @@
+<!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.6"/>
+<title>Apache SINGA: singa::Socket Class Reference</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/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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="projectlogo"><img alt="Logo" src="singa-logo-small.png"/></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">Apache SINGA
+   </div>
+   <div id="projectbrief">A distributed deep learning platform .</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a 
href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" 
onclick="searchBox.OnSelectItem(0)"><span 
class="SelectionMark">&#160;</span>All</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span 
class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span 
class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span 
class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span 
class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span 
class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span 
class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" 
href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span 
class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span 
class="SelectionMark">&#160;</span>Macros</a></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"><b>singa</b></li><li class="navelem"><a class="el" 
href="classsinga_1_1Socket.html">Socket</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classsinga_1_1Socket-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">singa::Socket Class Reference<span class="mlabels"><span 
class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for singa::Socket:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classsinga_1_1Socket.png" usemap="#singa::Socket_map" alt=""/>
+  <map id="singa::Socket_map" name="singa::Socket_map">
+<area href="classsinga_1_1Dealer.html" alt="singa::Dealer" shape="rect" 
coords="0,56,86,80"/>
+<area href="classsinga_1_1Router.html" alt="singa::Router" shape="rect" 
coords="96,56,182,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td class="memItemLeft" 
align="right" valign="top">virtual int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7">Send</a> (<a 
class="el" href="classsinga_1_1Msg.html">Msg</a> *msg)=0</td></tr>
+<tr class="memdesc:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Send a message to connected 
socket(s), non-blocking.  <a 
href="#ad4b5d8cbf20ecc3209139a35d9b6f2e7">More...</a><br/></td></tr>
+<tr class="separator:ad4b5d8cbf20ecc3209139a35d9b6f2e7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td class="memItemLeft" 
align="right" valign="top">virtual <a class="el" 
href="classsinga_1_1Msg.html">Msg</a> *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Socket.html#a66dec7b6c67f6dd1407f2ce53d4eb5cb">Receive</a> 
()=0</td></tr>
+<tr class="memdesc:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message from any 
connected socket.  <a 
href="#a66dec7b6c67f6dd1407f2ce53d4eb5cb">More...</a><br/></td></tr>
+<tr class="separator:a66dec7b6c67f6dd1407f2ce53d4eb5cb"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a021de3273ade2a1f3b447e04888a0701"><td class="memItemLeft" 
align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="classsinga_1_1Socket.html#a021de3273ade2a1f3b447e04888a0701">InternalID</a>
 () const =0</td></tr>
+<tr class="separator:a021de3273ade2a1f3b447e04888a0701"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a548707780610342ac0788f9abf21a0c5"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="a548707780610342ac0788f9abf21a0c5"></a>
+int&#160;</td><td class="memItemRight" 
valign="bottom"><b>local_id_</b></td></tr>
+<tr class="separator:a548707780610342ac0788f9abf21a0c5"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a021de3273ade2a1f3b447e04888a0701"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void* singa::Socket::InternalID </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Identifier of the 
implementation dependent socket. E.g., zsock_t* for ZeroMQ implementation and 
rank for MPI implementation. </dd></dl>
+
+<p>Implemented in <a class="el" 
href="classsinga_1_1Router.html#acf78012cf74a12b85a318802807529c9">singa::Router</a>,
 and <a class="el" 
href="classsinga_1_1Dealer.html#a9f25d3caeb2014c27f5f2459a65b1279">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a66dec7b6c67f6dd1407f2ce53d4eb5cb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" 
href="classsinga_1_1Msg.html">Msg</a>* singa::Socket::Receive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Receive a message from any connected socket. </p>
+<dl class="section return"><dt>Returns</dt><dd>a message pointer if success; 
nullptr if failure </dd></dl>
+
+<p>Implemented in <a class="el" 
href="classsinga_1_1Router.html#af37c2f449e99e1b35042a39ef9fb2389">singa::Router</a>,
 and <a class="el" 
href="classsinga_1_1Dealer.html#ae696a75b0ee56234d68af0b1d5104797">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4b5d8cbf20ecc3209139a35d9b6f2e7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int singa::Socket::Send </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="classsinga_1_1Msg.html">Msg</a> *&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Send a message to connected socket(s), non-blocking. </p>
+<p>The message will be deallocated after sending, thus should not be used 
after calling <a class="el" 
href="classsinga_1_1Socket.html#ad4b5d8cbf20ecc3209139a35d9b6f2e7" title="Send 
a message to connected socket(s), non-blocking. ">Send()</a>; </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">the</td><td>message to be sent </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 for success queuing the 
message for sending, 0 for failure </dd></dl>
+
+<p>Implemented in <a class="el" 
href="classsinga_1_1Router.html#a4186013f846e404bec26eca4145d8d09">singa::Router</a>,
 and <a class="el" 
href="classsinga_1_1Dealer.html#a558c7ea2f5facda55b73bdde8a147c9b">singa::Dealer</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following 
file:<ul>
+<li>/home/wangwei/program/asf/incubator-singa/include/communication/<a 
class="el" href="socket_8h_source.html">socket.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu May 7 2015 17:15:40 for Apache SINGA by &#160;<a 
href="http://www.doxygen.org/index.html";>
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/666a841d/api/classsinga_1_1Socket.png
----------------------------------------------------------------------
diff --git a/api/classsinga_1_1Socket.png b/api/classsinga_1_1Socket.png
new file mode 100644
index 0000000..a5317e4
Binary files /dev/null and b/api/classsinga_1_1Socket.png differ


Reply via email to