<!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.8.1/cppdoc/classignite_1_1cache_1_1query_1_1QueryFieldsRow.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::cache::query::QueryFieldsRow 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/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_1cache.html">cache</a></li><li class="navelem"><a class="el" href="namespaceignite_1_1cache_1_1query.html">query</a></li><li class="navelem"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html">QueryFieldsRow</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_1cache_1_1query_1_1QueryFieldsRow-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ignite::cache::query::QueryFieldsRow Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Query fields cursor.  
 <a href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="query__fields__row_8h_source.html">query_fields_row.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:a2e5523fe1f15b5a6718252ec93886532"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a2e5523fe1f15b5a6718252ec93886532">QueryFieldsRow</a> ()</td></tr>
<tr class="memdesc:a2e5523fe1f15b5a6718252ec93886532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a2e5523fe1f15b5a6718252ec93886532">More...</a><br /></td></tr>
<tr class="separator:a2e5523fe1f15b5a6718252ec93886532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbc34e7a1d2adf4541256a0dd59a80d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#acbc34e7a1d2adf4541256a0dd59a80d5">QueryFieldsRow</a> (impl::cache::query::QueryFieldsRowImpl *impl)</td></tr>
<tr class="memdesc:acbc34e7a1d2adf4541256a0dd59a80d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#acbc34e7a1d2adf4541256a0dd59a80d5">More...</a><br /></td></tr>
<tr class="separator:acbc34e7a1d2adf4541256a0dd59a80d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa34c4099ddef4d7de42af47fa7637e5a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#aa34c4099ddef4d7de42af47fa7637e5a">HasNext</a> ()</td></tr>
<tr class="memdesc:aa34c4099ddef4d7de42af47fa7637e5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether next entry exists.  <a href="#aa34c4099ddef4d7de42af47fa7637e5a">More...</a><br /></td></tr>
<tr class="separator:aa34c4099ddef4d7de42af47fa7637e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a815ad89f0e2ff971e1d13315aaa4c016"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a815ad89f0e2ff971e1d13315aaa4c016">HasNext</a> (<a class="el" href="classignite_1_1IgniteError.html">IgniteError</a> &amp;err)</td></tr>
<tr class="memdesc:a815ad89f0e2ff971e1d13315aaa4c016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether next entry exists.  <a href="#a815ad89f0e2ff971e1d13315aaa4c016">More...</a><br /></td></tr>
<tr class="separator:a815ad89f0e2ff971e1d13315aaa4c016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e3ffb81042cdb721d4e85225ab772f4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a2e3ffb81042cdb721d4e85225ab772f4"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a2e3ffb81042cdb721d4e85225ab772f4">GetNext</a> ()</td></tr>
<tr class="memdesc:a2e3ffb81042cdb721d4e85225ab772f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next entry.  <a href="#a2e3ffb81042cdb721d4e85225ab772f4">More...</a><br /></td></tr>
<tr class="separator:a2e3ffb81042cdb721d4e85225ab772f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10fdd0db03a0696e4ffc35dce09c5916"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a10fdd0db03a0696e4ffc35dce09c5916"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a10fdd0db03a0696e4ffc35dce09c5916">GetNext</a> (<a class="el" href="classignite_1_1IgniteError.html">IgniteError</a> &amp;err)</td></tr>
<tr class="memdesc:a10fdd0db03a0696e4ffc35dce09c5916"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next entry.  <a href="#a10fdd0db03a0696e4ffc35dce09c5916">More...</a><br /></td></tr>
<tr class="separator:a10fdd0db03a0696e4ffc35dce09c5916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab95c26f8cd918b3cd702eeffda1e7dbb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#ab95c26f8cd918b3cd702eeffda1e7dbb">GetNextInt8Array</a> (int8_t *dst, int32_t len)</td></tr>
<tr class="memdesc:ab95c26f8cd918b3cd702eeffda1e7dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next entry assuming it's an array of 8-byte signed integers.  <a href="#ab95c26f8cd918b3cd702eeffda1e7dbb">More...</a><br /></td></tr>
<tr class="separator:ab95c26f8cd918b3cd702eeffda1e7dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a974a5048171014ccc0052192a9d8f5d0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1cache_1_1query_1_1QueryFieldsRow.html#a974a5048171014ccc0052192a9d8f5d0">IsValid</a> () const</td></tr>
<tr class="memdesc:a974a5048171014ccc0052192a9d8f5d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the instance is valid.  <a href="#a974a5048171014ccc0052192a9d8f5d0">More...</a><br /></td></tr>
<tr class="separator:a974a5048171014ccc0052192a9d8f5d0"><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>Query fields cursor. </p>
<p>This class implemented as a reference to an implementation so copying of this class instance will only create another reference to the same underlying object. Underlying object released automatically once all the instances are destructed. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2e5523fe1f15b5a6718252ec93886532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e5523fe1f15b5a6718252ec93886532">&#9670;&nbsp;</a></span>QueryFieldsRow() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ignite::cache::query::QueryFieldsRow::QueryFieldsRow </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>Default constructor. </p>
<p>Constructed instance is not valid and thus can not be used. </p>

