<!-- 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: File Index</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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><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 class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
  <tr><td class="indexkey">include/kudu/client/<b>callbacks.h</b> <a href="callbacks_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>client.h</b> <a href="client_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>resource_metrics.h</b> <a href="resource__metrics_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>row_result.h</b> <a href="row__result_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>scan_batch.h</b> <a href="scan__batch_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>scan_predicate.h</b> <a href="scan__predicate_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>schema.h</b> <a href="schema_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<a class="el" href="shared__ptr_8h.html">shared_ptr.h</a> <a href="shared__ptr_8h_source.html">[code]</a></td><td class="indexvalue">Smart pointer typedefs for externally-faced code </td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>stubs.h</b> <a href="stubs_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>value.h</b> <a href="value_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/client/<b>write_op.h</b> <a href="write__op_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/common/<b>partial_row.h</b> <a href="partial__row_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/util/<b>kudu_export.h</b> <a href="kudu__export_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/util/<b>monotime.h</b> <a href="monotime_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/util/<b>slice.h</b> <a href="slice_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
  <tr><td class="indexkey">include/kudu/util/<a class="el" href="status_8h.html">status.h</a> <a href="status_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
</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>
