<!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>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.6/cppdoc/classignite_1_1binary_1_1BinaryArrayReader.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<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>&nbsp; Apache Ignite C++: ignite::binary::BinaryArrayReader&lt; T &gt; Class Template 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/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></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="ignite_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">&nbsp; Apache Ignite C++
   </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="namespaceignite.html">ignite</a></li><li class="navelem"><a class="el" href="namespaceignite_1_1binary.html">binary</a></li><li class="navelem"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">BinaryArrayReader</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classignite_1_1binary_1_1BinaryArrayReader-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ignite::binary::BinaryArrayReader&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Binary array reader.  
 <a href="classignite_1_1binary_1_1BinaryArrayReader.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="binary__containers_8h_source.html">binary_containers.h</a>&gt;</code></p>
<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:a769b28f697b49ac51623493006e4eaa7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#a769b28f697b49ac51623493006e4eaa7">BinaryArrayReader</a> (impl::binary::BinaryReaderImpl *impl, int32_t id, int32_t size)</td></tr>
<tr class="memdesc:a769b28f697b49ac51623493006e4eaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a769b28f697b49ac51623493006e4eaa7">More...</a><br /></td></tr>
<tr class="separator:a769b28f697b49ac51623493006e4eaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7845e8ce6615fb7e0c32c6ce2c1543a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#aa7845e8ce6615fb7e0c32c6ce2c1543a">HasNext</a> ()</td></tr>
<tr class="memdesc:aa7845e8ce6615fb7e0c32c6ce2c1543a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether next element is available for read.  <a href="#aa7845e8ce6615fb7e0c32c6ce2c1543a">More...</a><br /></td></tr>
<tr class="separator:aa7845e8ce6615fb7e0c32c6ce2c1543a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb0a08bb8162b612ecc1c40e59af222"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#a7fb0a08bb8162b612ecc1c40e59af222">GetNext</a> ()</td></tr>
<tr class="memdesc:a7fb0a08bb8162b612ecc1c40e59af222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read next element.  <a href="#a7fb0a08bb8162b612ecc1c40e59af222">More...</a><br /></td></tr>
<tr class="separator:a7fb0a08bb8162b612ecc1c40e59af222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372fd3a24cee84d85c51f88edd7c3c44"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#a372fd3a24cee84d85c51f88edd7c3c44">GetSize</a> ()</td></tr>
<tr class="memdesc:a372fd3a24cee84d85c51f88edd7c3c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get array size.  <a href="#a372fd3a24cee84d85c51f88edd7c3c44">More...</a><br /></td></tr>
<tr class="separator:a372fd3a24cee84d85c51f88edd7c3c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088e0fc02b2d4909fe1ab49e4f62521e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#a088e0fc02b2d4909fe1ab49e4f62521e">IsNull</a> ()</td></tr>
<tr class="memdesc:a088e0fc02b2d4909fe1ab49e4f62521e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether array is NULL.  <a href="#a088e0fc02b2d4909fe1ab49e4f62521e">More...</a><br /></td></tr>
<tr class="separator:a088e0fc02b2d4909fe1ab49e4f62521e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class ignite::binary::BinaryArrayReader&lt; T &gt;</h3>

<p>Binary array reader. </p>
<p>Can be used to read array of values of the specific type one by one.</p>
<p>Use <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#a7fb0a08bb8162b612ecc1c40e59af222" title="Read next element. ">GetNext()</a> method to read array value by value while <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html#aa7845e8ce6615fb7e0c32c6ce2c1543a" title="Check whether next element is available for read. ">HasNext()</a> method returns true. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a769b28f697b49ac51623493006e4eaa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a769b28f697b49ac51623493006e4eaa7">&#9670;&nbsp;</a></span>BinaryArrayReader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">ignite::binary::BinaryArrayReader</a>&lt; T &gt;::<a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">BinaryArrayReader</a> </td>
          <td>(</td>
          <td class="paramtype">impl::binary::BinaryReaderImpl *&#160;</td>
          <td class="paramname"><em>impl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>size</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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>Internal call. Should not be used by user.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">impl</td><td>Reader implementation. </td></tr>
    <tr><td class="paramname">id</td><td>Identifier. </td></tr>
    <tr><td class="paramname">size</td><td>Array size. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7fb0a08bb8162b612ecc1c40e59af222"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fb0a08bb8162b612ecc1c40e59af222">&#9670;&nbsp;</a></span>GetNext()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">ignite::binary::BinaryArrayReader</a>&lt; T &gt;::GetNext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read next element. </p>
<dl class="section return"><dt>Returns</dt><dd>Next element.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classignite_1_1IgniteError.html" title="Ignite error information. ">IgniteError</a></td><td>if there is no element to read. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a372fd3a24cee84d85c51f88edd7c3c44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a372fd3a24cee84d85c51f88edd7c3c44">&#9670;&nbsp;</a></span>GetSize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">ignite::binary::BinaryArrayReader</a>&lt; T &gt;::GetSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get array size. </p>
<dl class="section return"><dt>Returns</dt><dd>Size or -1 if array is NULL. </dd></dl>

</div>
</div>
<a id="aa7845e8ce6615fb7e0c32c6ce2c1543a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7845e8ce6615fb7e0c32c6ce2c1543a">&#9670;&nbsp;</a></span>HasNext()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">ignite::binary::BinaryArrayReader</a>&lt; T &gt;::HasNext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check whether next element is available for read. </p>
<dl class="section return"><dt>Returns</dt><dd>True if available. </dd></dl>

</div>
</div>
<a id="a088e0fc02b2d4909fe1ab49e4f62521e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a088e0fc02b2d4909fe1ab49e4f62521e">&#9670;&nbsp;</a></span>IsNull()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classignite_1_1binary_1_1BinaryArrayReader.html">ignite::binary::BinaryArrayReader</a>&lt; T &gt;::IsNull </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check whether array is NULL. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the array is NULL. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="binary__containers_8h_source.html">binary_containers.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Sep 11 2019 22:23:03 for &nbsp; Apache Ignite C++ 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>