</div>
</div>
<a id="acbc34e7a1d2adf4541256a0dd59a80d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbc34e7a1d2adf4541256a0dd59a80d5">&#9670;&nbsp;</a></span>QueryFieldsRow() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ignite::cache::query::QueryFieldsRow::QueryFieldsRow </td>
          <td>(</td>
          <td class="paramtype">impl::cache::query::QueryFieldsRowImpl *&#160;</td>
          <td class="paramname"><em>impl</em></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 method. Should not be used by user.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">impl</td><td>Implementation. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2e3ffb81042cdb721d4e85225ab772f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e3ffb81042cdb721d4e85225ab772f4">&#9670;&nbsp;</a></span>GetNext() <span class="overload">[1/2]</span></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 ignite::cache::query::QueryFieldsRow::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>Get next entry. </p>
<p>Template argument type should be default-constructable, copy-constructable and assignable. Also BinaryType class template should be specialized for this type.</p>
<p>This method should only be used on the valid instance.</p>
<dl class="section return"><dt>Returns</dt><dd>Next entry.</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>class instance in case of failure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a10fdd0db03a0696e4ffc35dce09c5916"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10fdd0db03a0696e4ffc35dce09c5916">&#9670;&nbsp;</a></span>GetNext() <span class="overload">[2/2]</span></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 ignite::cache::query::QueryFieldsRow::GetNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classignite_1_1IgniteError.html">IgniteError</a> &amp;&#160;</td>
          <td class="paramname"><em>err</em></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 next entry. </p>
<p>Properly sets error param in case of failure.</p>
<p>Template argument type should be default-constructable, copy-constructable and assignable. Also BinaryType class template should be specialized for this type.</p>
<p>This method should only be used on the valid instance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err</td><td>Used to set operation result. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Next entry on success and default-constructed type instance on failure. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ignite::cache::query::QueryFieldsRow::GetNextInt8Array </td>
          <td>(</td>
          <td class="paramtype">int8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>len</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>Get next entry assuming it's an array of 8-byte signed integers. </p>
<p>Maps to "byte[]" type in Java.</p>
<p>This method should only be used on the valid instance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Array to store data to. </td></tr>
    <tr><td class="paramname">len</td><td>Expected length of array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.</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>class instance in case of failure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa34c4099ddef4d7de42af47fa7637e5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa34c4099ddef4d7de42af47fa7637e5a">&#9670;&nbsp;</a></span>HasNext() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ignite::cache::query::QueryFieldsRow::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 entry exists. </p>
<p>This method should only be used on the valid instance.</p>
<dl class="section return"><dt>Returns</dt><dd>True if next entry exists.</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>class instance in case of failure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a815ad89f0e2ff971e1d13315aaa4c016"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a815ad89f0e2ff971e1d13315aaa4c016">&#9670;&nbsp;</a></span>HasNext() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ignite::cache::query::QueryFieldsRow::HasNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classignite_1_1IgniteError.html">IgniteError</a> &amp;&#160;</td>
          <td class="paramname"><em>err</em></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 entry exists. </p>
<p>Properly sets error param in case of failure.</p>
<p>This method should only be used on the valid instance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err</td><td>Used to set operation result. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if next entry exists and operation resulted in success. Returns false on failure. </dd></dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ignite::cache::query::QueryFieldsRow::IsValid </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if the instance is valid. </p>
<p>Invalid instance can be returned if some of the previous operations have resulted in a failure. For example invalid instance can be returned by not-throwing version of method in case of error. Invalid instances also often can be created using default constructor.</p>
<dl class="section return"><dt>Returns</dt><dd>True if the instance is valid and can be used. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="query__fields__row_8h_source.html">query_fields_row.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 21 2020 17:37:34 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>
