<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>Kudu C++ client API: kudu::client::KuduScanBatch Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>kudu</b>::<b>client</b>::<a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>
  </div>
</div>
<div class="contents">
<h1>kudu::client::KuduScanBatch Class Reference</h1><!-- doxytag: class="kudu::client::KuduScanBatch" -->
<p>A batch of zero or more rows returned by a scan operation.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="scan__batch_8h_source.html">scan_batch.h</a>&gt;</code></p>

<p><a href="classkudu_1_1client_1_1KuduScanBatch-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1a827120c84eeedb703451bd5782467"></a><!-- doxytag: member="kudu::client::KuduScanBatch::value_type" ref="ae1a827120c84eeedb703451bd5782467" args="" -->
typedef RowPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">value_type</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handy typedef for the RowPtr. <br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a16e45694c5932eb3decc2184c3834157">NumRows</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">KuduScanBatch::RowPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a93c2f0914140dd405a51d57e2f75014a">Row</a> (int idx) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a30f55cf8f3c9d6fcb47537e586d82e9f">begin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad30dcfafb276b5347842882cf68cb522">end</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b58e77f53beea357fbb8bcddaab3137">projection_schema</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#af37f56c4ef55f2e140fcea2a07340054">IsNull</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a1b0b04656fec608919b7b6ac7c99451e">IsNull</a> (int col_idx) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae07d3fd8616c5c69cc0a4ef3d247bf2c">cell</a> (int col_idx) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a57ebd850adefa8af87f815540d890a34">ToString</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">KuduScanBatch::RowPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab057b7b1bfb713a7e8f216e3b288cb10">operator*</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">operator++</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">operator++</a> (int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a378a5844a4b4774056b26f0003c15048">operator==</a> (const const_iterator &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afd2b2c4cb038cbd366c2af8cf09a3a68">operator!=</a> (const const_iterator &amp;other) const </td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column name.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp1a040b2ab8ff1019c4c1ac7986a0f4b6"></a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>The name of the target column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Placeholder for the result value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b1a867cf2fd47b697fe3a68e28fadd8"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetBool" ref="a3b1a867cf2fd47b697fe3a68e28fadd8" args="(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7bfea7b94e64073562892445a2a2ac7b"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt8" ref="a7bfea7b94e64073562892445a2a2ac7b" args="(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbaff6bf597df2fa0696bdc5cbdfb037"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt16" ref="afbaff6bf597df2fa0696bdc5cbdfb037" args="(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc5120c7aadb029e442235a7131f6fd2"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt32" ref="abc5120c7aadb029e442235a7131f6fd2" args="(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51d43f077b4510b58a2fd471ae81f7b0"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt64" ref="a51d43f077b4510b58a2fd471ae81f7b0" args="(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1261a486faa04d0c984b50132e0a4a3"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetUnixTimeMicros" ref="ae1261a486faa04d0c984b50132e0a4a3" args="(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetUnixTimeMicros</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70ea98bc135e0b86285530c58e33bff3"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetFloat" ref="a70ea98bc135e0b86285530c58e33bff3" args="(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d09dafc214133f2306eebc9aefddff0"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetDouble" ref="a7d09dafc214133f2306eebc9aefddff0" args="(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, double *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column index.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp3c5b6444d156b950298ecfab7c599183"></a> These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_index</em>&nbsp;</td><td>The index of the column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b1044c3b78e5a6407c2a797005b0e21"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetBool" ref="a4b1044c3b78e5a6407c2a797005b0e21" args="(int col_idx, bool *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBool</b> (int col_idx, bool *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81a30b5b89f6fa106b5d8575c3fb62b9"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt8" ref="a81a30b5b89f6fa106b5d8575c3fb62b9" args="(int col_idx, int8_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt8</b> (int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5f35c107dc26165546065189dd53dfa"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt16" ref="ab5f35c107dc26165546065189dd53dfa" args="(int col_idx, int16_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt16</b> (int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab321b8c245cc1748c3b3ecdf507b08fb"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt32" ref="ab321b8c245cc1748c3b3ecdf507b08fb" args="(int col_idx, int32_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt32</b> (int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab59039c6f073df0b57ddc16fb8d8c432"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetInt64" ref="ab59039c6f073df0b57ddc16fb8d8c432" args="(int col_idx, int64_t *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInt64</b> (int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc4dfced2215c5115fecb647fa73e4e7"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetUnixTimeMicros" ref="acc4dfced2215c5115fecb647fa73e4e7" args="(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetUnixTimeMicros</b> (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae41dd0f1e2b4bf074ded210382b825bd"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetFloat" ref="ae41dd0f1e2b4bf074ded210382b825bd" args="(int col_idx, float *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetFloat</b> (int col_idx, float *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2b7fb17cac4571139b2eaca761a99c0"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetDouble" ref="ab2b7fb17cac4571139b2eaca761a99c0" args="(int col_idx, double *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDouble</b> (int col_idx, double *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for string/binary column by column name.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp84d245f3a6f0d584c57e867b85ebe9ad"></a> Get the string/binary value for a column by its name.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8f9ba0ff9a1fcd8326b012e689ad4a7"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetString" ref="ad8f9ba0ff9a1fcd8326b012e689ad4a7" args="(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fc063d4fb631b14f5651a84861ffa4b"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetBinary" ref="a2fc063d4fb631b14f5651a84861ffa4b" args="(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getters for string/binary column by column index.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa506e4f53b3aff45d4d78614bdad96b9"></a> Get the string/binary value for a column by its index.</p>
<p>These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_index</em>&nbsp;</td><td>The index of the column. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
<li>The type does not match. </li>
<li>The value is unset. </li>
<li>The value is <code>NULL</code>. </li>
</ul>
</dd></dl>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a887dd6b7e20ada26ee705c315fd86b56"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetString" ref="a887dd6b7e20ada26ee705c315fd86b56" args="(int col_idx, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetString</b> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a921dfdeba21588f7a3c2d5e360d3268e"></a><!-- doxytag: member="kudu::client::KuduScanBatch::GetBinary" ref="a921dfdeba21588f7a3c2d5e360d3268e" args="(int col_idx, Slice *val) const WARN_UNUSED_RESULT" -->
<a class="el" href="classkudu_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBinary</b> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79d30f3059c783e077627a6f6d153c1b"></a><!-- doxytag: member="kudu::client::KuduScanBatch::KuduScanner" ref="a79d30f3059c783e077627a6f6d153c1b" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>KuduScanner</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafe7501e17c36d1c5dc2971f69a776de"></a><!-- doxytag: member="kudu::client::KuduScanBatch::tools::ReplicaDumper" ref="aafe7501e17c36d1c5dc2971f69a776de" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>tools::ReplicaDumper</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f719ac1eb44a4d656839448282399a3"></a><!-- doxytag: member="kudu::client::KuduScanBatch::KuduScanBatch" ref="a0f719ac1eb44a4d656839448282399a3" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>KuduScanBatch</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af051935fc85b035f0fc17b393052ced1"></a><!-- doxytag: member="kudu::client::KuduScanBatch::SliceKeysTestSetup" ref="af051935fc85b035f0fc17b393052ced1" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><b>SliceKeysTestSetup</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e5fe5d91d18689176714dd83a7f05fb"></a><!-- doxytag: member="kudu::client::KuduScanBatch::IntKeysTestSetup" ref="a8e5fe5d91d18689176714dd83a7f05fb" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><b>IntKeysTestSetup</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A batch of zero or more rows returned by a scan operation. </p>
<p>Every call to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a409a42496942e93df5f4879b7a348e87">KuduScanner::NextBatch()</a> returns a batch of zero or more rows. You can iterate over the rows in the batch using:</p>
<p>range-foreach loop (C++11): </p>
<div class="fragment"><pre class="fragment">   <span class="keywordflow">for</span> (<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row : batch) {
     ... row.GetInt(1, ...)
     ...
   }
</pre></div><p>regular for loop (C++03): </p>
<div class="fragment"><pre class="fragment">   <span class="keywordflow">for</span> (KuduScanBatch::const_iterator it = batch.begin(), it != batch.end();
        ++i) {
     <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row(*it);
     ...
   }
</pre></div><p> or </p>
<div class="fragment"><pre class="fragment">   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, num_rows = batch.NumRows();
        i &lt; num_rows;
        i++) {
     <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row = batch.Row(i);
     ...
   }
</pre></div><dl class="note"><dt><b>Note:</b></dt><dd>In the above example, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a16e45694c5932eb3decc2184c3834157">NumRows()</a> is only called once at the beginning of the loop to avoid extra calls to the non-inlined method. </dd></dl>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a30f55cf8f3c9d6fcb47537e586d82e9f"></a><!-- doxytag: member="kudu::client::KuduScanBatch::begin" ref="a30f55cf8f3c9d6fcb47537e586d82e9f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KuduScanBatch::const_iterator kudu::client::KuduScanBatch::begin </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>Forward iterator to the start of the rows in the batch. </dd></dl>

</div>
</div>
<a class="anchor" id="ae07d3fd8616c5c69cc0a4ef3d247bf2c"></a><!-- doxytag: member="kudu::client::KuduScanBatch::cell" ref="ae07d3fd8616c5c69cc0a4ef3d247bf2c" args="(int col_idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const void* kudu::client::KuduScanBatch::cell </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the column's row data.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Should be avoided unless absolutely necessary. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>The index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Raw cell data for the specified index. </dd></dl>

</div>
</div>
<a class="anchor" id="ad30dcfafb276b5347842882cf68cb522"></a><!-- doxytag: member="kudu::client::KuduScanBatch::end" ref="ad30dcfafb276b5347842882cf68cb522" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KuduScanBatch::const_iterator kudu::client::KuduScanBatch::end </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>Forward iterator to the end of the rows in the batch. </dd></dl>

</div>
</div>
<a class="anchor" id="a1b0b04656fec608919b7b6ac7c99451e"></a><!-- doxytag: member="kudu::client::KuduScanBatch::IsNull" ref="a1b0b04656fec608919b7b6ac7c99451e" args="(int col_idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::client::KuduScanBatch::IsNull </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>col_idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_idx</em>&nbsp;</td><td>Index of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the specified column of the row has <code>NULL</code> value. </dd></dl>

</div>
</div>
<a class="anchor" id="af37f56c4ef55f2e140fcea2a07340054"></a><!-- doxytag: member="kudu::client::KuduScanBatch::IsNull" ref="af37f56c4ef55f2e140fcea2a07340054" args="(const Slice &amp;col_name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::client::KuduScanBatch::IsNull </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>col_name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>col_name</em>&nbsp;</td><td>Name of the column. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the specified column of the row has <code>NULL</code> value. </dd></dl>

</div>
</div>
<a class="anchor" id="a16e45694c5932eb3decc2184c3834157"></a><!-- doxytag: member="kudu::client::KuduScanBatch::NumRows" ref="a16e45694c5932eb3decc2184c3834157" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kudu::client::KuduScanBatch::NumRows </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of rows in this batch. </dd></dl>

</div>
</div>
<a class="anchor" id="afd2b2c4cb038cbd366c2af8cf09a3a68"></a><!-- doxytag: member="kudu::client::KuduScanBatch::operator!=" ref="afd2b2c4cb038cbd366c2af8cf09a3a68" args="(const const_iterator &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::client::KuduScanBatch::operator!= </td>
          <td>(</td>
          <td class="paramtype">const const_iterator &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>An operator to check whether two iterators are 'not equal'.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>other</em>&nbsp;</td><td>The iterator to compare with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the other iterator points to a different row in the same batch, or to a row belonging to a different batch altogether. </dd></dl>

</div>
</div>
<a class="anchor" id="ab057b7b1bfb713a7e8f216e3b288cb10"></a><!-- doxytag: member="kudu::client::KuduScanBatch::operator*" ref="ab057b7b1bfb713a7e8f216e3b288cb10" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KuduScanBatch::RowPtr kudu::client::KuduScanBatch::operator* </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The row in the batch the iterator is pointing at. </dd></dl>

</div>
</div>
<a class="anchor" id="a4b1ad47fd7d429859b6181825a063c48"></a><!-- doxytag: member="kudu::client::KuduScanBatch::operator++" ref="a4b1ad47fd7d429859b6181825a063c48" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const_iterator kudu::client::KuduScanBatch::operator++ </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Postfix increment operator: advances the iterator to the next position.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A copy of the iterator pointing to the pre-increment position. </dd></dl>

</div>
</div>
<a class="anchor" id="ad5df483ed3172caab5a8d6a72abfad0c"></a><!-- doxytag: member="kudu::client::KuduScanBatch::operator++" ref="ad5df483ed3172caab5a8d6a72abfad0c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const_iterator&amp; kudu::client::KuduScanBatch::operator++ </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prefix increment operator: advances the iterator to the next position.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The reference to the iterator, pointing to the next position. </dd></dl>

</div>
</div>
<a class="anchor" id="a378a5844a4b4774056b26f0003c15048"></a><!-- doxytag: member="kudu::client::KuduScanBatch::operator==" ref="a378a5844a4b4774056b26f0003c15048" args="(const const_iterator &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::client::KuduScanBatch::operator== </td>
          <td>(</td>
          <td class="paramtype">const const_iterator &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>An operator to check whether two iterators are 'equal'.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>other</em>&nbsp;</td><td>The iterator to compare with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> iff the other iterator points to the same row of the same batch. </dd></dl>

</div>
</div>
<a class="anchor" id="a3b58e77f53beea357fbb8bcddaab3137"></a><!-- doxytag: member="kudu::client::KuduScanBatch::projection_schema" ref="a3b58e77f53beea357fbb8bcddaab3137" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* kudu::client::KuduScanBatch::projection_schema </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The projection schema for this batch. All <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> returned by this batch are guaranteed to have this schema. </dd></dl>

</div>
</div>
<a class="anchor" id="a93c2f0914140dd405a51d57e2f75014a"></a><!-- doxytag: member="kudu::client::KuduScanBatch::Row" ref="a93c2f0914140dd405a51d57e2f75014a" args="(int idx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">KuduScanBatch::RowPtr kudu::client::KuduScanBatch::Row </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get a row at the specified index.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>idx</em>&nbsp;</td><td>The index of the row to return. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to one of the rows in this batch. The returned object is only valid for as long as this <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" title="A batch of zero or more rows returned by a scan operation.">KuduScanBatch</a> object is valid. </dd></dl>

</div>
</div>
<a class="anchor" id="a92bbfa48e9b503181c2dfb5f11f14e4e"></a><!-- doxytag: member="kudu::client::KuduScanBatch::RowPtr" ref="a92bbfa48e9b503181c2dfb5f11f14e4e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">kudu::client::KuduScanBatch::RowPtr </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Construct an invalid RowPtr. Before use, you must assign a properly-initialized value. </p>

</div>
</div>
<a class="anchor" id="a57ebd850adefa8af87f815540d890a34"></a><!-- doxytag: member="kudu::client::KuduScanBatch::ToString" ref="a57ebd850adefa8af87f815540d890a34" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string kudu::client::KuduScanBatch::ToString </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>String representation for this row. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="scan__batch_8h_source.html">scan_batch.h</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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.0.1 on Tue Oct 11 08:52:01 2016 by Doxygen 1.6.1</small>
  <br>
  <small>Copyright © 2016 The Apache Software Foundation.</small>
</address>
</body>
</html>
