<!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.19"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: Class Members - Functions</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.8.19 -->
<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>
</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">
&#160;

<h3><a id="index_t"></a>- t -</h3><ul>
<li>table_name()
: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator</a>
</li>
<li>TableExists()
: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">kudu::client::KuduClient</a>
</li>
<li>tablet()
: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">kudu::client::KuduScanToken</a>
</li>
<li>TimedOut()
: <a class="el" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">kudu::Status</a>
</li>
<li>timeout()
: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">kudu::client::KuduTableAlterer</a>
, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">kudu::client::KuduTableCreator</a>
</li>
<li>ToDebugString()
: <a class="el" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">kudu::Slice</a>
</li>
<li>ToEncodedRowKeyOrDie()
: <a class="el" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">KuduPartialRow</a>
</li>
<li>ToMicroseconds()
: <a class="el" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">kudu::MonoDelta</a>
</li>
<li>ToMilliseconds()
: <a class="el" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">kudu::MonoDelta</a>
</li>
<li>ToNanoseconds()
: <a class="el" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">kudu::MonoDelta</a>
</li>
<li>ToSeconds()
: <a class="el" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">kudu::MonoDelta</a>
</li>
<li>ToString()
: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">kudu::client::KuduColumnStorageAttributes</a>
, <a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">kudu::client::KuduDelete</a>
, <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">kudu::client::KuduDeleteIgnore</a>
, <a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert</a>
, <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>
, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch</a>
, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">kudu::client::KuduScanner</a>
, <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics</a>
, <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>
, <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>
, <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">kudu::client::KuduUpsert</a>
, <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>
, <a class="el" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">kudu::MonoDelta</a>
, <a class="el" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">kudu::Slice</a>
, <a class="el" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">kudu::Status</a>
, <a class="el" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">KuduPartialRow</a>
</li>
<li>ToTimeSpec()
: <a class="el" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">kudu::MonoDelta</a>
</li>
<li>ToTimeVal()
: <a class="el" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">kudu::MonoDelta</a>
</li>
<li>truncate()
: <a class="el" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">kudu::Slice</a>
</li>
<li>ts()
: <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica</a>
</li>
<li>Type()
: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.16.0 on Tue Apr 12 2022 16:34:46 by Doxygen 1.8.19</small>
  <br>
  <small>Copyright © 2022 The Apache Software Foundation.</small>
</address>
</body>
</html>
