<!-- 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::KuduPredicate 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_1KuduPredicate.html">KuduPredicate</a>
  </div>
</div>
<div class="contents">
<h1>kudu::client::KuduPredicate Class Reference</h1><!-- doxytag: class="kudu::client::KuduPredicate" -->
<p>A representation of comparison predicate for Kudu queries.  
<a href="#_details">More...</a></p>

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

<p><a href="classkudu_1_1client_1_1KuduPredicate-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">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">ComparisonOp</a> { <br/>
&nbsp;&nbsp;<b>LESS_EQUAL</b>, 
<b>GREATER_EQUAL</b>, 
<b>EQUAL</b>, 
<b>LESS</b>, 
<br/>
&nbsp;&nbsp;<b>GREATER</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Supported comparison operators. </p>
<br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#a48eae317f4365f10cdf32bcde560da7c">Clone</a> () const </td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class KUDU_NO_EXPORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">Data</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forward declaration for the embedded PIMPL class.  <a href="#ae8643ced562f7c8a4625a58a4e39abb0"></a><br/></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35d8875275f641cca07004f04ccf34f3"></a><!-- doxytag: member="kudu::client::KuduPredicate::ComparisonPredicateData" ref="a35d8875275f641cca07004f04ccf34f3" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>ComparisonPredicateData</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b1b4b0a54ce14a49fdc0e1854d2a806"></a><!-- doxytag: member="kudu::client::KuduPredicate::ErrorPredicateData" ref="a4b1b4b0a54ce14a49fdc0e1854d2a806" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>ErrorPredicateData</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a770744f0111b5919212173a7efaf85cd"></a><!-- doxytag: member="kudu::client::KuduPredicate::KuduTable" ref="a770744f0111b5919212173a7efaf85cd" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>KuduTable</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72362478ccdaaf6ea61d15d9fc13f7c6"></a><!-- doxytag: member="kudu::client::KuduPredicate::ScanConfiguration" ref="a72362478ccdaaf6ea61d15d9fc13f7c6" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>ScanConfiguration</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A representation of comparison predicate for Kudu queries. </p>
<p>Call <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">KuduTable::NewComparisonPredicate()</a> to create a predicate object. </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a48eae317f4365f10cdf32bcde560da7c"></a><!-- doxytag: member="kudu::client::KuduPredicate::Clone" ref="a48eae317f4365f10cdf32bcde560da7c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduPredicate::Clone </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>A new, identical, <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html" title="A representation of comparison predicate for Kudu queries.">KuduPredicate</a> object. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae8643ced562f7c8a4625a58a4e39abb0"></a><!-- doxytag: member="kudu::client::KuduPredicate::Data" ref="ae8643ced562f7c8a4625a58a4e39abb0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class KUDU_NO_EXPORT <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">kudu::client::KuduPredicate::Data</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Forward declaration for the embedded PIMPL class. </p>
<p>The PIMPL class has to be public since it's actually just an interface, and gcc gives an error trying to derive from a private nested class. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="scan__predicate_8h_source.html">scan_predicate.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>
