blob: 13924787b687f13aa936ccc74cc88d5ac1158564 [file]
<!DOCTYPE html>
<html lang="en" data-content_root="../../" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Input / output &#8212; Apache Arrow v24.0.0.dev320</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../../_static/styles/theme.css?digest=7f76b32a3354e82990f2" rel="stylesheet" />
<link href="../../_static/styles/pydata-sphinx-theme.css?digest=7f76b32a3354e82990f2" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-design.min.css?v=95c83b7e" />
<link rel="stylesheet" type="text/css" href="../../_static/theme_overrides.css?v=8dcd28dc" />
<!-- So that users can add custom icons -->
<script defer src="../../_static/scripts/fontawesome.js?digest=7f76b32a3354e82990f2"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../../_static/scripts/bootstrap.js?digest=7f76b32a3354e82990f2" />
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=7f76b32a3354e82990f2" />
<script src="../../_static/documentation_options.js?v=a15c85f4"></script>
<script src="../../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../../_static/sphinx_highlight.js?v=6ffebe34"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../../_static/copybutton.js?v=3bb21c8c"></script>
<script src="../../_static/design-tabs.js?v=f930bc37"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'cpp/api/io';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.17.0';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '/docs/_static/versions.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = 'dev/';
DOCUMENTATION_OPTIONS.show_version_warning_banner =
true;
</script>
<script>DOCUMENTATION_OPTIONS.search_as_you_type = false;</script>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/io.html" />
<link rel="icon" href="../../_static/favicon.ico"/>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Arrow IPC" href="ipc.html" />
<link rel="prev" title="Asynchronous programming" href="async.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="24.0.0.dev320" />
<script src="../../_static/searchtools.js"></script>
<script src="../../_static/language_data.js"></script>
<script src="../../searchindex.js"></script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '20']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="../../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header id="pst-header" class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class=" navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../../index.html">
<img src="../../_static/arrow.png" class="logo__image only-light" alt="Apache Arrow v24.0.0.dev320 - Home"/>
<img src="../../_static/arrow-dark.png" class="logo__image only-dark pst-js-only" alt="Apache Arrow v24.0.0.dev320 - Home"/>
</a></div>
</div>
<div class=" navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-2"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-2"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-2">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-3"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-3"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-3">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item pst-sidebar-collapse"><button id="pst-collapse-sidebar-button" aria-expanded="true" aria-controls="pst-primary-sidebar"><svg class="pst-icon svg-inline--fa" role="img" aria-hidden="true" focusable="false" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M3 15.5C2.36232 15.5 1.74874 15.2564 1.28478 14.8189C0.820828 14.3815 0.541576 13.7832 0.504167 13.1467L0.5 13L0.5 3C0.499965 2.36232 0.743605 1.74874 1.18107 1.28478C1.61854 0.820828 2.21676 0.541576 2.85333 0.504167L3 0.5L13 0.5C13.6377 0.499965 14.2513 0.743605 14.7152 1.18107C15.1792 1.61854 15.4584 2.21676 15.4958 2.85333L15.5 3L15.5 13C15.5 13.6377 15.2564 14.2513 14.8189 14.7152C14.3815 15.1792 13.7832 15.4584 13.1467 15.4958L13 15.5L3 15.5ZM3 13.8333L10.5 13.8333L10.5 2.16667L3 2.16667C2.79589 2.16669 2.59889 2.24163 2.44636 2.37726C2.29383 2.5129 2.19638 2.69979 2.1725 2.9025L2.16667 3L2.16667 13C2.16669 13.2041 2.24163 13.4011 2.37726 13.5536C2.5129 13.7062 2.69979 13.8036 2.9025 13.8275L3 13.8333ZM6.65583 10.325L6.5775 10.2558L4.91083 8.58917C4.76735 8.44567 4.68116 8.25476 4.66843 8.05223C4.65569 7.84971 4.71729 7.6495 4.84167 7.48917L4.91083 7.41083L6.5775 5.74417C6.72747 5.59471 6.9287 5.50794 7.14032 5.50148C7.35194 5.49502 7.55809 5.56935 7.7169 5.70937C7.8757 5.8494 7.97525 6.04463 7.99533 6.25539C8.01541 6.46616 7.95451 6.67667 7.825 6.84417L7.75583 6.9225L6.67917 8L7.75583 9.0775C7.89931 9.22099 7.98551 9.41191 7.99824 9.61443C8.01097 9.81695 7.94938 10.0172 7.825 10.1775L7.75583 10.2558C7.61234 10.3993 7.42142 10.4855 7.2189 10.4982C7.01638 10.511 6.81617 10.4494 6.65583 10.325Z"/>
</svg>
<span class="pst-collapse-sidebar-label">Collapse Sidebar</span>
<span class="pst-expand-sidebar-label">Expand Sidebar</span>
</button></div>
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/dotnet/">.NET</a></li>
<li class="toctree-l1 current active has-children"><a class="reference internal" href="../index.html">C++</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l2 has-children"><a class="reference internal" href="../getting_started.html">Getting Started</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../build_system.html">Using Arrow C++ in your own project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/basic_arrow.html">Basic Arrow Data Structures</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/io_tutorial.html">Arrow File I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/compute_tutorial.html">Arrow Compute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tutorials/datasets_tutorial.html">Arrow Datasets</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../user_guide.html">User Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview.html">High-Level Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../memory.html">Memory Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../arrays.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="../datatypes.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tables.html">Tabular Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../compute.html">Compute Functions</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../gandiva.html">The Gandiva Expression Compiler</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../gandiva/expr_projector_filter.html">Gandiva Expression, Projector, and Filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../gandiva/external_func.html">Gandiva External Functions Development Guide</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../acero.html">Acero: A C++ streaming execution engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../acero/overview.html">Acero Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../acero/user_guide.html">Acero User’s Guide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../acero/substrait.html">Using Acero with Substrait</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="../io.html">Input / output and filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ipc.html">Reading and writing the Arrow IPC format</a></li>
<li class="toctree-l3"><a class="reference internal" href="../orc.html">Reading and Writing ORC files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../parquet.html">Reading and writing Parquet files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../json.html">Reading JSON files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dataset.html">Tabular Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../security.html">Security Considerations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gdb.html">Debugging code using Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../threading.html">Thread Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../opentelemetry.html">OpenTelemetry</a></li>
<li class="toctree-l3"><a class="reference internal" href="../env_vars.html">Environment Variables</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../examples/index.html">Examples</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples/cmake_minimal_build.html">Minimal build using CMake</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/compute_and_write_example.html">Compute and Write CSV Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/dataset_documentation_example.html">Arrow Datasets example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/parquet_column_encryption.html">Parquet column encryption</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/row_columnar_conversion.html">Row to columnar conversion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/tuple_range_conversion.html">std::tuple-like ranges to Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples/converting_recordbatch_to_tensor.html">Converting RecordBatch to Tensor</a></li>
</ul>
</details></li>
<li class="toctree-l2 current active has-children"><a class="reference internal" href="../api.html">API Reference</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="support.html">Programming Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="memory.html">Memory (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="thread.html">Thread (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="datatype.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="array.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="extension.html">Extension</a></li>
<li class="toctree-l3"><a class="reference internal" href="scalar.html">Scalars</a></li>
<li class="toctree-l3"><a class="reference internal" href="builder.html">Array Builders</a></li>
<li class="toctree-l3"><a class="reference internal" href="table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="c_abi.html">C Interfaces</a></li>
<li class="toctree-l3"><a class="reference internal" href="compute.html">Compute Functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l3"><a class="reference internal" href="gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l3"><a class="reference internal" href="tensor.html">Tensors</a></li>
<li class="toctree-l3"><a class="reference internal" href="utilities.html">Utilities</a></li>
<li class="toctree-l3"><a class="reference internal" href="async.html">Asynchronous programming</a></li>
<li class="toctree-l3 current active"><a class="current reference internal" href="#">Input / output</a></li>
<li class="toctree-l3"><a class="reference internal" href="ipc.html">Arrow IPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="formats.html">File Formats</a></li>
<li class="toctree-l3"><a class="reference internal" href="cuda.html">CUDA support</a></li>
<li class="toctree-l3"><a class="reference internal" href="flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l3"><a class="reference internal" href="filesystem.html">Filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="dataset.html">Dataset</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../developers/cpp/index.html">C++ Development</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/building.html">Building Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/development.html">Development Guidelines</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/windows.html">Developing on Windows</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/emscripten.html">Cross compiling for WebAssembly with Emscripten</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/fuzzing.html">Fuzzing Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../developers/cpp/compute.html">Developing Arrow C++ Compute</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../developers/cpp/acero.html">Developing Acero</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../developers/cpp/acero/swiss_table.html">Swiss Table</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">C++ Cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../c_glib/index.html">C GLib</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-glib/index.html">Apache Arrow GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-cuda-glib/index.html">Apache Arrow CUDA GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-dataset-glib/index.html">Apache Arrow Dataset</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-flight-glib/index.html">Apache Arrow Flight GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/arrow-flight-sql-glib/index.html">Apache Arrow Flight SQL GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/parquet-glib/index.html">Apache Parquet GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../c_glib/gandiva-glib/index.html">Gandiva GLib</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/go/">Go</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/java/current/">Java</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/js/current/">JavaScript</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/julia/">Julia</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">MATLAB</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../python/index.html">Python</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../../python/install.html">Installing PyArrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/getstarted.html">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/data.html">Data Types and In-Memory Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/memory.html">Memory and IO Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/ipc.html">Streaming, Serialization, and IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/filesystems.html">Filesystem Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/numpy.html">NumPy Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/pandas.html">Pandas Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/interchange_protocol.html">Dataframe Interchange Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/dlpack.html">The DLPack Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/timestamps.html">Timestamps</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/orc.html">Reading and Writing the Apache ORC Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/feather.html">Feather File Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/parquet.html">Reading and Writing the Apache Parquet Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/dataset.html">Tabular Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/extending_types.html">Extending PyArrow</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../python/integration.html">PyArrow Integrations</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/substrait.html">Substrait</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/python_r.html">Integrating PyArrow with R</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/python_java.html">Integrating PyArrow with Java</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/extending.html">Using pyarrow from C++ and Cython Code</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../python/integration/cuda.html">CUDA Integration</a></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/env_vars.html">Environment Variables</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../python/api.html">API Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/datatypes.html">Data Types and Schemas</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.null.html">pyarrow.null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.bool_.html">pyarrow.bool_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int8.html">pyarrow.int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int16.html">pyarrow.int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int32.html">pyarrow.int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.int64.html">pyarrow.int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint8.html">pyarrow.uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint16.html">pyarrow.uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint32.html">pyarrow.uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uint64.html">pyarrow.uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float16.html">pyarrow.float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float32.html">pyarrow.float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.float64.html">pyarrow.float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.time32.html">pyarrow.time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.time64.html">pyarrow.time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.timestamp.html">pyarrow.timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.date32.html">pyarrow.date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.date64.html">pyarrow.date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.duration.html">pyarrow.duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.month_day_nano_interval.html">pyarrow.month_day_nano_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.binary.html">pyarrow.binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.string.html">pyarrow.string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.utf8.html">pyarrow.utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_binary.html">pyarrow.large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_string.html">pyarrow.large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_utf8.html">pyarrow.large_utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.binary_view.html">pyarrow.binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.string_view.html">pyarrow.string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decimal128.html">pyarrow.decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decimal256.html">pyarrow.decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.list_.html">pyarrow.list_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_list.html">pyarrow.large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.list_view.html">pyarrow.list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.large_list_view.html">pyarrow.large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.map_.html">pyarrow.map_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.struct.html">pyarrow.struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dictionary.html">pyarrow.dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.run_end_encoded.html">pyarrow.run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fixed_shape_tensor.html">pyarrow.fixed_shape_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.union.html">pyarrow.union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dense_union.html">pyarrow.dense_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.sparse_union.html">pyarrow.sparse_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.opaque.html">pyarrow.opaque</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.bool8.html">pyarrow.bool8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.uuid.html">pyarrow.uuid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json_.html">pyarrow.json_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.field.html">pyarrow.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.schema.html">pyarrow.schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.from_numpy_dtype.html">pyarrow.from_numpy_dtype</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.unify_schemas.html">pyarrow.unify_schemas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DataType.html">pyarrow.DataType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryType.html">pyarrow.DictionaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListType.html">pyarrow.ListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewType.html">pyarrow.ListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListType.html">pyarrow.FixedSizeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListType.html">pyarrow.LargeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewType.html">pyarrow.LargeListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapType.html">pyarrow.MapType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructType.html">pyarrow.StructType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionType.html">pyarrow.UnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DenseUnionType.html">pyarrow.DenseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseUnionType.html">pyarrow.SparseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampType.html">pyarrow.TimestampType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Type.html">pyarrow.Time32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Type.html">pyarrow.Time64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationType.html">pyarrow.DurationType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryType.html">pyarrow.FixedSizeBinaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal32Type.html">pyarrow.Decimal32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal64Type.html">pyarrow.Decimal64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Type.html">pyarrow.Decimal128Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Type.html">pyarrow.Decimal256Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Field.html">pyarrow.Field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Schema.html">pyarrow.Schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedType.html">pyarrow.RunEndEncodedType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BaseExtensionType.html">pyarrow.BaseExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionType.html">pyarrow.ExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnknownExtensionType.html">pyarrow.UnknownExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.register_extension_type.html">pyarrow.register_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.unregister_extension_type.html">pyarrow.unregister_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorType.html">pyarrow.FixedShapeTensorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueType.html">pyarrow.OpaqueType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonType.html">pyarrow.JsonType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidType.html">pyarrow.UuidType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Type.html">pyarrow.Bool8Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_boolean.html">pyarrow.types.is_boolean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_integer.html">pyarrow.types.is_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_signed_integer.html">pyarrow.types.is_signed_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_unsigned_integer.html">pyarrow.types.is_unsigned_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int8.html">pyarrow.types.is_int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int16.html">pyarrow.types.is_int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int32.html">pyarrow.types.is_int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_int64.html">pyarrow.types.is_int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint8.html">pyarrow.types.is_uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint16.html">pyarrow.types.is_uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint32.html">pyarrow.types.is_uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_uint64.html">pyarrow.types.is_uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_floating.html">pyarrow.types.is_floating</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float16.html">pyarrow.types.is_float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float32.html">pyarrow.types.is_float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_float64.html">pyarrow.types.is_float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal.html">pyarrow.types.is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal128.html">pyarrow.types.is_decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal256.html">pyarrow.types.is_decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_list.html">pyarrow.types.is_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list.html">pyarrow.types.is_large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_list.html">pyarrow.types.is_fixed_size_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_list_view.html">pyarrow.types.is_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list_view.html">pyarrow.types.is_large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_struct.html">pyarrow.types.is_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_union.html">pyarrow.types.is_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_nested.html">pyarrow.types.is_nested</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_run_end_encoded.html">pyarrow.types.is_run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_temporal.html">pyarrow.types.is_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_timestamp.html">pyarrow.types.is_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date.html">pyarrow.types.is_date</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date32.html">pyarrow.types.is_date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_date64.html">pyarrow.types.is_date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time.html">pyarrow.types.is_time</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time32.html">pyarrow.types.is_time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_time64.html">pyarrow.types.is_time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_duration.html">pyarrow.types.is_duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_interval.html">pyarrow.types.is_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_null.html">pyarrow.types.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_binary.html">pyarrow.types.is_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_unicode.html">pyarrow.types.is_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_string.html">pyarrow.types.is_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_binary.html">pyarrow.types.is_large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_unicode.html">pyarrow.types.is_large_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_large_string.html">pyarrow.types.is_large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_binary_view.html">pyarrow.types.is_binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_string_view.html">pyarrow.types.is_string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_binary.html">pyarrow.types.is_fixed_size_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_map.html">pyarrow.types.is_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_dictionary.html">pyarrow.types.is_dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.is_primitive.html">pyarrow.types.is_primitive</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.types.TypesEnum.html">pyarrow.types.TypesEnum</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/arrays.html">Arrays and Scalars</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.arange.html">pyarrow.arange</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.array.html">pyarrow.array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.nulls.html">pyarrow.nulls</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.repeat.html">pyarrow.repeat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.infer_type.html">pyarrow.infer_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Array.html">pyarrow.Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BooleanArray.html">pyarrow.BooleanArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatingPointArray.html">pyarrow.FloatingPointArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.IntegerArray.html">pyarrow.IntegerArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int8Array.html">pyarrow.Int8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int16Array.html">pyarrow.Int16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int32Array.html">pyarrow.Int32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int64Array.html">pyarrow.Int64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NullArray.html">pyarrow.NullArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NumericArray.html">pyarrow.NumericArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt8Array.html">pyarrow.UInt8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt16Array.html">pyarrow.UInt16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt32Array.html">pyarrow.UInt32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt64Array.html">pyarrow.UInt64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.HalfFloatArray.html">pyarrow.HalfFloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatArray.html">pyarrow.FloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DoubleArray.html">pyarrow.DoubleArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryArray.html">pyarrow.BinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringArray.html">pyarrow.StringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryArray.html">pyarrow.FixedSizeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryArray.html">pyarrow.LargeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeStringArray.html">pyarrow.LargeStringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryViewArray.html">pyarrow.BinaryViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringViewArray.html">pyarrow.StringViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Array.html">pyarrow.Time32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Array.html">pyarrow.Time64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date32Array.html">pyarrow.Date32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date64Array.html">pyarrow.Date64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampArray.html">pyarrow.TimestampArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationArray.html">pyarrow.DurationArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalArray.html">pyarrow.MonthDayNanoIntervalArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal32Array.html">pyarrow.Decimal32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal64Array.html">pyarrow.Decimal64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Array.html">pyarrow.Decimal128Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Array.html">pyarrow.Decimal256Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryArray.html">pyarrow.DictionaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListArray.html">pyarrow.ListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListArray.html">pyarrow.FixedSizeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListArray.html">pyarrow.LargeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewArray.html">pyarrow.ListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewArray.html">pyarrow.LargeListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapArray.html">pyarrow.MapArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedArray.html">pyarrow.RunEndEncodedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructArray.html">pyarrow.StructArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionArray.html">pyarrow.UnionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionArray.html">pyarrow.ExtensionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorArray.html">pyarrow.FixedShapeTensorArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueArray.html">pyarrow.OpaqueArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonArray.html">pyarrow.JsonArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidArray.html">pyarrow.UuidArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Array.html">pyarrow.Bool8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.scalar.html">pyarrow.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NA.html">pyarrow.NA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Scalar.html">pyarrow.Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BooleanScalar.html">pyarrow.BooleanScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int8Scalar.html">pyarrow.Int8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int16Scalar.html">pyarrow.Int16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int32Scalar.html">pyarrow.Int32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Int64Scalar.html">pyarrow.Int64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NullScalar.html">pyarrow.NullScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt8Scalar.html">pyarrow.UInt8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt16Scalar.html">pyarrow.UInt16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt32Scalar.html">pyarrow.UInt32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UInt64Scalar.html">pyarrow.UInt64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.HalfFloatScalar.html">pyarrow.HalfFloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FloatScalar.html">pyarrow.FloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DoubleScalar.html">pyarrow.DoubleScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryScalar.html">pyarrow.BinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringScalar.html">pyarrow.StringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryScalar.html">pyarrow.FixedSizeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryScalar.html">pyarrow.LargeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeStringScalar.html">pyarrow.LargeStringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BinaryViewScalar.html">pyarrow.BinaryViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StringViewScalar.html">pyarrow.StringViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time32Scalar.html">pyarrow.Time32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Time64Scalar.html">pyarrow.Time64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date32Scalar.html">pyarrow.Date32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Date64Scalar.html">pyarrow.Date64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TimestampScalar.html">pyarrow.TimestampScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DurationScalar.html">pyarrow.DurationScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalScalar.html">pyarrow.MonthDayNanoIntervalScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal32Scalar.html">pyarrow.Decimal32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal64Scalar.html">pyarrow.Decimal64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal128Scalar.html">pyarrow.Decimal128Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Decimal256Scalar.html">pyarrow.Decimal256Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.DictionaryScalar.html">pyarrow.DictionaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedScalar.html">pyarrow.RunEndEncodedScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListScalar.html">pyarrow.ListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListScalar.html">pyarrow.FixedSizeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListScalar.html">pyarrow.LargeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ListViewScalar.html">pyarrow.ListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.LargeListViewScalar.html">pyarrow.LargeListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MapScalar.html">pyarrow.MapScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.StructScalar.html">pyarrow.StructScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UnionScalar.html">pyarrow.UnionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ExtensionScalar.html">pyarrow.ExtensionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorScalar.html">pyarrow.FixedShapeTensorScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OpaqueScalar.html">pyarrow.OpaqueScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.JsonScalar.html">pyarrow.JsonScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.UuidScalar.html">pyarrow.UuidScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Bool8Scalar.html">pyarrow.Bool8Scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/memory.html">Buffers and Memory</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.allocate_buffer.html">pyarrow.allocate_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.py_buffer.html">pyarrow.py_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.foreign_buffer.html">pyarrow.foreign_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Buffer.html">pyarrow.Buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ResizableBuffer.html">pyarrow.ResizableBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Codec.html">pyarrow.Codec</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compress.html">pyarrow.compress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.decompress.html">pyarrow.decompress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MemoryPool.html">pyarrow.MemoryPool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.default_memory_pool.html">pyarrow.default_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.jemalloc_memory_pool.html">pyarrow.jemalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.mimalloc_memory_pool.html">pyarrow.mimalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.system_memory_pool.html">pyarrow.system_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.jemalloc_set_decay_ms.html">pyarrow.jemalloc_set_decay_ms</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_memory_pool.html">pyarrow.set_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.log_memory_allocations.html">pyarrow.log_memory_allocations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.total_allocated_bytes.html">pyarrow.total_allocated_bytes</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/tables.html">Tables and Tensors</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.chunked_array.html">pyarrow.chunked_array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_arrays.html">pyarrow.concat_arrays</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_tables.html">pyarrow.concat_tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.record_batch.html">pyarrow.record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.concat_batches.html">pyarrow.concat_batches</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.table.html">pyarrow.table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ChunkedArray.html">pyarrow.ChunkedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RecordBatch.html">pyarrow.RecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Table.html">pyarrow.Table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.TableGroupBy.html">pyarrow.TableGroupBy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.RecordBatchReader.html">pyarrow.RecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.interchange.from_dataframe.html">pyarrow.interchange.from_dataframe</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.Tensor.html">pyarrow.Tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseCOOTensor.html">pyarrow.SparseCOOTensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseCSRMatrix.html">pyarrow.SparseCSRMatrix</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseCSCMatrix.html">pyarrow.SparseCSCMatrix</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.SparseCSFTensor.html">pyarrow.SparseCSFTensor</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/compute.html">Compute Functions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.all.html">pyarrow.compute.all</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.any.html">pyarrow.compute.any</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.approximate_median.html">pyarrow.compute.approximate_median</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count.html">pyarrow.compute.count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_distinct.html">pyarrow.compute.count_distinct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.first.html">pyarrow.compute.first</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.first_last.html">pyarrow.compute.first_last</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.index.html">pyarrow.compute.index</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.kurtosis.html">pyarrow.compute.kurtosis</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.last.html">pyarrow.compute.last</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.max.html">pyarrow.compute.max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.mean.html">pyarrow.compute.mean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min.html">pyarrow.compute.min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min_max.html">pyarrow.compute.min_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.mode.html">pyarrow.compute.mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.pivot_wider.html">pyarrow.compute.pivot_wider</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.product.html">pyarrow.compute.product</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quantile.html">pyarrow.compute.quantile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.skew.html">pyarrow.compute.skew</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.stddev.html">pyarrow.compute.stddev</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sum.html">pyarrow.compute.sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tdigest.html">pyarrow.compute.tdigest</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.variance.html">pyarrow.compute.variance</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum.html">pyarrow.compute.cumulative_sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum_checked.html">pyarrow.compute.cumulative_sum_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod.html">pyarrow.compute.cumulative_prod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod_checked.html">pyarrow.compute.cumulative_prod_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_max.html">pyarrow.compute.cumulative_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_mean.html">pyarrow.compute.cumulative_mean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_min.html">pyarrow.compute.cumulative_min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.abs.html">pyarrow.compute.abs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.abs_checked.html">pyarrow.compute.abs_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.add.html">pyarrow.compute.add</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.add_checked.html">pyarrow.compute.add_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.divide.html">pyarrow.compute.divide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.divide_checked.html">pyarrow.compute.divide_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.exp.html">pyarrow.compute.exp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.expm1.html">pyarrow.compute.expm1</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.multiply.html">pyarrow.compute.multiply</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.multiply_checked.html">pyarrow.compute.multiply_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.negate.html">pyarrow.compute.negate</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.negate_checked.html">pyarrow.compute.negate_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.power.html">pyarrow.compute.power</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.power_checked.html">pyarrow.compute.power_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sign.html">pyarrow.compute.sign</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt.html">pyarrow.compute.sqrt</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt_checked.html">pyarrow.compute.sqrt_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subtract.html">pyarrow.compute.subtract</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subtract_checked.html">pyarrow.compute.subtract_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_and.html">pyarrow.compute.bit_wise_and</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_not.html">pyarrow.compute.bit_wise_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_or.html">pyarrow.compute.bit_wise_or</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_xor.html">pyarrow.compute.bit_wise_xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left.html">pyarrow.compute.shift_left</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left_checked.html">pyarrow.compute.shift_left_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right.html">pyarrow.compute.shift_right</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right_checked.html">pyarrow.compute.shift_right_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ceil.html">pyarrow.compute.ceil</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.floor.html">pyarrow.compute.floor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round.html">pyarrow.compute.round</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round_binary.html">pyarrow.compute.round_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round_to_multiple.html">pyarrow.compute.round_to_multiple</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.trunc.html">pyarrow.compute.trunc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ln.html">pyarrow.compute.ln</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ln_checked.html">pyarrow.compute.ln_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log10.html">pyarrow.compute.log10</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log10_checked.html">pyarrow.compute.log10_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log1p.html">pyarrow.compute.log1p</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log1p_checked.html">pyarrow.compute.log1p_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log2.html">pyarrow.compute.log2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.log2_checked.html">pyarrow.compute.log2_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.logb.html">pyarrow.compute.logb</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.logb_checked.html">pyarrow.compute.logb_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acos.html">pyarrow.compute.acos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acos_checked.html">pyarrow.compute.acos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.asin.html">pyarrow.compute.asin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.asin_checked.html">pyarrow.compute.asin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atan.html">pyarrow.compute.atan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atan2.html">pyarrow.compute.atan2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cos.html">pyarrow.compute.cos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cos_checked.html">pyarrow.compute.cos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sin.html">pyarrow.compute.sin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sin_checked.html">pyarrow.compute.sin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tan.html">pyarrow.compute.tan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tan_checked.html">pyarrow.compute.tan_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acosh.html">pyarrow.compute.acosh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.acosh_checked.html">pyarrow.compute.acosh_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.asinh.html">pyarrow.compute.asinh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atanh.html">pyarrow.compute.atanh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.atanh_checked.html">pyarrow.compute.atanh_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cosh.html">pyarrow.compute.cosh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sinh.html">pyarrow.compute.sinh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.tanh.html">pyarrow.compute.tanh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.equal.html">pyarrow.compute.equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.greater.html">pyarrow.compute.greater</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.greater_equal.html">pyarrow.compute.greater_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.less.html">pyarrow.compute.less</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.less_equal.html">pyarrow.compute.less_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.not_equal.html">pyarrow.compute.not_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.max_element_wise.html">pyarrow.compute.max_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.min_element_wise.html">pyarrow.compute.min_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_.html">pyarrow.compute.and_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_kleene.html">pyarrow.compute.and_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_not.html">pyarrow.compute.and_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.and_not_kleene.html">pyarrow.compute.and_not_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.invert.html">pyarrow.compute.invert</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.or_.html">pyarrow.compute.or_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.or_kleene.html">pyarrow.compute.or_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.xor.html">pyarrow.compute.xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alnum.html">pyarrow.compute.ascii_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alpha.html">pyarrow.compute.ascii_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_decimal.html">pyarrow.compute.ascii_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_lower.html">pyarrow.compute.ascii_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_printable.html">pyarrow.compute.ascii_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_space.html">pyarrow.compute.ascii_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_upper.html">pyarrow.compute.ascii_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alnum.html">pyarrow.compute.utf8_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alpha.html">pyarrow.compute.utf8_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_decimal.html">pyarrow.compute.utf8_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_digit.html">pyarrow.compute.utf8_is_digit</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_lower.html">pyarrow.compute.utf8_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_numeric.html">pyarrow.compute.utf8_is_numeric</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_printable.html">pyarrow.compute.utf8_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_space.html">pyarrow.compute.utf8_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_upper.html">pyarrow.compute.utf8_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_title.html">pyarrow.compute.ascii_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_title.html">pyarrow.compute.utf8_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.string_is_ascii.html">pyarrow.compute.string_is_ascii</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_capitalize.html">pyarrow.compute.ascii_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lower.html">pyarrow.compute.ascii_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_reverse.html">pyarrow.compute.ascii_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_swapcase.html">pyarrow.compute.ascii_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_title.html">pyarrow.compute.ascii_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_upper.html">pyarrow.compute.ascii_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_length.html">pyarrow.compute.binary_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_repeat.html">pyarrow.compute.binary_repeat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_replace_slice.html">pyarrow.compute.binary_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_reverse.html">pyarrow.compute.binary_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring.html">pyarrow.compute.replace_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring_regex.html">pyarrow.compute.replace_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_capitalize.html">pyarrow.compute.utf8_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_length.html">pyarrow.compute.utf8_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lower.html">pyarrow.compute.utf8_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_normalize.html">pyarrow.compute.utf8_normalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_replace_slice.html">pyarrow.compute.utf8_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_reverse.html">pyarrow.compute.utf8_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_swapcase.html">pyarrow.compute.utf8_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_title.html">pyarrow.compute.utf8_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_upper.html">pyarrow.compute.utf8_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_center.html">pyarrow.compute.ascii_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lpad.html">pyarrow.compute.ascii_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rpad.html">pyarrow.compute.ascii_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_center.html">pyarrow.compute.utf8_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lpad.html">pyarrow.compute.utf8_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rpad.html">pyarrow.compute.utf8_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_zero_fill.html">pyarrow.compute.utf8_zero_fill</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim.html">pyarrow.compute.ascii_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim_whitespace.html">pyarrow.compute.ascii_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim.html">pyarrow.compute.ascii_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim_whitespace.html">pyarrow.compute.ascii_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim.html">pyarrow.compute.ascii_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim_whitespace.html">pyarrow.compute.ascii_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim.html">pyarrow.compute.utf8_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim_whitespace.html">pyarrow.compute.utf8_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim.html">pyarrow.compute.utf8_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim_whitespace.html">pyarrow.compute.utf8_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim.html">pyarrow.compute.utf8_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim_whitespace.html">pyarrow.compute.utf8_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_split_whitespace.html">pyarrow.compute.ascii_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern.html">pyarrow.compute.split_pattern</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern_regex.html">pyarrow.compute.split_pattern_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_split_whitespace.html">pyarrow.compute.utf8_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.extract_regex.html">pyarrow.compute.extract_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.extract_regex_span.html">pyarrow.compute.extract_regex_span</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join.html">pyarrow.compute.binary_join</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join_element_wise.html">pyarrow.compute.binary_join_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.binary_slice.html">pyarrow.compute.binary_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_slice_codeunits.html">pyarrow.compute.utf8_slice_codeunits</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring.html">pyarrow.compute.count_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring_regex.html">pyarrow.compute.count_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ends_with.html">pyarrow.compute.ends_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring.html">pyarrow.compute.find_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring_regex.html">pyarrow.compute.find_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.index_in.html">pyarrow.compute.index_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_in.html">pyarrow.compute.is_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_like.html">pyarrow.compute.match_like</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring.html">pyarrow.compute.match_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring_regex.html">pyarrow.compute.match_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.starts_with.html">pyarrow.compute.starts_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.indices_nonzero.html">pyarrow.compute.indices_nonzero</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_finite.html">pyarrow.compute.is_finite</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_inf.html">pyarrow.compute.is_inf</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_nan.html">pyarrow.compute.is_nan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_null.html">pyarrow.compute.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_valid.html">pyarrow.compute.is_valid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.true_unless_null.html">pyarrow.compute.true_unless_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.case_when.html">pyarrow.compute.case_when</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.choose.html">pyarrow.compute.choose</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.coalesce.html">pyarrow.compute.coalesce</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.if_else.html">pyarrow.compute.if_else</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.cast.html">pyarrow.compute.cast</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ceil_temporal.html">pyarrow.compute.ceil_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.floor_temporal.html">pyarrow.compute.floor_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.round_temporal.html">pyarrow.compute.round_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_decode.html">pyarrow.compute.run_end_decode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_encode.html">pyarrow.compute.run_end_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.strftime.html">pyarrow.compute.strftime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.strptime.html">pyarrow.compute.strptime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day.html">pyarrow.compute.day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_week.html">pyarrow.compute.day_of_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_year.html">pyarrow.compute.day_of_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.hour.html">pyarrow.compute.hour</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_dst.html">pyarrow.compute.is_dst</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.is_leap_year.html">pyarrow.compute.is_leap_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_week.html">pyarrow.compute.iso_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_year.html">pyarrow.compute.iso_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.iso_calendar.html">pyarrow.compute.iso_calendar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.microsecond.html">pyarrow.compute.microsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.millisecond.html">pyarrow.compute.millisecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.minute.html">pyarrow.compute.minute</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month.html">pyarrow.compute.month</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.nanosecond.html">pyarrow.compute.nanosecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quarter.html">pyarrow.compute.quarter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.second.html">pyarrow.compute.second</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.subsecond.html">pyarrow.compute.subsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.us_week.html">pyarrow.compute.us_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.us_year.html">pyarrow.compute.us_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.week.html">pyarrow.compute.week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.year.html">pyarrow.compute.year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.year_month_day.html">pyarrow.compute.year_month_day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.day_time_interval_between.html">pyarrow.compute.day_time_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.days_between.html">pyarrow.compute.days_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.hours_between.html">pyarrow.compute.hours_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.microseconds_between.html">pyarrow.compute.microseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.milliseconds_between.html">pyarrow.compute.milliseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.minutes_between.html">pyarrow.compute.minutes_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month_day_nano_interval_between.html">pyarrow.compute.month_day_nano_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.month_interval_between.html">pyarrow.compute.month_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.nanoseconds_between.html">pyarrow.compute.nanoseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.quarters_between.html">pyarrow.compute.quarters_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.seconds_between.html">pyarrow.compute.seconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.weeks_between.html">pyarrow.compute.weeks_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.years_between.html">pyarrow.compute.years_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.assume_timezone.html">pyarrow.compute.assume_timezone</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.local_timestamp.html">pyarrow.compute.local_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.random.html">pyarrow.compute.random</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.dictionary_decode.html">pyarrow.compute.dictionary_decode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.dictionary_encode.html">pyarrow.compute.dictionary_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.unique.html">pyarrow.compute.unique</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.value_counts.html">pyarrow.compute.value_counts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_filter.html">pyarrow.compute.array_filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_take.html">pyarrow.compute.array_take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.drop_null.html">pyarrow.compute.drop_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.filter.html">pyarrow.compute.filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.inverse_permutation.html">pyarrow.compute.inverse_permutation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.scatter.html">pyarrow.compute.scatter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.take.html">pyarrow.compute.take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.array_sort_indices.html">pyarrow.compute.array_sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.bottom_k_unstable.html">pyarrow.compute.bottom_k_unstable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.partition_nth_indices.html">pyarrow.compute.partition_nth_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.rank.html">pyarrow.compute.rank</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.rank_normal.html">pyarrow.compute.rank_normal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.rank_quantile.html">pyarrow.compute.rank_quantile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.select_k_unstable.html">pyarrow.compute.select_k_unstable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.sort_indices.html">pyarrow.compute.sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.top_k_unstable.html">pyarrow.compute.top_k_unstable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.winsorize.html">pyarrow.compute.winsorize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null.html">pyarrow.compute.fill_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_backward.html">pyarrow.compute.fill_null_backward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_forward.html">pyarrow.compute.fill_null_forward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_element.html">pyarrow.compute.list_element</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_flatten.html">pyarrow.compute.list_flatten</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_parent_indices.html">pyarrow.compute.list_parent_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_slice.html">pyarrow.compute.list_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_value_length.html">pyarrow.compute.list_value_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.make_struct.html">pyarrow.compute.make_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.map_lookup.html">pyarrow.compute.map_lookup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.replace_with_mask.html">pyarrow.compute.replace_with_mask</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.struct_field.html">pyarrow.compute.struct_field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.pairwise_diff.html">pyarrow.compute.pairwise_diff</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.pairwise_diff_checked.html">pyarrow.compute.pairwise_diff_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ArraySortOptions.html">pyarrow.compute.ArraySortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.AssumeTimezoneOptions.html">pyarrow.compute.AssumeTimezoneOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CastOptions.html">pyarrow.compute.CastOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CountOptions.html">pyarrow.compute.CountOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CumulativeOptions.html">pyarrow.compute.CumulativeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.CumulativeSumOptions.html">pyarrow.compute.CumulativeSumOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.DayOfWeekOptions.html">pyarrow.compute.DayOfWeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.DictionaryEncodeOptions.html">pyarrow.compute.DictionaryEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ElementWiseAggregateOptions.html">pyarrow.compute.ElementWiseAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ExtractRegexOptions.html">pyarrow.compute.ExtractRegexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ExtractRegexSpanOptions.html">pyarrow.compute.ExtractRegexSpanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.FilterOptions.html">pyarrow.compute.FilterOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.IndexOptions.html">pyarrow.compute.IndexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.InversePermutationOptions.html">pyarrow.compute.InversePermutationOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.JoinOptions.html">pyarrow.compute.JoinOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ListFlattenOptions.html">pyarrow.compute.ListFlattenOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ListSliceOptions.html">pyarrow.compute.ListSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MakeStructOptions.html">pyarrow.compute.MakeStructOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MapLookupOptions.html">pyarrow.compute.MapLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.MatchSubstringOptions.html">pyarrow.compute.MatchSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ModeOptions.html">pyarrow.compute.ModeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.NullOptions.html">pyarrow.compute.NullOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PadOptions.html">pyarrow.compute.PadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PairwiseOptions.html">pyarrow.compute.PairwiseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PartitionNthOptions.html">pyarrow.compute.PartitionNthOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.PivotWiderOptions.html">pyarrow.compute.PivotWiderOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.QuantileOptions.html">pyarrow.compute.QuantileOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RandomOptions.html">pyarrow.compute.RandomOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RankOptions.html">pyarrow.compute.RankOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RankQuantileOptions.html">pyarrow.compute.RankQuantileOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSliceOptions.html">pyarrow.compute.ReplaceSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSubstringOptions.html">pyarrow.compute.ReplaceSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundBinaryOptions.html">pyarrow.compute.RoundBinaryOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundOptions.html">pyarrow.compute.RoundOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundTemporalOptions.html">pyarrow.compute.RoundTemporalOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RoundToMultipleOptions.html">pyarrow.compute.RoundToMultipleOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.RunEndEncodeOptions.html">pyarrow.compute.RunEndEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ScalarAggregateOptions.html">pyarrow.compute.ScalarAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ScatterOptions.html">pyarrow.compute.ScatterOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SelectKOptions.html">pyarrow.compute.SelectKOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SetLookupOptions.html">pyarrow.compute.SetLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SkewOptions.html">pyarrow.compute.SkewOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SliceOptions.html">pyarrow.compute.SliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SortOptions.html">pyarrow.compute.SortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SplitOptions.html">pyarrow.compute.SplitOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.SplitPatternOptions.html">pyarrow.compute.SplitPatternOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StrftimeOptions.html">pyarrow.compute.StrftimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StrptimeOptions.html">pyarrow.compute.StrptimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.StructFieldOptions.html">pyarrow.compute.StructFieldOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TakeOptions.html">pyarrow.compute.TakeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TDigestOptions.html">pyarrow.compute.TDigestOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.TrimOptions.html">pyarrow.compute.TrimOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.Utf8NormalizeOptions.html">pyarrow.compute.Utf8NormalizeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.VarianceOptions.html">pyarrow.compute.VarianceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.WeekOptions.html">pyarrow.compute.WeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.WinsorizeOptions.html">pyarrow.compute.WinsorizeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.ZeroFillOptions.html">pyarrow.compute.ZeroFillOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.call_function.html">pyarrow.compute.call_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.call_tabular_function.html">pyarrow.compute.call_tabular_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.get_function.html">pyarrow.compute.get_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.list_functions.html">pyarrow.compute.list_functions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.register_aggregate_function.html">pyarrow.compute.register_aggregate_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.register_scalar_function.html">pyarrow.compute.register_scalar_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.register_tabular_function.html">pyarrow.compute.register_tabular_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.register_vector_function.html">pyarrow.compute.register_vector_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.UdfContext.html">pyarrow.compute.UdfContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.field.html">pyarrow.compute.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.compute.scalar.html">pyarrow.compute.scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/acero.html">Acero - Streaming Execution Engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.Declaration.html">pyarrow.acero.Declaration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ExecNodeOptions.html">pyarrow.acero.ExecNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.TableSourceNodeOptions.html">pyarrow.acero.TableSourceNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ScanNodeOptions.html">pyarrow.acero.ScanNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.FilterNodeOptions.html">pyarrow.acero.FilterNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.ProjectNodeOptions.html">pyarrow.acero.ProjectNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.AggregateNodeOptions.html">pyarrow.acero.AggregateNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.OrderByNodeOptions.html">pyarrow.acero.OrderByNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.acero.HashJoinNodeOptions.html">pyarrow.acero.HashJoinNodeOptions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/substrait.html">Substrait</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.run_query.html">pyarrow.substrait.run_query</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.BoundExpressions.html">pyarrow.substrait.BoundExpressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.deserialize_expressions.html">pyarrow.substrait.deserialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.serialize_expressions.html">pyarrow.substrait.serialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.serialize_schema.html">pyarrow.substrait.serialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.deserialize_schema.html">pyarrow.substrait.deserialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.SubstraitSchema.html">pyarrow.substrait.SubstraitSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.substrait.get_supported_functions.html">pyarrow.substrait.get_supported_functions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/files.html">Streams and File Access</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.input_stream.html">pyarrow.input_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.output_stream.html">pyarrow.output_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.memory_map.html">pyarrow.memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.create_memory_map.html">pyarrow.create_memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.NativeFile.html">pyarrow.NativeFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.OSFile.html">pyarrow.OSFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.PythonFile.html">pyarrow.PythonFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BufferReader.html">pyarrow.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.BufferOutputStream.html">pyarrow.BufferOutputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBufferWriter.html">pyarrow.FixedSizeBufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.MemoryMappedFile.html">pyarrow.MemoryMappedFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.CompressedInputStream.html">pyarrow.CompressedInputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.CompressedOutputStream.html">pyarrow.CompressedOutputStream</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/ipc.html">Serialization and IPC</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.new_file.html">pyarrow.ipc.new_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.open_file.html">pyarrow.ipc.open_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.new_stream.html">pyarrow.ipc.new_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.open_stream.html">pyarrow.ipc.open_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_message.html">pyarrow.ipc.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_record_batch.html">pyarrow.ipc.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.get_record_batch_size.html">pyarrow.ipc.get_record_batch_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.read_tensor.html">pyarrow.ipc.read_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.write_tensor.html">pyarrow.ipc.write_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.get_tensor_size.html">pyarrow.ipc.get_tensor_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcReadOptions.html">pyarrow.ipc.IpcReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcWriteOptions.html">pyarrow.ipc.IpcWriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.Message.html">pyarrow.ipc.Message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.MessageReader.html">pyarrow.ipc.MessageReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileReader.html">pyarrow.ipc.RecordBatchFileReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileWriter.html">pyarrow.ipc.RecordBatchFileWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamReader.html">pyarrow.ipc.RecordBatchStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamWriter.html">pyarrow.ipc.RecordBatchStreamWriter</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/flight.html">Arrow Flight</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Action.html">pyarrow.flight.Action</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ActionType.html">pyarrow.flight.ActionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.DescriptorType.html">pyarrow.flight.DescriptorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDescriptor.html">pyarrow.flight.FlightDescriptor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightEndpoint.html">pyarrow.flight.FlightEndpoint</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInfo.html">pyarrow.flight.FlightInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Location.html">pyarrow.flight.Location</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchReader.html">pyarrow.flight.MetadataRecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchWriter.html">pyarrow.flight.MetadataRecordBatchWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Ticket.html">pyarrow.flight.Ticket</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.Result.html">pyarrow.flight.Result</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.connect.html">pyarrow.flight.connect</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCallOptions.html">pyarrow.flight.FlightCallOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightClient.html">pyarrow.flight.FlightClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamReader.html">pyarrow.flight.FlightStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamWriter.html">pyarrow.flight.FlightStreamWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddlewareFactory.html">pyarrow.flight.ClientMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddleware.html">pyarrow.flight.ClientMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDataStream.html">pyarrow.flight.FlightDataStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMetadataWriter.html">pyarrow.flight.FlightMetadataWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerBase.html">pyarrow.flight.FlightServerBase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.GeneratorStream.html">pyarrow.flight.GeneratorStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.RecordBatchStream.html">pyarrow.flight.RecordBatchStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerCallContext.html">pyarrow.flight.ServerCallContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddlewareFactory.html">pyarrow.flight.ServerMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddleware.html">pyarrow.flight.ServerMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ClientAuthHandler.html">pyarrow.flight.ClientAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.ServerAuthHandler.html">pyarrow.flight.ServerAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightError.html">pyarrow.flight.FlightError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCancelledError.html">pyarrow.flight.FlightCancelledError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInternalError.html">pyarrow.flight.FlightInternalError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerError.html">pyarrow.flight.FlightServerError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightTimedOutError.html">pyarrow.flight.FlightTimedOutError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthenticatedError.html">pyarrow.flight.FlightUnauthenticatedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthorizedError.html">pyarrow.flight.FlightUnauthorizedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnavailableError.html">pyarrow.flight.FlightUnavailableError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightWriteSizeExceededError.html">pyarrow.flight.FlightWriteSizeExceededError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMethod.html">pyarrow.flight.FlightMethod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.flight.CallInfo.html">pyarrow.flight.CallInfo</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/formats.html">Tabular File Formats</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ConvertOptions.html">pyarrow.csv.ConvertOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.CSVStreamingReader.html">pyarrow.csv.CSVStreamingReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.CSVWriter.html">pyarrow.csv.CSVWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ISO8601.html">pyarrow.csv.ISO8601</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ParseOptions.html">pyarrow.csv.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.ReadOptions.html">pyarrow.csv.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.WriteOptions.html">pyarrow.csv.WriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.open_csv.html">pyarrow.csv.open_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.read_csv.html">pyarrow.csv.read_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.write_csv.html">pyarrow.csv.write_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.csv.InvalidRow.html">pyarrow.csv.InvalidRow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.read_feather.html">pyarrow.feather.read_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.read_table.html">pyarrow.feather.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.feather.write_feather.html">pyarrow.feather.write_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.ReadOptions.html">pyarrow.json.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.ParseOptions.html">pyarrow.json.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.open_json.html">pyarrow.json.open_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.json.read_json.html">pyarrow.json.read_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetDataset.html">pyarrow.parquet.ParquetDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetFile.html">pyarrow.parquet.ParquetFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetWriter.html">pyarrow.parquet.ParquetWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.filters_to_expression.html">pyarrow.parquet.filters_to_expression</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_table.html">pyarrow.parquet.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_metadata.html">pyarrow.parquet.read_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_pandas.html">pyarrow.parquet.read_pandas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.read_schema.html">pyarrow.parquet.read_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_metadata.html">pyarrow.parquet.write_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_table.html">pyarrow.parquet.write_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.write_to_dataset.html">pyarrow.parquet.write_to_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.FileMetaData.html">pyarrow.parquet.FileMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.RowGroupMetaData.html">pyarrow.parquet.RowGroupMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.SortingColumn.html">pyarrow.parquet.SortingColumn</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnChunkMetaData.html">pyarrow.parquet.ColumnChunkMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.Statistics.html">pyarrow.parquet.Statistics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetSchema.html">pyarrow.parquet.ParquetSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnSchema.html">pyarrow.parquet.ColumnSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetLogicalType.html">pyarrow.parquet.ParquetLogicalType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.CryptoFactory.html">pyarrow.parquet.encryption.CryptoFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsClient.html">pyarrow.parquet.encryption.KmsClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsConnectionConfig.html">pyarrow.parquet.encryption.KmsConnectionConfig</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.EncryptionConfiguration.html">pyarrow.parquet.encryption.EncryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.DecryptionConfiguration.html">pyarrow.parquet.encryption.DecryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.ORCFile.html">pyarrow.orc.ORCFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.ORCWriter.html">pyarrow.orc.ORCWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.read_table.html">pyarrow.orc.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.orc.write_table.html">pyarrow.orc.write_table</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/filesystems.html">Filesystems</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileInfo.html">pyarrow.fs.FileInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSelector.html">pyarrow.fs.FileSelector</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystem.html">pyarrow.fs.FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.LocalFileSystem.html">pyarrow.fs.LocalFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.S3FileSystem.html">pyarrow.fs.S3FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.GcsFileSystem.html">pyarrow.fs.GcsFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.HadoopFileSystem.html">pyarrow.fs.HadoopFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.SubTreeFileSystem.html">pyarrow.fs.SubTreeFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.AzureFileSystem.html">pyarrow.fs.AzureFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.PyFileSystem.html">pyarrow.fs.PyFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystemHandler.html">pyarrow.fs.FileSystemHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.FSSpecHandler.html">pyarrow.fs.FSSpecHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.copy_files.html">pyarrow.fs.copy_files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.initialize_s3.html">pyarrow.fs.initialize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.finalize_s3.html">pyarrow.fs.finalize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.resolve_s3_region.html">pyarrow.fs.resolve_s3_region</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.fs.S3LogLevel.html">pyarrow.fs.S3LogLevel</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/dataset.html">Dataset</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.dataset.html">pyarrow.dataset.dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.parquet_dataset.html">pyarrow.dataset.parquet_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.partitioning.html">pyarrow.dataset.partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.field.html">pyarrow.dataset.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.scalar.html">pyarrow.dataset.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.write_dataset.html">pyarrow.dataset.write_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileFormat.html">pyarrow.dataset.FileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFileFormat.html">pyarrow.dataset.CsvFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFragmentScanOptions.html">pyarrow.dataset.CsvFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.IpcFileFormat.html">pyarrow.dataset.IpcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.JsonFileFormat.html">pyarrow.dataset.JsonFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFormat.html">pyarrow.dataset.ParquetFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetReadOptions.html">pyarrow.dataset.ParquetReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFragmentScanOptions.html">pyarrow.dataset.ParquetFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFragment.html">pyarrow.dataset.ParquetFileFragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.OrcFileFormat.html">pyarrow.dataset.OrcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Partitioning.html">pyarrow.dataset.Partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.PartitioningFactory.html">pyarrow.dataset.PartitioningFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.DirectoryPartitioning.html">pyarrow.dataset.DirectoryPartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.HivePartitioning.html">pyarrow.dataset.HivePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FilenamePartitioning.html">pyarrow.dataset.FilenamePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Dataset.html">pyarrow.dataset.Dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDataset.html">pyarrow.dataset.FileSystemDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemFactoryOptions.html">pyarrow.dataset.FileSystemFactoryOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDatasetFactory.html">pyarrow.dataset.FileSystemDatasetFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.UnionDataset.html">pyarrow.dataset.UnionDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Fragment.html">pyarrow.dataset.Fragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.FragmentScanOptions.html">pyarrow.dataset.FragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.TaggedRecordBatch.html">pyarrow.dataset.TaggedRecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Scanner.html">pyarrow.dataset.Scanner</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.Expression.html">pyarrow.dataset.Expression</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.InMemoryDataset.html">pyarrow.dataset.InMemoryDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.WrittenFile.html">pyarrow.dataset.WrittenFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.dataset.get_partition_keys.html">pyarrow.dataset.get_partition_keys</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/cuda.html">CUDA Integration</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.Context.html">pyarrow.cuda.Context</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.CudaBuffer.html">pyarrow.cuda.CudaBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.new_host_buffer.html">pyarrow.cuda.new_host_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.HostBuffer.html">pyarrow.cuda.HostBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferReader.html">pyarrow.cuda.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferWriter.html">pyarrow.cuda.BufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.serialize_record_batch.html">pyarrow.cuda.serialize_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.read_record_batch.html">pyarrow.cuda.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.read_message.html">pyarrow.cuda.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cuda.IpcMemHandle.html">pyarrow.cuda.IpcMemHandle</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../python/api/misc.html">Miscellaneous</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.cpu_count.html">pyarrow.cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_cpu_count.html">pyarrow.set_cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.io_thread_count.html">pyarrow.io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.set_io_thread_count.html">pyarrow.set_io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_include.html">pyarrow.get_include</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_libraries.html">pyarrow.get_libraries</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../python/generated/pyarrow.get_library_dirs.html">pyarrow.get_library_dirs</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../../python/getting_involved.html">Getting Involved</a></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/py/">Python cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/r">R</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">Ruby</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/crate/arrow/">Rust</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/swift/">Swift</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/nanoarrow/">nanoarrow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../status.html">Implementation Status</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb" class="d-print-none">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="../../implementations.html" class="nav-link">Implementations</a></li>
<li class="breadcrumb-item"><a href="../index.html" class="nav-link">C++ Implementation</a></li>
<li class="breadcrumb-item"><a href="../api.html" class="nav-link">API Reference</a></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">Input / output</span></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="input-output">
<h1>Input / output<a class="headerlink" href="#input-output" title="Link to this heading">#</a></h1>
<section id="interfaces">
<h2>Interfaces<a class="headerlink" href="#interfaces" title="Link to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterfaceE">
<span id="_CPPv3N5arrow2io13FileInterfaceE"></span><span id="_CPPv2N5arrow2io13FileInterfaceE"></span><span id="arrow::io::FileInterface"></span><span class="target" id="classarrow_1_1io_1_1_file_interface"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FileInterface</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">enable_shared_from_this</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io13FileInterfaceE" title="arrow::io::FileInterface"><span class="n"><span class="pre">FileInterface</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterfaceE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">arrow::io::InputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">arrow::io::OutputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterface5CloseEv">
<span id="_CPPv3N5arrow2io13FileInterface5CloseEv"></span><span id="_CPPv2N5arrow2io13FileInterface5CloseEv"></span><span id="arrow::io::FileInterface::Close"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterface5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterface10CloseAsyncEv">
<span id="_CPPv3N5arrow2io13FileInterface10CloseAsyncEv"></span><span id="_CPPv2N5arrow2io13FileInterface10CloseAsyncEv"></span><span id="arrow::io::FileInterface::CloseAsync"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1a13bebac8de639f12a7905391f5dc206b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CloseAsync</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterface10CloseAsyncEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream asynchronously. </p>
<p>By default, this will just submit the synchronous <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"><span class="std std-ref">Close()</span></a> to the default I/O thread pool. Subclasses may implement this in a more efficient manner. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterface5AbortEv">
<span id="_CPPv3N5arrow2io13FileInterface5AbortEv"></span><span id="_CPPv2N5arrow2io13FileInterface5AbortEv"></span><span id="arrow::io::FileInterface::Abort"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1a0fa59fe92d3c99c9d9701210626aac60"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterface5AbortEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a0fa59fe92d3c99c9d9701210626aac60"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io13FileInterface4TellEv">
<span id="_CPPv3NK5arrow2io13FileInterface4TellEv"></span><span id="_CPPv2NK5arrow2io13FileInterface4TellEv"></span><span id="arrow::io::FileInterface::TellC"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1aa9f20b062a670cfedd06f4d952dcaa0c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io13FileInterface4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io13FileInterface6closedEv">
<span id="_CPPv3NK5arrow2io13FileInterface6closedEv"></span><span id="_CPPv2NK5arrow2io13FileInterface6closedEv"></span><span id="arrow::io::FileInterface::closedC"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io13FileInterface6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8ReadableE">
<span id="_CPPv3N5arrow2io8ReadableE"></span><span id="_CPPv2N5arrow2io8ReadableE"></span><span id="arrow::io::Readable"></span><span class="target" id="classarrow_1_1io_1_1_readable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Readable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8ReadableE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">arrow::io::InputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Readable4ReadE7int64_tPv">
<span id="_CPPv3N5arrow2io8Readable4ReadE7int64_tPv"></span><span id="_CPPv2N5arrow2io8Readable4ReadE7int64_tPv"></span><span id="arrow::io::Readable::Read__int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_readable_1a1ffee8b3491907c625faff85274eee54"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position into <code class="docutils literal notranslate"><span class="pre">out</span></code>. The number of bytes read is returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Readable4ReadE7int64_t">
<span id="_CPPv3N5arrow2io8Readable4ReadE7int64_t"></span><span id="_CPPv2N5arrow2io8Readable4ReadE7int64_t"></span><span id="arrow::io::Readable::Read__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_readable_1a769169aba70be6a8ef717f1f8f75684f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position. Less bytes may be read if EOF is reached. This method updates the current file position.</p>
<p>In some cases (e.g. a memory-mapped file), this method may avoid a memory copy. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io8Readable10io_contextEv">
<span id="_CPPv3NK5arrow2io8Readable10io_contextEv"></span><span id="_CPPv2NK5arrow2io8Readable10io_contextEv"></span><span id="arrow::io::Readable::io_contextC"></span><span class="target" id="classarrow_1_1io_1_1_readable_1a9ddd4bb9d626a0d8342198dac49b390f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">io_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io8Readable10io_contextEv" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: The IOContext associated with this file. </p>
<p>By default, this is the same as default_io_context(), but it may be overridden by subclasses. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8SeekableE">
<span id="_CPPv3N5arrow2io8SeekableE"></span><span id="_CPPv2N5arrow2io8SeekableE"></span><span id="arrow::io::Seekable"></span><span class="target" id="classarrow_1_1io_1_1_seekable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Seekable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8SeekableE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">arrow::io::RandomAccessFile</span></a>, arrow::io::WritableFile</p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8WritableE">
<span id="_CPPv3N5arrow2io8WritableE"></span><span id="_CPPv2N5arrow2io8WritableE"></span><span id="arrow::io::Writable"></span><span class="target" id="classarrow_1_1io_1_1_writable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Writable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8WritableE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">arrow::io::OutputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io8Writable5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io8Writable5WriteEPKv7int64_t"></span><span id="arrow::io::Writable::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a51d9feed73c33f095ca4b9f35dede84d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::Writable::Write__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a048bbc5e85b1d739bc49c57553e85069"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>Since the <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> owns its memory, this method can avoid a copy if buffering is required. See <a class="reference internal" href="#classarrow_1_1io_1_1_writable_1a51d9feed73c33f095ca4b9f35dede84d"><span class="std std-ref">Write(const void*, int64_t)</span></a> for details. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5FlushEv">
<span id="_CPPv3N5arrow2io8Writable5FlushEv"></span><span id="_CPPv2N5arrow2io8Writable5FlushEv"></span><span id="arrow::io::Writable::Flush"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a06e513a551f68603013c1586ba8b939f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5FlushEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStreamE">
<span id="_CPPv3N5arrow2io11InputStreamE"></span><span id="_CPPv2N5arrow2io11InputStreamE"></span><span id="arrow::io::InputStream"></span><span class="target" id="classarrow_1_1io_1_1_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">InputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io13FileInterfaceE" title="arrow::io::FileInterface"><span class="n"><span class="pre">FileInterface</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8ReadableE" title="arrow::io::Readable"><span class="n"><span class="pre">Readable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io11InputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by arrow::io::SlowInputStreamBase&lt; InputStream &gt;, arrow::io::internal::InputStreamConcurrencyWrapper&lt; BufferedInputStream &gt;, arrow::io::internal::InputStreamConcurrencyWrapper&lt; CompressedInputStream &gt;, <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">arrow::io::RandomAccessFile</span></a>, arrow::io::StdinStream, <a class="reference internal" href="#classarrow_1_1io_1_1_transform_input_stream"><span class="std std-ref">arrow::io::TransformInputStream</span></a>, arrow::io::internal::InputStreamConcurrencyWrapper&lt; Derived &gt;</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStream7AdvanceE7int64_t">
<span id="_CPPv3N5arrow2io11InputStream7AdvanceE7int64_t"></span><span id="_CPPv2N5arrow2io11InputStream7AdvanceE7int64_t"></span><span id="arrow::io::InputStream::Advance__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1ab5e2e1bdb05f7847363461bc3b90d386"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Advance</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream7AdvanceE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Advance or skip stream indicated number of bytes. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>nbytes</strong><strong>[in]</strong> the number to move forward </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStream4PeekE7int64_t">
<span id="_CPPv3N5arrow2io11InputStream4PeekE7int64_t"></span><span id="_CPPv2N5arrow2io11InputStream4PeekE7int64_t"></span><span id="arrow::io::InputStream::Peek__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1a7c39f14075fd3dd748f873bfdd23cddb"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string_view</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Peek</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream4PeekE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Return zero-copy string_view to upcoming bytes. </p>
<p>Do not modify the stream position. The view becomes invalid after any operation on the stream. May trigger buffering if the requested size is larger than the number of buffered bytes.</p>
<p>May return NotImplemented on streams that don’t support it.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>nbytes</strong><strong>[in]</strong> the maximum number of bytes to see </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io11InputStream18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io11InputStream18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io11InputStream18supports_zero_copyEv"></span><span id="arrow::io::InputStream::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1a2b9978739db7fa75ba81e794bfba2a64"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io11InputStream18supports_zero_copyEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="#classarrow_1_1io_1_1_readable_1a1ffee8b3491907c625faff85274eee54"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStream12ReadMetadataEv">
<span id="_CPPv3N5arrow2io11InputStream12ReadMetadataEv"></span><span id="_CPPv2N5arrow2io11InputStream12ReadMetadataEv"></span><span id="arrow::io::InputStream::ReadMetadata"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1ab417678e822c5ad92190be3c5b3f4253"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream12ReadMetadataEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read and return stream metadata. </p>
<p>If the stream implementation doesn’t support metadata, empty metadata is returned. Note that it is allowed to return a null pointer rather than an allocated empty metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStream17ReadMetadataAsyncERK9IOContext">
<span id="_CPPv3N5arrow2io11InputStream17ReadMetadataAsyncERK9IOContext"></span><span id="_CPPv2N5arrow2io11InputStream17ReadMetadataAsyncERK9IOContext"></span><span id="arrow::io::InputStream::ReadMetadataAsync__IOContextCR"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1a4321ff211b9d89b1c5b303491531b77b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadataAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream17ReadMetadataAsyncERK9IOContext" title="Link to this definition">#</a><br /></dt>
<dd><p>Read stream metadata asynchronously. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFileE">
<span id="_CPPv3N5arrow2io16RandomAccessFileE"></span><span id="_CPPv2N5arrow2io16RandomAccessFileE"></span><span id="arrow::io::RandomAccessFile"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RandomAccessFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8SeekableE" title="arrow::io::Seekable"><span class="n"><span class="pre">Seekable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by arrow::io::SlowInputStreamBase&lt; RandomAccessFile &gt;, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; CudaBufferReader &gt;, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; BufferReader &gt;, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; ReadableFile &gt;, arrow::io::HdfsReadableFile, <a class="reference internal" href="#classarrow_1_1io_1_1_read_write_file_interface"><span class="std std-ref">arrow::io::ReadWriteFileInterface</span></a>, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; Derived &gt;</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFileD0Ev">
<span id="_CPPv3N5arrow2io16RandomAccessFileD0Ev"></span><span id="_CPPv2N5arrow2io16RandomAccessFileD0Ev"></span><span id="arrow::io::RandomAccessFile::~RandomAccessFile"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a30c6917dfe0b6e508dac2ecc81917187"></span><span class="sig-name descname"><span class="n"><span class="pre">~RandomAccessFile</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFileD0Ev" title="Link to this definition">#</a><br /></dt>
<dd><p>Necessary because we hold a std::unique_ptr. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile7GetSizeEv">
<span id="_CPPv3N5arrow2io16RandomAccessFile7GetSizeEv"></span><span id="_CPPv2N5arrow2io16RandomAccessFile7GetSizeEv"></span><span id="arrow::io::RandomAccessFile::GetSize"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a0c40ab6f1d24ebf16091feffde7b917a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile7GetSizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the total file size in bytes. </p>
<p>This method does not read or move the current file position, so is safe to call concurrently with e.g. <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a6a721256f8d793398c7d5e771ca4f949"><span class="std std-ref">ReadAt()</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv">
<span id="_CPPv3N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv"></span><span id="_CPPv2N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv"></span><span id="arrow::io::RandomAccessFile::ReadAt__int64_t.int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a6a721256f8d793398c7d5e771ca4f949"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read. The number of bytes read is returned (it can be less than <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> if EOF is reached).</p>
<p>This method can be safely called from multiple threads concurrently. It is unspecified whether this method updates the file position or not.</p>
<p>The default RandomAccessFile-provided implementation uses Seek() and <a class="reference internal" href="#classarrow_1_1io_1_1_readable_1a1ffee8b3491907c625faff85274eee54"><span class="std std-ref">Read()</span></a>, but subclasses may override it with a more efficient implementation that doesn’t depend on implicit file positioning.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
<li><p><strong>out</strong><strong>[out]</strong> The buffer to read bytes into </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The number of bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAt__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1ae60f4c65736969b5552a0dbc44f45bb7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read, but it can be less if EOF is reached.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A buffer containing the bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a829e9828ec9816bf87ab33c976193e9b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAsync__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a82fc2be2bcd13298864179428c104393"></span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously, using the file’s IOContext. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERK9IOContextRKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16RandomAccessFile13ReadManyAsyncERK9IOContextRKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16RandomAccessFile13ReadManyAsyncERK9IOContextRKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::RandomAccessFile::ReadManyAsync__IOContextCR.std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a576d3f73cb1f754e7e06ab0ab5af2ae1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadManyAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERK9IOContextRKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Explicit multi-read. </p>
<p>Request multiple reads at once</p>
<p>The underlying filesystem may optimize these reads by coalescing small reads into large reads or by breaking up large reads into multiple parallel smaller reads. The reads should be issued in parallel if it makes sense for the filesystem.</p>
<p>One future will be returned for each input read range. Multiple returned futures may correspond to a single read. Or, a single returned future may be a combined result of several individual reads.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>ranges</strong><strong>[in]</strong> The ranges to read </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A future that will complete with the data from the requested range is available </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16RandomAccessFile13ReadManyAsyncERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16RandomAccessFile13ReadManyAsyncERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::RandomAccessFile::ReadManyAsync__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a48812c91269c5ce58963cce1a03ae19d"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadManyAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Explicit multi-read, using the file’s IOContext. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::RandomAccessFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1ad65764b247e8f999c330aa106d72a988"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a6a721256f8d793398c7d5e771ca4f949"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a829e9828ec9816bf87ab33c976193e9b"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::GetStream__std::shared_ptr:RandomAccessFile:.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a7fffc84cc01c8cf711c11ef15e7c3a33"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetStream</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file_offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Create an isolated <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> that reads a segment of a <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">RandomAccessFile</span></a>. </p>
<p>Multiple such stream can be created and used independently without interference </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> a file instance </p></li>
<li><p><strong>file_offset</strong><strong>[in]</strong> the starting position in the file </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> the extent of bytes to read. The file should have sufficient bytes available </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12OutputStreamE">
<span id="_CPPv3N5arrow2io12OutputStreamE"></span><span id="_CPPv2N5arrow2io12OutputStreamE"></span><span id="arrow::io::OutputStream"></span><span class="target" id="classarrow_1_1io_1_1_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io13FileInterfaceE" title="arrow::io::FileInterface"><span class="n"><span class="pre">FileInterface</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8WritableE" title="arrow::io::Writable"><span class="n"><span class="pre">Writable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io12OutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_output_stream"><span class="std std-ref">arrow::io::BufferOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream"><span class="std std-ref">arrow::io::BufferedOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream"><span class="std std-ref">arrow::io::CompressedOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">arrow::io::FileOutputStream</span></a>, arrow::io::HdfsOutputStream, <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream"><span class="std std-ref">arrow::io::MockOutputStream</span></a>, arrow::io::StderrStream, arrow::io::StdoutStream, arrow::io::WritableFile</p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22ReadWriteFileInterfaceE">
<span id="_CPPv3N5arrow2io22ReadWriteFileInterfaceE"></span><span id="_CPPv2N5arrow2io22ReadWriteFileInterfaceE"></span><span id="arrow::io::ReadWriteFileInterface"></span><span class="target" id="classarrow_1_1io_1_1_read_write_file_interface"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadWriteFileInterface</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">WritableFile</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22ReadWriteFileInterfaceE" title="Link to this definition">#</a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file"><span class="std std-ref">arrow::io::MemoryMappedFile</span></a></p>
</dd></dl>
</section>
<section id="concrete-implementations">
<h2>Concrete implementations<a class="headerlink" href="#concrete-implementations" title="Link to this heading">#</a></h2>
<section id="in-memory-streams">
<h3>In-memory streams<a class="headerlink" href="#in-memory-streams" title="Link to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReaderE">
<span id="_CPPv3N5arrow2io12BufferReaderE"></span><span id="_CPPv2N5arrow2io12BufferReaderE"></span><span id="arrow::io::BufferReader"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferReader</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RandomAccessFileConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12BufferReaderE" title="arrow::io::BufferReader"><span class="n"><span class="pre">BufferReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReaderE" title="Link to this definition">#</a><br /></dt>
<dd><p>Random access zero-copy reads on an <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">arrow::Buffer</span></a>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader12BufferReaderENSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io12BufferReader12BufferReaderENSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io12BufferReader12BufferReaderENSt10shared_ptrI6BufferEE"></span><span id="arrow::io::BufferReader::BufferReader__std::shared_ptr:Buffer:"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a865781f99a97bfd546e8fe5361f815af"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader12BufferReaderENSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Instantiate from std::shared_ptr&lt;Buffer&gt;. </p>
<p>This is a zero-copy constructor. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12BufferReader6closedEv">
<span id="_CPPv3NK5arrow2io12BufferReader6closedEv"></span><span id="_CPPv2NK5arrow2io12BufferReader6closedEv"></span><span id="arrow::io::BufferReader::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a1f3192bdac4ac4739c26ef041f6387ee"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12BufferReader6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12BufferReader18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io12BufferReader18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io12BufferReader18supports_zero_copyEv"></span><span id="arrow::io::BufferReader::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a3807b37ca7cbb78635b9f4acc2bb27d0"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12BufferReader18supports_zero_copyEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="#classarrow_1_1io_1_1_readable_1a1ffee8b3491907c625faff85274eee54"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::BufferReader::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a6174465527a8f81430cc88c441a40b92"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::BufferReader::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1aa6955b1df534b42b207f62dad3370791"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a6a721256f8d793398c7d5e771ca4f949"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_reader_1a6174465527a8f81430cc88c441a40b92"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader10FromStringENSt6stringE">
<span id="_CPPv3N5arrow2io12BufferReader10FromStringENSt6stringE"></span><span id="_CPPv2N5arrow2io12BufferReader10FromStringENSt6stringE"></span><span id="arrow::io::BufferReader::FromString__ss"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a8c22b054cfc799d163bcc7287b49dc60"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12BufferReaderE" title="arrow::io::BufferReader"><span class="n"><span class="pre">BufferReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromString</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader10FromStringENSt6stringE" title="Link to this definition">#</a><br /></dt>
<dd><p>Instantiate from std::string. Owns data. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStreamE">
<span id="_CPPv3N5arrow2io16MockOutputStreamE"></span><span id="_CPPv2N5arrow2io16MockOutputStreamE"></span><span id="arrow::io::MockOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MockOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>A helper class to track the size of allocations. </p>
<p>Writes to this stream do not copy or retain any data, they just bump a size counter that can be later used to know exactly which data size needs to be allocated for actual writing. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io16MockOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io16MockOutputStream5CloseEv"></span><span id="arrow::io::MockOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1ace3c697a51836d1d9ac31cda18089843"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream_1ace3c697a51836d1d9ac31cda18089843"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream_1a15c20485d58b06a8c82ee71af1d4bfa6"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MockOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io16MockOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io16MockOutputStream6closedEv"></span><span id="arrow::io::MockOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1a15c20485d58b06a8c82ee71af1d4bfa6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MockOutputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MockOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io16MockOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io16MockOutputStream4TellEv"></span><span id="arrow::io::MockOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1afa771e80c211d96203bda955aec3f5da"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MockOutputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16MockOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MockOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::MockOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1a1eaec4069a49129bed7af3476128526f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStream5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStreamE">
<span id="_CPPv3N5arrow2io18BufferOutputStreamE"></span><span id="_CPPv2N5arrow2io18BufferOutputStreamE"></span><span id="arrow::io::BufferOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>An output stream that writes to a resizable buffer. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io18BufferOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5CloseEv"></span><span id="arrow::io::BufferOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1aae54be3eb7dcb37dabe7618623c52e94"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream, preserving the buffer (retrieve it with <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_output_stream_1a8f6ce694e8d5dfa9810c2f17263868a2"><span class="std std-ref">Finish()</span></a>). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io18BufferOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io18BufferOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io18BufferOutputStream6closedEv"></span><span id="arrow::io::BufferOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1ab87ed9577b7ab013e072f98628d3def4"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io18BufferOutputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io18BufferOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io18BufferOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io18BufferOutputStream4TellEv"></span><span id="arrow::io::BufferOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a60581cf01e23cf3197d41ff2eec706e6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io18BufferOutputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io18BufferOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::BufferOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a8e637f158713cbc254e714d83a5710d9"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream6FinishEv">
<span id="_CPPv3N5arrow2io18BufferOutputStream6FinishEv"></span><span id="_CPPv2N5arrow2io18BufferOutputStream6FinishEv"></span><span id="arrow::io::BufferOutputStream::Finish"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a8f6ce694e8d5dfa9810c2f17263868a2"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Finish</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream6FinishEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream and return the buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool">
<span id="_CPPv3N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool"></span><span id="arrow::io::BufferOutputStream::Reset__int64_t.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1ab091b19b1d87cfcc5586f7d31773a74d"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Reset</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">initial_capacity</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Initialize state of <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a> with newly allocated memory and set position to 0. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>initial_capacity</strong><strong>[in]</strong> the starting allocated capacity </p></li>
<li><p><strong>pool</strong><strong>[inout]</strong> the memory pool to use for allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool">
<span id="_CPPv3N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool"></span><span id="_CPPv2N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool"></span><span id="arrow::io::BufferOutputStream::Create__int64_t.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a0c02b90e21e1cf38817a1ad0fe54788a"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io18BufferOutputStreamE" title="arrow::io::BufferOutputStream"><span class="n"><span class="pre">BufferOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">initial_capacity</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">4096</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Create in-memory output stream with indicated capacity using a memory pool. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>initial_capacity</strong><strong>[in]</strong> the initial allocated internal capacity of the <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a></p></li>
<li><p><strong>pool</strong><strong>[inout]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the created stream </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriterE">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriterE"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriterE"></span><span id="arrow::io::FixedSizeBufferWriter"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FixedSizeBufferWriter</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">WritableFile</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriterE" title="Link to this definition">#</a><br /></dt>
<dd><p>An output stream that writes into a fixed-size mutable buffer. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::FixedSizeBufferWriter::FixedSizeBufferWriter__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a54aacd40e26b32dbe6bc52669adf1045"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FixedSizeBufferWriter</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Input buffer must be mutable, will abort if not. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter5CloseEv">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter5CloseEv"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter5CloseEv"></span><span id="arrow::io::FixedSizeBufferWriter::Close"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a23897d9eb4988d489f7e8a444211a54f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_fixed_size_buffer_writer_1a23897d9eb4988d489f7e8a444211a54f"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_fixed_size_buffer_writer_1a2058a1392d03ff754f3fbe00c5f84263"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21FixedSizeBufferWriter6closedEv">
<span id="_CPPv3NK5arrow2io21FixedSizeBufferWriter6closedEv"></span><span id="_CPPv2NK5arrow2io21FixedSizeBufferWriter6closedEv"></span><span id="arrow::io::FixedSizeBufferWriter::closedC"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a2058a1392d03ff754f3fbe00c5f84263"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21FixedSizeBufferWriter4TellEv">
<span id="_CPPv3NK5arrow2io21FixedSizeBufferWriter4TellEv"></span><span id="_CPPv2NK5arrow2io21FixedSizeBufferWriter4TellEv"></span><span id="arrow::io::FixedSizeBufferWriter::TellC"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a9ec910e00adcdf24ebfccc2a026a6f71"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t"></span><span id="arrow::io::FixedSizeBufferWriter::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a5b4d5f27023b1e90fa33c72c867bf88b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="local-files">
<h3>Local files<a class="headerlink" href="#local-files" title="Link to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFileE">
<span id="_CPPv3N5arrow2io12ReadableFileE"></span><span id="_CPPv2N5arrow2io12ReadableFileE"></span><span id="arrow::io::ReadableFile"></span><span class="target" id="classarrow_1_1io_1_1_readable_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadableFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RandomAccessFileConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFileE" title="Link to this definition">#</a><br /></dt>
<dd><p>An operating system file open in read-only mode. </p>
<p>Reads through this implementation are unbuffered. If many small reads need to be issued, it is recommended to use a buffering layer for good performance. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12ReadableFile6closedEv">
<span id="_CPPv3NK5arrow2io12ReadableFile6closedEv"></span><span id="_CPPv2NK5arrow2io12ReadableFile6closedEv"></span><span id="arrow::io::ReadableFile::closedC"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1aeb1f2f17a1373e4bd9ae6e38e84d12d2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12ReadableFile6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::ReadableFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1ab1b809276c99b47399d5d7072ccaf71b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a6a721256f8d793398c7d5e771ca4f949"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a829e9828ec9816bf87ab33c976193e9b"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool">
<span id="_CPPv3N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool"></span><span id="_CPPv2N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool"></span><span id="arrow::io::ReadableFile::Open__ssCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1a6ee4df471bd95700c5456e09be505698"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Open a local file for reading. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>path</strong><strong>[in]</strong> with UTF8 encoding </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> for memory allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a> instance </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile4OpenEiP10MemoryPool">
<span id="_CPPv3N5arrow2io12ReadableFile4OpenEiP10MemoryPool"></span><span id="_CPPv2N5arrow2io12ReadableFile4OpenEiP10MemoryPool"></span><span id="arrow::io::ReadableFile::Open__i.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1a1614890e11f1ea0cb9d8a4e9d852d2e9"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">fd</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile4OpenEiP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Open a local file for reading. </p>
<p>
The file descriptor becomes owned by the <a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a>, and will be closed on <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"><span class="std std-ref">Close()</span></a> or destruction. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>fd</strong><strong>[in]</strong> file descriptor </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> for memory allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a> instance</p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStreamE">
<span id="_CPPv3N5arrow2io16FileOutputStreamE"></span><span id="_CPPv2N5arrow2io16FileOutputStreamE"></span><span id="arrow::io::FileOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FileOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>An operating system file open in write-only mode. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io16FileOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io16FileOutputStream5CloseEv"></span><span id="arrow::io::FileOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a94f90b0171ff2a53d80394165cf58d4a"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16FileOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io16FileOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io16FileOutputStream6closedEv"></span><span id="arrow::io::FileOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a94f90b0171ff2a53d80394165cf58d4a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16FileOutputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16FileOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io16FileOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io16FileOutputStream4TellEv"></span><span id="arrow::io::FileOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1aed8ee49e29d765207b5810d0d13fddaa"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16FileOutputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16FileOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16FileOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::FileOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a0f696e1c6827955c6306337b930247ca"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream4OpenERKNSt6stringEb">
<span id="_CPPv3N5arrow2io16FileOutputStream4OpenERKNSt6stringEb"></span><span id="_CPPv2N5arrow2io16FileOutputStream4OpenERKNSt6stringEb"></span><span id="arrow::io::FileOutputStream::Open__ssCR.b"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1abff038526fb509f46789ee2aaddfb110"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="arrow::io::FileOutputStream"><span class="n"><span class="pre">FileOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">append</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream4OpenERKNSt6stringEb" title="Link to this definition">#</a><br /></dt>
<dd><p>Open a local file for writing, truncating any existing file. </p>
<p>
When opening a new file, any existing file with the indicated path is truncated to 0 bytes, deleting any existing data </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>path</strong><strong>[in]</strong> with UTF8 encoding </p></li>
<li><p><strong>append</strong><strong>[in]</strong> append to existing file, otherwise truncate to 0 bytes </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>an open <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream4OpenEi">
<span id="_CPPv3N5arrow2io16FileOutputStream4OpenEi"></span><span id="_CPPv2N5arrow2io16FileOutputStream4OpenEi"></span><span id="arrow::io::FileOutputStream::Open__i"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1adf7074d433de1f28bfd6c8f7f2a01195"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="arrow::io::FileOutputStream"><span class="n"><span class="pre">FileOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">fd</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream4OpenEi" title="Link to this definition">#</a><br /></dt>
<dd><p>Open a file descriptor for writing. </p>
<p><p>The underlying file isn’t truncated.</p>
<p>The file descriptor becomes owned by the</p>
<a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>, and will be closed on <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"><span class="std std-ref">Close()</span></a> or destruction. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>fd</strong><strong>[in]</strong> file descriptor </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>an open <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFileE">
<span id="_CPPv3N5arrow2io16MemoryMappedFileE"></span><span id="_CPPv2N5arrow2io16MemoryMappedFileE"></span><span id="arrow::io::MemoryMappedFile"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MemoryMappedFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io22ReadWriteFileInterfaceE" title="arrow::io::ReadWriteFileInterface"><span class="n"><span class="pre">ReadWriteFileInterface</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFileE" title="Link to this definition">#</a><br /></dt>
<dd><p>A file interface that uses memory-mapped files for memory interactions. </p>
<p>This implementation supports zero-copy reads. The same class is used for both reading and writing.</p>
<p>If opening a file in a writable mode, it is not truncated first as with <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile5CloseEv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile5CloseEv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile5CloseEv"></span><span id="arrow::io::MemoryMappedFile::Close"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a344ef060df35e0aad557946193119a05"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a344ef060df35e0aad557946193119a05"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1ad1ed6c7dc1f2acc2b60bb6126cf144f5"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile6closedEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile6closedEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile6closedEv"></span><span id="arrow::io::MemoryMappedFile::closedC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1ad1ed6c7dc1f2acc2b60bb6126cf144f5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile4TellEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile4TellEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile4TellEv"></span><span id="arrow::io::MemoryMappedFile::TellC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a519b919ad22928df33e0ca504aebbc0d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_tPv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile4ReadE7int64_tPv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile4ReadE7int64_tPv"></span><span id="arrow::io::MemoryMappedFile::Read__int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a22d9a6c820e43f31558297a9052adbe6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position into <code class="docutils literal notranslate"><span class="pre">out</span></code>. The number of bytes read is returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile4ReadE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile4ReadE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Read__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1ae340644b47cba08a2f014785c507f3b7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position. Less bytes may be read if EOF is reached. This method updates the current file position.</p>
<p>In some cases (e.g. a memory-mapped file), this method may avoid a memory copy. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t"></span><span id="arrow::io::MemoryMappedFile::ReadAt__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1af740d810e51551465faab36600a4aa7a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read, but it can be less if EOF is reached.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A buffer containing the bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv"></span><span id="arrow::io::MemoryMappedFile::ReadAt__int64_t.int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1acbfd8f38ceae0563b176eeed4184b799"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read. The number of bytes read is returned (it can be less than <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> if EOF is reached).</p>
<p>This method can be safely called from multiple threads concurrently. It is unspecified whether this method updates the file position or not.</p>
<p>The default RandomAccessFile-provided implementation uses Seek() and <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a22d9a6c820e43f31558297a9052adbe6"><span class="std std-ref">Read()</span></a>, but subclasses may override it with a more efficient implementation that doesn’t depend on implicit file positioning.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
<li><p><strong>out</strong><strong>[out]</strong> The buffer to read bytes into </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The number of bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::MemoryMappedFile::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1aeb8951073fc6f09595c840c2c7c8c26c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::MemoryMappedFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a9e3146e36382b4d8bf4728aca28cc4cc"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Link to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1af740d810e51551465faab36600a4aa7a"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1aeb8951073fc6f09595c840c2c7c8c26c"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile18supports_zero_copyEv"></span><span id="arrow::io::MemoryMappedFile::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a6b0d674e00a742b563c092a3175d79eb"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile18supports_zero_copyEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a22d9a6c820e43f31558297a9052adbe6"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t"></span><span id="arrow::io::MemoryMappedFile::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a8010d2df9fe39e6bd977f62cc9fab57b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write data at the current position in the file. Thread-safe. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ResizeE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ResizeE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ResizeE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Resize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a9858f77facb1cad90de5cf083b003b09"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Resize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ResizeE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Set the size of the map to new_size. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t"></span><span id="arrow::io::MemoryMappedFile::WriteAt__int64_t.voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1afae233e4bc2f99f985a0b44f07f92f2f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write data at a particular position in the file. Thread-safe. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile7GetSizeEv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile7GetSizeEv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile7GetSizeEv"></span><span id="arrow::io::MemoryMappedFile::GetSize"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1ab6ff9a4ab905ca6ccabc7d5a6ab861b5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile7GetSizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the total file size in bytes. </p>
<p>This method does not read or move the current file position, so is safe to call concurrently with e.g. <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1af740d810e51551465faab36600a4aa7a"><span class="std std-ref">ReadAt()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Create__ssCR.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a401aae90e33a838ebaf19467e95b92b3"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16MemoryMappedFileE" title="arrow::io::MemoryMappedFile"><span class="n"><span class="pre">MemoryMappedFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Create new file with indicated size, return in read/write mode. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="buffering-input-output-wrappers">
<h3>Buffering input / output wrappers<a class="headerlink" href="#buffering-input-output-wrappers" title="Link to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStreamE">
<span id="_CPPv3N5arrow2io19BufferedInputStreamE"></span><span id="_CPPv2N5arrow2io19BufferedInputStreamE"></span><span id="arrow::io::BufferedInputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferedInputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">InputStreamConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="arrow::io::BufferedInputStream"><span class="n"><span class="pre">BufferedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><p>An <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> that performs buffered reads from an unbuffered <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>, which can mitigate the overhead of many small reads in some cases. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t">
<span id="_CPPv3N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t"></span><span id="_CPPv2N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t"></span><span id="arrow::io::BufferedInputStream::SetBufferSize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a3b07e80e7c81f57cc04cc4eeb310aac4"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SetBufferSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_buffer_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Resize internal read buffer; calls to Read(…) will read at least this many bytes from the raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> if possible. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>new_buffer_size</strong><strong>[in]</strong> the new read buffer size </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream14bytes_bufferedEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream14bytes_bufferedEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream14bytes_bufferedEv"></span><span id="arrow::io::BufferedInputStream::bytes_bufferedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a7f4072b96ce0f3b1ead0e5392399ba17"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_buffered</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream14bytes_bufferedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the number of remaining bytes in the read buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream11buffer_sizeEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream11buffer_sizeEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream11buffer_sizeEv"></span><span id="arrow::io::BufferedInputStream::buffer_sizeC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1ab5ebda44de23a2a8fd3ec0a2e6832aea"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream11buffer_sizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the current size of the internal buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream6DetachEv">
<span id="_CPPv3N5arrow2io19BufferedInputStream6DetachEv"></span><span id="_CPPv2N5arrow2io19BufferedInputStream6DetachEv"></span><span id="arrow::io::BufferedInputStream::Detach"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1adb1b6f9557854da678103c60c2a00c00"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Detach</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream6DetachEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Release the raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
<p>Any data buffered will be discarded. Further operations on this object are invalid </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>raw the underlying <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream3rawEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream3rawEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream3rawEv"></span><span id="arrow::io::BufferedInputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a872dd696f276783ec4024be5593c1df6"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream3rawEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the unbuffered <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream6closedEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream6closedEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream6closedEv"></span><span id="arrow::io::BufferedInputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a5e40d419e1d91264f0535c047243c540"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream12ReadMetadataEv">
<span id="_CPPv3N5arrow2io19BufferedInputStream12ReadMetadataEv"></span><span id="_CPPv2N5arrow2io19BufferedInputStream12ReadMetadataEv"></span><span id="arrow::io::BufferedInputStream::ReadMetadata"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a8e8a6b60f5dd046740d9f6d2fe567766"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream12ReadMetadataEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read and return stream metadata. </p>
<p>If the stream implementation doesn’t support metadata, empty metadata is returned. Note that it is allowed to return a null pointer rather than an allocated empty metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream17ReadMetadataAsyncERK9IOContext">
<span id="_CPPv3N5arrow2io19BufferedInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="_CPPv2N5arrow2io19BufferedInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="arrow::io::BufferedInputStream::ReadMetadataAsync__IOContextCR"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a19db8e7968249f48266d2fd027a5c777"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadataAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream17ReadMetadataAsyncERK9IOContext" title="Link to this definition">#</a><br /></dt>
<dd><p>Read stream metadata asynchronously. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t">
<span id="_CPPv3N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t"></span><span id="_CPPv2N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t"></span><span id="arrow::io::BufferedInputStream::Create__int64_t.MemoryPoolP.std::shared_ptr:InputStream:.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1ae79237e71774925add304f71eb6beac6"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="arrow::io::BufferedInputStream"><span class="n"><span class="pre">BufferedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer_size</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw_read_bound</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="o"><span class="pre">-</span></span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_input_stream"><span class="std std-ref">BufferedInputStream</span></a> from a raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>buffer_size</strong><strong>[in]</strong> the size of the temporary read buffer </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
<li><p><strong>raw</strong><strong>[in]</strong> a raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a></p></li>
<li><p><strong>raw_read_bound</strong><strong>[in]</strong> a bound on the maximum number of bytes to read from the raw input stream. The default -1 indicates that it is unbounded </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the created <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_input_stream"><span class="std std-ref">BufferedInputStream</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStreamE">
<span id="_CPPv3N5arrow2io20BufferedOutputStreamE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStreamE"></span><span id="arrow::io::BufferedOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferedOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t">
<span id="_CPPv3N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t"></span><span id="arrow::io::BufferedOutputStream::SetBufferSize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ae18b5e1a2cc3569b6e24fa6c3b140a3d"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SetBufferSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_buffer_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Resize internal buffer. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>new_buffer_size</strong><strong>[in]</strong> the new buffer size </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream11buffer_sizeEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream11buffer_sizeEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream11buffer_sizeEv"></span><span id="arrow::io::BufferedOutputStream::buffer_sizeC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a5de98a16d40e25305b71a4716a1132b2"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream11buffer_sizeEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the current size of the internal buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream14bytes_bufferedEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream14bytes_bufferedEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream14bytes_bufferedEv"></span><span id="arrow::io::BufferedOutputStream::bytes_bufferedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1acfb508c7a0b77382e4fbaa86b73f5e56"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_buffered</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream14bytes_bufferedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the number of remaining bytes that have not been flushed to the raw <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream6DetachEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream6DetachEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream6DetachEv"></span><span id="arrow::io::BufferedOutputStream::Detach"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a2d1b30686af77b34b528cc835fe9a50d"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Detach</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream6DetachEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Flush any buffered writes and release the raw <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>. </p>
<p>Further operations on this object are invalid </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the underlying <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5CloseEv"></span><span id="arrow::io::BufferedOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1aa0421fd0d9031a8491cb00d67e90a0b1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the buffered output stream. </p>
<p>This implicitly closes the underlying raw output stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5AbortEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5AbortEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5AbortEv"></span><span id="arrow::io::BufferedOutputStream::Abort"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a915a615b0f366addbec2daa6415e24b6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5AbortEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1a915a615b0f366addbec2daa6415e24b6"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1ac07e74957c892a21d94819f069424e2d"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream6closedEv"></span><span id="arrow::io::BufferedOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ac07e74957c892a21d94819f069424e2d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream4TellEv"></span><span id="arrow::io::BufferedOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ab466e4a5162b31d84f423e777949d169"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::BufferedOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a5668ed55058204e0235f58e036621a45"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::BufferedOutputStream::Write__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1aabc285ebb13d48a41e21efbaa1a98487"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>Since the <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> owns its memory, this method can avoid a copy if buffering is required. See <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1a5668ed55058204e0235f58e036621a45"><span class="std std-ref">Write(const void*, int64_t)</span></a> for details. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5FlushEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5FlushEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5FlushEv"></span><span id="arrow::io::BufferedOutputStream::Flush"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a31c9b6cdaad2df77af04bf7214e4b7b3"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5FlushEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream3rawEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream3rawEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream3rawEv"></span><span id="arrow::io::BufferedOutputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a239b20b39020261d3f43b62d231d251b"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream3rawEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the underlying raw output stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE">
<span id="_CPPv3N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE"></span><span id="arrow::io::BufferedOutputStream::Create__int64_t.MemoryPoolP.std::shared_ptr:OutputStream:"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a2d93876c09fe4ae80897a041e0b2329a"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io20BufferedOutputStreamE" title="arrow::io::BufferedOutputStream"><span class="n"><span class="pre">BufferedOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer_size</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a buffered output stream wrapping the given output stream. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>buffer_size</strong><strong>[in]</strong> the size of the temporary write buffer </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
<li><p><strong>raw</strong><strong>[in]</strong> another <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a></p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the created <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream"><span class="std std-ref">BufferedOutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="compressed-input-output-wrappers">
<h3>Compressed input / output wrappers<a class="headerlink" href="#compressed-input-output-wrappers" title="Link to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStreamE">
<span id="_CPPv3N5arrow2io21CompressedInputStreamE"></span><span id="_CPPv2N5arrow2io21CompressedInputStreamE"></span><span id="arrow::io::CompressedInputStream"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CompressedInputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">InputStreamConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="arrow::io::CompressedInputStream"><span class="n"><span class="pre">CompressedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21CompressedInputStream6closedEv">
<span id="_CPPv3NK5arrow2io21CompressedInputStream6closedEv"></span><span id="_CPPv2NK5arrow2io21CompressedInputStream6closedEv"></span><span id="arrow::io::CompressedInputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1a24019d6b106bc10545df7cac52b0b63b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21CompressedInputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStream12ReadMetadataEv">
<span id="_CPPv3N5arrow2io21CompressedInputStream12ReadMetadataEv"></span><span id="_CPPv2N5arrow2io21CompressedInputStream12ReadMetadataEv"></span><span id="arrow::io::CompressedInputStream::ReadMetadata"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1ac7e710b4e90bf06435d383119bff65fe"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStream12ReadMetadataEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read and return stream metadata. </p>
<p>If the stream implementation doesn’t support metadata, empty metadata is returned. Note that it is allowed to return a null pointer rather than an allocated empty metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStream17ReadMetadataAsyncERK9IOContext">
<span id="_CPPv3N5arrow2io21CompressedInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="_CPPv2N5arrow2io21CompressedInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="arrow::io::CompressedInputStream::ReadMetadataAsync__IOContextCR"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1a69fb08c93a04ff1f9380d09085dc24c5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadataAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStream17ReadMetadataAsyncERK9IOContext" title="Link to this definition">#</a><br /></dt>
<dd><p>Read stream metadata asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21CompressedInputStream3rawEv">
<span id="_CPPv3NK5arrow2io21CompressedInputStream3rawEv"></span><span id="_CPPv2NK5arrow2io21CompressedInputStream3rawEv"></span><span id="arrow::io::CompressedInputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1ad31ce70722ad36006b67d296a2ef4ced"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21CompressedInputStream3rawEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the underlying raw input stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool">
<span id="_CPPv3N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool"></span><span id="_CPPv2N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool"></span><span id="arrow::io::CompressedInputStream::Make__util::CodecP.std::shared_ptr:InputStream:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1ae226585f67a9bb76e950e2ac85f57751"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="arrow::io::CompressedInputStream"><span class="n"><span class="pre">CompressedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow4util5CodecE" title="arrow::util::Codec"><span class="n"><span class="pre">Codec</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">codec</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">raw</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a compressed input stream wrapping the given input stream. </p>
<p>The codec must be capable of streaming decompression. Some codecs, like Snappy, are not able to do so. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStreamE">
<span id="_CPPv3N5arrow2io22CompressedOutputStreamE"></span><span id="_CPPv2N5arrow2io22CompressedOutputStreamE"></span><span id="arrow::io::CompressedOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CompressedOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5CloseEv"></span><span id="arrow::io::CompressedOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1afeec751d63627cc8dab11638fa0e1284"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the compressed output stream. </p>
<p>This implicitly closes the underlying raw output stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5AbortEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5AbortEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5AbortEv"></span><span id="arrow::io::CompressedOutputStream::Abort"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a83e7dab2af799ca87073d0e969d8a3f7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5AbortEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream_1a83e7dab2af799ca87073d0e969d8a3f7"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream_1a691a34b9aae15a7b62bf1ca502b53a7b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream6closedEv"></span><span id="arrow::io::CompressedOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a691a34b9aae15a7b62bf1ca502b53a7b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream4TellEv"></span><span id="arrow::io::CompressedOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1aa844264a48bb91707eac2b681029bcba"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::CompressedOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a48b8e0daaf2ea4280238675e023350ef"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5FlushEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5FlushEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5FlushEv"></span><span id="arrow::io::CompressedOutputStream::Flush"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1af80e3bf7dc0b484060b9d0831d7a53c8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5FlushEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream3rawEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream3rawEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream3rawEv"></span><span id="arrow::io::CompressedOutputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a2a213a5bf6008fe27537eff05e78143b"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream3rawEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the underlying raw output stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool">
<span id="_CPPv3N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool"></span><span id="arrow::io::CompressedOutputStream::Make__util::CodecP.std::shared_ptr:OutputStream:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a26ec4b81dcb613810728aa93bb7f319b"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io22CompressedOutputStreamE" title="arrow::io::CompressedOutputStream"><span class="n"><span class="pre">CompressedOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow4util5CodecE" title="arrow::util::Codec"><span class="n"><span class="pre">Codec</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">codec</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">raw</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool" title="Link to this definition">#</a><br /></dt>
<dd><p>Create a compressed output stream wrapping the given output stream. </p>
<p>The codec must be capable of streaming compression. Some codecs, like Snappy, are not able to do so. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="transforming-input-wrapper">
<h3>Transforming input wrapper<a class="headerlink" href="#transforming-input-wrapper" title="Link to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStreamE">
<span id="_CPPv3N5arrow2io20TransformInputStreamE"></span><span id="_CPPv2N5arrow2io20TransformInputStreamE"></span><span id="arrow::io::TransformInputStream"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TransformInputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStreamE" title="Link to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream5CloseEv">
<span id="_CPPv3N5arrow2io20TransformInputStream5CloseEv"></span><span id="_CPPv2N5arrow2io20TransformInputStream5CloseEv"></span><span id="arrow::io::TransformInputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1a5576ec342350a864af4df5da9a42e68b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream5CloseEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_transform_input_stream_1a5576ec342350a864af4df5da9a42e68b"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_transform_input_stream_1a0beb9fed7d93f38bafd18cabcf30d573"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream5AbortEv">
<span id="_CPPv3N5arrow2io20TransformInputStream5AbortEv"></span><span id="_CPPv2N5arrow2io20TransformInputStream5AbortEv"></span><span id="arrow::io::TransformInputStream::Abort"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1a79d03a8c503ab4173157f8d3b6711090"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream5AbortEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_transform_input_stream_1a79d03a8c503ab4173157f8d3b6711090"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_transform_input_stream_1a0beb9fed7d93f38bafd18cabcf30d573"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20TransformInputStream6closedEv">
<span id="_CPPv3NK5arrow2io20TransformInputStream6closedEv"></span><span id="_CPPv2NK5arrow2io20TransformInputStream6closedEv"></span><span id="arrow::io::TransformInputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1a0beb9fed7d93f38bafd18cabcf30d573"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20TransformInputStream6closedEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_tPv">
<span id="_CPPv3N5arrow2io20TransformInputStream4ReadE7int64_tPv"></span><span id="_CPPv2N5arrow2io20TransformInputStream4ReadE7int64_tPv"></span><span id="arrow::io::TransformInputStream::Read__int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1a23d7ecb9746560a2e12c5c01696245e7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_tPv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position into <code class="docutils literal notranslate"><span class="pre">out</span></code>. The number of bytes read is returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_t">
<span id="_CPPv3N5arrow2io20TransformInputStream4ReadE7int64_t"></span><span id="_CPPv2N5arrow2io20TransformInputStream4ReadE7int64_t"></span><span id="arrow::io::TransformInputStream::Read__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1add0833ca8b8bb855a303627a25540e88"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_t" title="Link to this definition">#</a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position. Less bytes may be read if EOF is reached. This method updates the current file position.</p>
<p>In some cases (e.g. a memory-mapped file), this method may avoid a memory copy. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream12ReadMetadataEv">
<span id="_CPPv3N5arrow2io20TransformInputStream12ReadMetadataEv"></span><span id="_CPPv2N5arrow2io20TransformInputStream12ReadMetadataEv"></span><span id="arrow::io::TransformInputStream::ReadMetadata"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1a572e835a4826dcaa093e42b88d3b4299"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream12ReadMetadataEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Read and return stream metadata. </p>
<p>If the stream implementation doesn’t support metadata, empty metadata is returned. Note that it is allowed to return a null pointer rather than an allocated empty metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20TransformInputStream17ReadMetadataAsyncERK9IOContext">
<span id="_CPPv3N5arrow2io20TransformInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="_CPPv2N5arrow2io20TransformInputStream17ReadMetadataAsyncERK9IOContext"></span><span id="arrow::io::TransformInputStream::ReadMetadataAsync__IOContextCR"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1aef7d5cc5b74cf01190f273903ed89f59"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadataAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20TransformInputStream17ReadMetadataAsyncERK9IOContext" title="Link to this definition">#</a><br /></dt>
<dd><p>Read stream metadata asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20TransformInputStream4TellEv">
<span id="_CPPv3NK5arrow2io20TransformInputStream4TellEv"></span><span id="_CPPv2NK5arrow2io20TransformInputStream4TellEv"></span><span id="arrow::io::TransformInputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_transform_input_stream_1ae981a2fb087d3cd9a82f68792561a971"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20TransformInputStream4TellEv" title="Link to this definition">#</a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
</div>
</dd></dl>
</section>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="async.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Asynchronous programming</p>
</div>
</a>
<a class="right-next"
href="ipc.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Arrow IPC</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div
id="pst-page-navigation-heading-2"
class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</div>
<nav id="pst-page-toc-nav" class="page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="pst-show_toc_level nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#interfaces">Interfaces</a><ul class="pst-show_toc_level nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io13FileInterfaceE"><code class="docutils literal notranslate"><span class="pre">arrow::io::FileInterface</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io13FileInterface5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io13FileInterface10CloseAsyncEv"><code class="docutils literal notranslate"><span class="pre">CloseAsync()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io13FileInterface5AbortEv"><code class="docutils literal notranslate"><span class="pre">Abort()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io13FileInterface4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io13FileInterface6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8ReadableE"><code class="docutils literal notranslate"><span class="pre">arrow::io::Readable</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_tPv"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_t"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io8Readable10io_contextEv"><code class="docutils literal notranslate"><span class="pre">io_context()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8SeekableE"><code class="docutils literal notranslate"><span class="pre">arrow::io::Seekable</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8WritableE"><code class="docutils literal notranslate"><span class="pre">arrow::io::Writable</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8Writable5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io8Writable5FlushEv"><code class="docutils literal notranslate"><span class="pre">Flush()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io11InputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::InputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io11InputStream7AdvanceE7int64_t"><code class="docutils literal notranslate"><span class="pre">Advance()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io11InputStream4PeekE7int64_t"><code class="docutils literal notranslate"><span class="pre">Peek()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io11InputStream18supports_zero_copyEv"><code class="docutils literal notranslate"><span class="pre">supports_zero_copy()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io11InputStream12ReadMetadataEv"><code class="docutils literal notranslate"><span class="pre">ReadMetadata()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io11InputStream17ReadMetadataAsyncERK9IOContext"><code class="docutils literal notranslate"><span class="pre">ReadMetadataAsync()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFileE"><code class="docutils literal notranslate"><span class="pre">arrow::io::RandomAccessFile</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFileD0Ev"><code class="docutils literal notranslate"><span class="pre">~RandomAccessFile()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile7GetSizeEv"><code class="docutils literal notranslate"><span class="pre">GetSize()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv"><code class="docutils literal notranslate"><span class="pre">ReadAt()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAt()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAsync()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAsync()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERK9IOContextRKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">ReadManyAsync()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile13ReadManyAsyncERKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">ReadManyAsync()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">WillNeed()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">GetStream()</span></code></a></li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12OutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::OutputStream</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22ReadWriteFileInterfaceE"><code class="docutils literal notranslate"><span class="pre">arrow::io::ReadWriteFileInterface</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#concrete-implementations">Concrete implementations</a><ul class="pst-show_toc_level nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#in-memory-streams">In-memory streams</a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12BufferReaderE"><code class="docutils literal notranslate"><span class="pre">arrow::io::BufferReader</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12BufferReader12BufferReaderENSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">BufferReader()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io12BufferReader6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io12BufferReader18supports_zero_copyEv"><code class="docutils literal notranslate"><span class="pre">supports_zero_copy()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAsync()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">WillNeed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12BufferReader10FromStringENSt6stringE"><code class="docutils literal notranslate"><span class="pre">FromString()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MockOutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::MockOutputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MockOutputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16MockOutputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16MockOutputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MockOutputStream5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::BufferOutputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io18BufferOutputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io18BufferOutputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStream5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStream6FinishEv"><code class="docutils literal notranslate"><span class="pre">Finish()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Reset()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Create()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21FixedSizeBufferWriterE"><code class="docutils literal notranslate"><span class="pre">arrow::io::FixedSizeBufferWriter</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">FixedSizeBufferWriter()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#local-files">Local files</a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12ReadableFileE"><code class="docutils literal notranslate"><span class="pre">arrow::io::ReadableFile</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io12ReadableFile6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">WillNeed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Open()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io12ReadableFile4OpenEiP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Open()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16FileOutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::FileOutputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16FileOutputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16FileOutputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16FileOutputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16FileOutputStream5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16FileOutputStream4OpenERKNSt6stringEb"><code class="docutils literal notranslate"><span class="pre">Open()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16FileOutputStream4OpenEi"><code class="docutils literal notranslate"><span class="pre">Open()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFileE"><code class="docutils literal notranslate"><span class="pre">arrow::io::MemoryMappedFile</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16MemoryMappedFile6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16MemoryMappedFile4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_tPv"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_t"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAt()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv"><code class="docutils literal notranslate"><span class="pre">ReadAt()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t"><code class="docutils literal notranslate"><span class="pre">ReadAsync()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE"><code class="docutils literal notranslate"><span class="pre">WillNeed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io16MemoryMappedFile18supports_zero_copyEv"><code class="docutils literal notranslate"><span class="pre">supports_zero_copy()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile6ResizeE7int64_t"><code class="docutils literal notranslate"><span class="pre">Resize()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">WriteAt()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile7GetSizeEv"><code class="docutils literal notranslate"><span class="pre">GetSize()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t"><code class="docutils literal notranslate"><span class="pre">Create()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#buffering-input-output-wrappers">Buffering input / output wrappers</a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::BufferedInputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t"><code class="docutils literal notranslate"><span class="pre">SetBufferSize()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io19BufferedInputStream14bytes_bufferedEv"><code class="docutils literal notranslate"><span class="pre">bytes_buffered()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io19BufferedInputStream11buffer_sizeEv"><code class="docutils literal notranslate"><span class="pre">buffer_size()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStream6DetachEv"><code class="docutils literal notranslate"><span class="pre">Detach()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io19BufferedInputStream3rawEv"><code class="docutils literal notranslate"><span class="pre">raw()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io19BufferedInputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStream12ReadMetadataEv"><code class="docutils literal notranslate"><span class="pre">ReadMetadata()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStream17ReadMetadataAsyncERK9IOContext"><code class="docutils literal notranslate"><span class="pre">ReadMetadataAsync()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t"><code class="docutils literal notranslate"><span class="pre">Create()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::BufferedOutputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t"><code class="docutils literal notranslate"><span class="pre">SetBufferSize()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20BufferedOutputStream11buffer_sizeEv"><code class="docutils literal notranslate"><span class="pre">buffer_size()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20BufferedOutputStream14bytes_bufferedEv"><code class="docutils literal notranslate"><span class="pre">bytes_buffered()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream6DetachEv"><code class="docutils literal notranslate"><span class="pre">Detach()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream5AbortEv"><code class="docutils literal notranslate"><span class="pre">Abort()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20BufferedOutputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20BufferedOutputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream5FlushEv"><code class="docutils literal notranslate"><span class="pre">Flush()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20BufferedOutputStream3rawEv"><code class="docutils literal notranslate"><span class="pre">raw()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE"><code class="docutils literal notranslate"><span class="pre">Create()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#compressed-input-output-wrappers">Compressed input / output wrappers</a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21CompressedInputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::CompressedInputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io21CompressedInputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21CompressedInputStream12ReadMetadataEv"><code class="docutils literal notranslate"><span class="pre">ReadMetadata()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21CompressedInputStream17ReadMetadataAsyncERK9IOContext"><code class="docutils literal notranslate"><span class="pre">ReadMetadataAsync()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io21CompressedInputStream3rawEv"><code class="docutils literal notranslate"><span class="pre">raw()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Make()</span></code></a></li>
</ul>
</li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::CompressedOutputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStream5AbortEv"><code class="docutils literal notranslate"><span class="pre">Abort()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io22CompressedOutputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io22CompressedOutputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t"><code class="docutils literal notranslate"><span class="pre">Write()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStream5FlushEv"><code class="docutils literal notranslate"><span class="pre">Flush()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io22CompressedOutputStream3rawEv"><code class="docutils literal notranslate"><span class="pre">raw()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool"><code class="docutils literal notranslate"><span class="pre">Make()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#transforming-input-wrapper">Transforming input wrapper</a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStreamE"><code class="docutils literal notranslate"><span class="pre">arrow::io::TransformInputStream</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream5CloseEv"><code class="docutils literal notranslate"><span class="pre">Close()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream5AbortEv"><code class="docutils literal notranslate"><span class="pre">Abort()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20TransformInputStream6closedEv"><code class="docutils literal notranslate"><span class="pre">closed()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_tPv"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream4ReadE7int64_t"><code class="docutils literal notranslate"><span class="pre">Read()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream12ReadMetadataEv"><code class="docutils literal notranslate"><span class="pre">ReadMetadata()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4N5arrow2io20TransformInputStream17ReadMetadataAsyncERK9IOContext"><code class="docutils literal notranslate"><span class="pre">ReadMetadataAsync()</span></code></a></li>
<li class="toc-h5 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv4NK5arrow2io20TransformInputStream4TellEv"><code class="docutils literal notranslate"><span class="pre">Tell()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/cpp/api/io.rst">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../../_static/scripts/bootstrap.js?digest=7f76b32a3354e82990f2"></script>
<script defer src="../../_static/scripts/pydata-sphinx-theme.js?digest=7f76b32a3354e82990f2"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2016-2026 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
<!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.17.0.
</p></div>
</div>
</div>
</footer>
</body>
</html>