<!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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: Class Members</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="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<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','.html');
/* @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>
</div><!-- top -->
<!-- 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 class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>

<h3><a id="index_o"></a>- o -</h3><ul>
<li>OK()
: <a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">kudu::Status</a>
</li>
<li>ok()
: <a class="el" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">kudu::Status</a>
</li>
<li>on_disk_size()
: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics</a>
</li>
<li>on_disk_size_limit()
: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics</a>
</li>
<li>Open()
: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner</a>
</li>
<li>OpenTable()
: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient</a>
</li>
<li>operator!=()
: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">kudu::client::KuduScanBatch</a>
</li>
<li>operator()()
: <a class="el" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">kudu::Slice::Comparator</a>
</li>
<li>operator*()
: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">kudu::client::KuduScanBatch</a>
</li>
<li>operator+
: <a class="el" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">kudu::MonoDelta</a>
</li>
<li>operator++()
: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">kudu::client::KuduScanBatch</a>
</li>
<li>operator+=()
: <a class="el" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">kudu::MonoDelta</a>
</li>
<li>operator-
: <a class="el" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">kudu::MonoDelta</a>
</li>
<li>operator-=()
: <a class="el" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">kudu::MonoDelta</a>
</li>
<li>operator-&gt;()
: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">kudu::client::KuduScanBatch</a>
</li>
<li>operator&lt;&lt;()
: <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">kudu::internal_logging::CerrLog</a>
, <a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">kudu::internal_logging::NullLog</a>
</li>
<li>operator=()
: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">kudu::client::KuduColumnSchema</a>
, <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">kudu::client::KuduColumnTypeAttributes</a>
, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">kudu::client::KuduSchema</a>
, <a class="el" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">kudu::Status</a>
, <a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">KuduPartialRow</a>
</li>
<li>operator==()
: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">kudu::client::KuduScanBatch</a>
, <a class="el" href="classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c">kudu::Slice</a>
</li>
<li>operator[]()
: <a class="el" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">kudu::Slice</a>
</li>
<li>ORDERED
: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">kudu::client::KuduScanner</a>
</li>
<li>OrderMode
: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner</a>
</li>
<li>owner()
: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">kudu::client::KuduTable</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
  <br>
  <small>Copyright © 2021 The Apache Software Foundation.</small>
</address>
</body>
</html>
