<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: query_fields_row.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="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.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6917c354dff0dc051d18bd3bcc3faea1.html">include</a></li><li class="navelem"><a class="el" href="dir_3785354546cb37560a212b468c73f89f.html">ignite</a></li><li class="navelem"><a class="el" href="dir_097f68cb7241bfc683e7bdc6c58a7783.html">thin</a></li><li class="navelem"><a class="el" href="dir_4c59fe678b7d839a2941d6346d743aa7.html">cache</a></li><li class="navelem"><a class="el" href="dir_e48c209b806e663ca8eb34a9d68efb16.html">query</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">thin-client/include/ignite/thin/cache/query/query_fields_row.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="thin-client_2include_2ignite_2thin_2cache_2query_2query__fields__row_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * the License.  You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef _IGNITE_THIN_CACHE_QUERY_QUERY_FIELDS_ROW</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define _IGNITE_THIN_CACHE_QUERY_QUERY_FIELDS_ROW</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;ignite/common/concurrent.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="ignite__error_8h.html">ignite/ignite_error.h</a>&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;ignite/impl/thin/readable.h&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceignite.html">ignite</a></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">namespace </span>thin</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    {</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">namespace </span>cache</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        {</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;            <span class="keyword">namespace </span>query</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;            {</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html">   46</a></span>&#160;                <span class="keyword">class </span>IGNITE_IMPORT_EXPORT <a class="code" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html">QueryFieldsRow</a></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                {</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                <span class="keyword">public</span>:</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                    <span class="keyword">explicit</span> <a class="code" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html">QueryFieldsRow</a>(<span class="keyword">const</span> common::concurrent::SharedPointer&lt;void&gt;&amp; impl);</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                    <span class="keywordtype">bool</span> HasNext();</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html#a0e1db74e28801e1e15e12dea90176c08">   76</a></span>&#160;                    T <a class="code" href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html#a0e1db74e28801e1e15e12dea90176c08">GetNext</a>()</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                    {</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                        T res;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                        impl::thin::ReadableImpl&lt;T&gt; readable(res);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                        InternalGetNext(readable);</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                        <span class="keywordflow">return</span> res;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                    }</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                <span class="keyword">private</span>:</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                    <span class="keywordtype">void</span> InternalGetNext(impl::thin::Readable&amp; readable);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                    common::concurrent::SharedPointer&lt;void&gt; impl;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                };</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            }</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        }</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    }    </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;}</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#endif //_IGNITE_THIN_CACHE_QUERY_QUERY_FIELDS_ROW</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceignite_html"><div class="ttname"><a href="namespaceignite.html">ignite</a></div><div class="ttdoc">Apache Ignite API.</div><div class="ttdef"><b>Definition:</b> cache.h:48</div></div>
<div class="ttc" id="aclassignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow_html"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html">ignite::thin::cache::query::QueryFieldsRow</a></div><div class="ttdoc">Query fields row.</div><div class="ttdef"><b>Definition:</b> thin-client/include/ignite/thin/cache/query/query_fields_row.h:46</div></div>
<div class="ttc" id="aclassignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow_html_a0e1db74e28801e1e15e12dea90176c08"><div class="ttname"><a href="classignite_1_1thin_1_1cache_1_1query_1_1QueryFieldsRow.html#a0e1db74e28801e1e15e12dea90176c08">ignite::thin::cache::query::QueryFieldsRow::GetNext</a></div><div class="ttdeci">T GetNext()</div><div class="ttdoc">Get next entry.</div><div class="ttdef"><b>Definition:</b> thin-client/include/ignite/thin/cache/query/query_fields_row.h:76</div></div>
<div class="ttc" id="aignite__error_8h_html"><div class="ttname"><a href="ignite__error_8h.html">ignite_error.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jan 10 2022 11:02:04 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.17
</small></address>
</body>
</html>
