blob: 0c70113232a0abb6f81258859f87bceae2208554 [file] [log] [blame]
<!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="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Programming Support &#8212; Apache Arrow v17.0.0.dev52</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="../../_static/styles/theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../../_static/styles/bootstrap.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../../_static/styles/pydata-sphinx-theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../../_static/vendor/fontawesome/6.5.1/css/all.min.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../_static/theme_overrides.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae" />
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae" />
<script src="../../_static/vendor/fontawesome/6.5.1/js/all.min.js?digest=8d27b9dea8ad943066ae"></script>
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/clipboard.min.js"></script>
<script src="../../_static/copybutton.js"></script>
<script src="../../_static/design-tabs.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'cpp/api/support';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.15.2';
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>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/support.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="Memory (management)" href="memory.html" />
<link rel="prev" title="API Reference" href="../api.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<!-- 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-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<a id="pst-skip-link" class="skip-link" href="#main-content">Skip to main content</a>
<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>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<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"
id="search-input"
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></div>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar">
<div class="bd-header__inner bd-page-width">
<label class="sidebar-toggle primary-toggle" for="__primary">
<span class="fa-solid fa-bars"></span>
</label>
<div class="col-lg-3 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 v17.0.0.dev52 - Home"/>
<script>document.write(`<img src="../../_static/arrow-dark.png" class="logo__image only-dark" alt="Apache Arrow v17.0.0.dev52 - Home"/>`);</script>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav class="navbar-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 dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links">
Implementations
</button>
<ul id="pst-nav-more-links" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item current active">
<a class="nav-link dropdown-item nav-internal" href="../index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" 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>
`);
</script>
</div>
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm navbar-btn 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>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" 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>
`);
</script>
</div>
<label class="sidebar-toggle secondary-toggle" for="__secondary" tabindex="0">
<span class="fa-solid fa-outdent"></span>
</label>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div 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 class="navbar-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 dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links-2">
Implementations
</button>
<ul id="pst-nav-more-links-2" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item current active">
<a class="nav-link dropdown-item nav-internal" href="../index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm navbar-btn 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>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</span></a>
</li>
</ul></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<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 has-children"><a class="reference internal" href="../getting_started.html">Getting Started</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../build_system.html">Using Arrow C++ in your own project</a></li>
<li class="toctree-l2"><a class="reference internal" href="../conventions.html">Conventions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/basic_arrow.html">Basic Arrow Data Structures</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/io_tutorial.html">Arrow File I/O</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/compute_tutorial.html">Arrow Compute</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tutorials/datasets_tutorial.html">Arrow Datasets</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../user_guide.html">User Guide</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../overview.html">High-Level Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="../memory.html">Memory Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../arrays.html">Arrays</a></li>
<li class="toctree-l2"><a class="reference internal" href="../datatypes.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tables.html">Tabular Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compute.html">Compute Functions</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../gandiva.html">The Gandiva Expression Compiler</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../gandiva/expr_projector_filter.html">Gandiva Expression, Projector, and Filter</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gandiva/external_func.html">Gandiva External Functions Development Guide</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../streaming_execution.html">Acero: A C++ streaming execution engine</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../acero/overview.html">Acero Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../acero/user_guide.html">Acero User’s Guide</a></li>
<li class="toctree-l3"><a class="reference internal" href="../acero/substrait.html">Using Acero with Substrait</a></li>
<li class="toctree-l3"><a class="reference internal" href="../acero/developer_guide.html">Developer’s Guide</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../io.html">Input / output and filesystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ipc.html">Reading and writing the Arrow IPC format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../orc.html">Reading and Writing ORC files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../parquet.html">Reading and writing Parquet files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../dataset.html">Tabular Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../gdb.html">Debugging code using Arrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../threading.html">Thread Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../opentelemetry.html">OpenTelemetry</a></li>
<li class="toctree-l2"><a class="reference internal" href="../env_vars.html">Environment Variables</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../examples/index.html">Examples</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../examples/cmake_minimal_build.html">Minimal build using CMake</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/compute_and_write_example.html">Compute and Write CSV Example</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/dataset_documentation_example.html">Arrow Datasets example</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/dataset_skyhook_scan_example.html">Arrow Skyhook example</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/row_columnar_conversion.html">Row to columnar conversion</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/tuple_range_conversion.html">std::tuple-like ranges to Arrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../examples/converting_recordbatch_to_tensor.html">Converting RecordBatch to Tensor</a></li>
</ul>
</li>
<li class="toctree-l1 current active has-children"><a class="reference internal" href="../api.html">API Reference</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul class="current">
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Programming Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="memory.html">Memory (management)</a></li>
<li class="toctree-l2"><a class="reference internal" href="thread.html">Thread (management)</a></li>
<li class="toctree-l2"><a class="reference internal" href="datatype.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="array.html">Arrays</a></li>
<li class="toctree-l2"><a class="reference internal" href="scalar.html">Scalars</a></li>
<li class="toctree-l2"><a class="reference internal" href="builder.html">Array Builders</a></li>
<li class="toctree-l2"><a class="reference internal" href="table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="c_abi.html">C Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l2"><a class="reference internal" href="gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensors</a></li>
<li class="toctree-l2"><a class="reference internal" href="utilities.html">Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="async.html">Asynchronous programming</a></li>
<li class="toctree-l2"><a class="reference internal" href="io.html">Input / output</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipc.html">Arrow IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="formats.html">File Formats</a></li>
<li class="toctree-l2"><a class="reference internal" href="cuda.html">CUDA support</a></li>
<li class="toctree-l2"><a class="reference internal" href="flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem.html">Filesystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="dataset.html">Dataset</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">C++ cookbook</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb">
<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="../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">Programming Support</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="programming-support">
<h1>Programming Support<a class="headerlink" href="#programming-support" title="Permalink to this heading">#</a></h1>
<section id="general-information">
<h2>General information<a class="headerlink" href="#general-information" title="Permalink to this heading">#</a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12GetBuildInfoEv">
<span id="_CPPv3N5arrow12GetBuildInfoEv"></span><span id="_CPPv2N5arrow12GetBuildInfoEv"></span><span id="arrow::GetBuildInfo"></span><span class="target" id="namespacearrow_1ae00fc3d5d06cc6687ebbe00e272c9504"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow9BuildInfoE" title="arrow::BuildInfo"><span class="n"><span class="pre">BuildInfo</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">GetBuildInfo</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12GetBuildInfoEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get runtime build info. </p>
<p>The returned values correspond to exact loaded version of the Arrow library, rather than the values frozen at application compile-time through the <code class="docutils literal notranslate"><span class="pre">ARROW_*</span></code> preprocessor definitions. </p>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfoE">
<span id="_CPPv3N5arrow9BuildInfoE"></span><span id="_CPPv2N5arrow9BuildInfoE"></span><span id="arrow::BuildInfo"></span><span class="target" id="structarrow_1_1_build_info"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BuildInfo</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfoE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo7versionE">
<span id="_CPPv3N5arrow9BuildInfo7versionE"></span><span id="_CPPv2N5arrow9BuildInfo7versionE"></span><span id="arrow::BuildInfo::version__i"></span><span class="target" id="structarrow_1_1_build_info_1a76a64ddc65ebdf8aa0e75df3231b96fe"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">version</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo7versionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The packed version number, e.g. 1002003 (decimal) for Arrow 1.2.3. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo13version_majorE">
<span id="_CPPv3N5arrow9BuildInfo13version_majorE"></span><span id="_CPPv2N5arrow9BuildInfo13version_majorE"></span><span id="arrow::BuildInfo::version_major__i"></span><span class="target" id="structarrow_1_1_build_info_1acdbdbe5cda1698b5092ba72725dc15c9"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">version_major</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo13version_majorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The “major” version number, e.g. 1 for Arrow 1.2.3. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo13version_minorE">
<span id="_CPPv3N5arrow9BuildInfo13version_minorE"></span><span id="_CPPv2N5arrow9BuildInfo13version_minorE"></span><span id="arrow::BuildInfo::version_minor__i"></span><span class="target" id="structarrow_1_1_build_info_1a90b60c5da068e46b894c33fe6a3d5393"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">version_minor</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo13version_minorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The “minor” version number, e.g. 2 for Arrow 1.2.3. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo13version_patchE">
<span id="_CPPv3N5arrow9BuildInfo13version_patchE"></span><span id="_CPPv2N5arrow9BuildInfo13version_patchE"></span><span id="arrow::BuildInfo::version_patch__i"></span><span class="target" id="structarrow_1_1_build_info_1a8ac9a8f8084d4c99123e5677ff8d2539"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">version_patch</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo13version_patchE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The “patch” version number, e.g. 3 for Arrow 1.2.3. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo14version_stringE">
<span id="_CPPv3N5arrow9BuildInfo14version_stringE"></span><span id="_CPPv2N5arrow9BuildInfo14version_stringE"></span><span id="arrow::BuildInfo::version_string__ss"></span><span class="target" id="structarrow_1_1_build_info_1a80fabe9ea2ced3a607d06faf6d1db273"></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="sig-name descname"><span class="n"><span class="pre">version_string</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo14version_stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The version string, e.g. “1.2.3”. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo11compiler_idE">
<span id="_CPPv3N5arrow9BuildInfo11compiler_idE"></span><span id="_CPPv2N5arrow9BuildInfo11compiler_idE"></span><span id="arrow::BuildInfo::compiler_id__ss"></span><span class="target" id="structarrow_1_1_build_info_1a5ffa2f63cff1e00b5d518769d5529810"></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="sig-name descname"><span class="n"><span class="pre">compiler_id</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo11compiler_idE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The CMake compiler identifier, e.g. “GNU”. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo6git_idE">
<span id="_CPPv3N5arrow9BuildInfo6git_idE"></span><span id="_CPPv2N5arrow9BuildInfo6git_idE"></span><span id="arrow::BuildInfo::git_id__ss"></span><span class="target" id="structarrow_1_1_build_info_1abdec6a8cc471be6d90e1d7cabce139a2"></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="sig-name descname"><span class="n"><span class="pre">git_id</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo6git_idE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The git changeset id, if available. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo15git_descriptionE">
<span id="_CPPv3N5arrow9BuildInfo15git_descriptionE"></span><span id="_CPPv2N5arrow9BuildInfo15git_descriptionE"></span><span id="arrow::BuildInfo::git_description__ss"></span><span class="target" id="structarrow_1_1_build_info_1a2681553c88bffbb021f46a2ccf7cfb1d"></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="sig-name descname"><span class="n"><span class="pre">git_description</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo15git_descriptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The git changeset description, if available. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9BuildInfo10build_typeE">
<span id="_CPPv3N5arrow9BuildInfo10build_typeE"></span><span id="_CPPv2N5arrow9BuildInfo10build_typeE"></span><span id="arrow::BuildInfo::build_type__ss"></span><span class="target" id="structarrow_1_1_build_info_1a3d3ab62d27fcb00d9370a65989d5313a"></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="sig-name descname"><span class="n"><span class="pre">build_type</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9BuildInfo10build_typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The uppercase build type, e.g. “DEBUG” or “RELEASE”. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow14GetRuntimeInfoEv">
<span id="_CPPv3N5arrow14GetRuntimeInfoEv"></span><span id="_CPPv2N5arrow14GetRuntimeInfoEv"></span><span id="arrow::GetRuntimeInfo"></span><span class="target" id="namespacearrow_1a1bf4545c10b961521daf2b3547240675"></span><a class="reference internal" href="#_CPPv4N5arrow11RuntimeInfoE" title="arrow::RuntimeInfo"><span class="n"><span class="pre">RuntimeInfo</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">GetRuntimeInfo</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow14GetRuntimeInfoEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get runtime info. </p>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11RuntimeInfoE">
<span id="_CPPv3N5arrow11RuntimeInfoE"></span><span id="_CPPv2N5arrow11RuntimeInfoE"></span><span id="arrow::RuntimeInfo"></span><span class="target" id="structarrow_1_1_runtime_info"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RuntimeInfo</span></span></span><a class="headerlink" href="#_CPPv4N5arrow11RuntimeInfoE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11RuntimeInfo10simd_levelE">
<span id="_CPPv3N5arrow11RuntimeInfo10simd_levelE"></span><span id="_CPPv2N5arrow11RuntimeInfo10simd_levelE"></span><span id="arrow::RuntimeInfo::simd_level__ss"></span><span class="target" id="structarrow_1_1_runtime_info_1abe2f1a5f59765a5ab31e8edc95d13043"></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="sig-name descname"><span class="n"><span class="pre">simd_level</span></span></span><a class="headerlink" href="#_CPPv4N5arrow11RuntimeInfo10simd_levelE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The enabled SIMD level. </p>
<p>This can be less than <code class="docutils literal notranslate"><span class="pre">detected_simd_level</span></code> if the ARROW_USER_SIMD_LEVEL environment variable is set to another value. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11RuntimeInfo19detected_simd_levelE">
<span id="_CPPv3N5arrow11RuntimeInfo19detected_simd_levelE"></span><span id="_CPPv2N5arrow11RuntimeInfo19detected_simd_levelE"></span><span id="arrow::RuntimeInfo::detected_simd_level__ss"></span><span class="target" id="structarrow_1_1_runtime_info_1a9b98d559666ddbcb04740bdb3782e84d"></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="sig-name descname"><span class="n"><span class="pre">detected_simd_level</span></span></span><a class="headerlink" href="#_CPPv4N5arrow11RuntimeInfo19detected_simd_levelE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The SIMD level available on the OS and CPU. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11RuntimeInfo20using_os_timezone_dbE">
<span id="_CPPv3N5arrow11RuntimeInfo20using_os_timezone_dbE"></span><span id="_CPPv2N5arrow11RuntimeInfo20using_os_timezone_dbE"></span><span id="arrow::RuntimeInfo::using_os_timezone_db__b"></span><span class="target" id="structarrow_1_1_runtime_info_1a496fac3294deccd9e39839b3aedb6377"></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">using_os_timezone_db</span></span></span><a class="headerlink" href="#_CPPv4N5arrow11RuntimeInfo20using_os_timezone_dbE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether using the OS-based timezone database This is set at compile-time. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11RuntimeInfo16timezone_db_pathE">
<span id="_CPPv3N5arrow11RuntimeInfo16timezone_db_pathE"></span><span id="_CPPv2N5arrow11RuntimeInfo16timezone_db_pathE"></span><span id="arrow::RuntimeInfo::timezone_db_path__std::optional:ss:"></span><span class="target" id="structarrow_1_1_runtime_info_1a07062a24f75173c8e66746e09ddcc28e"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">optional</span></span><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</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">timezone_db_path</span></span></span><a class="headerlink" href="#_CPPv4N5arrow11RuntimeInfo16timezone_db_pathE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The path to the timezone database; by default None. </p>
</dd></dl>
</div>
</dd></dl>
<section id="macro-definitions">
<h3>Macro definitions<a class="headerlink" href="#macro-definitions" title="Permalink to this heading">#</a></h3>
<p>These can be useful if you need to decide between different blocks of code
<em>at compile time</em> (for example to conditionally take advantage of a recently
introduced API).</p>
<dl class="c macro">
<dt class="sig sig-object c" id="c.ARROW_VERSION_MAJOR">
<span class="sig-name descname"><span class="n"><span class="pre">ARROW_VERSION_MAJOR</span></span></span><a class="headerlink" href="#c.ARROW_VERSION_MAJOR" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The Arrow major version number, for example <code class="docutils literal notranslate"><span class="pre">7</span></code> for Arrow 7.0.1.</p>
</dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.ARROW_VERSION_MINOR">
<span class="sig-name descname"><span class="n"><span class="pre">ARROW_VERSION_MINOR</span></span></span><a class="headerlink" href="#c.ARROW_VERSION_MINOR" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The Arrow minor version number, for example <code class="docutils literal notranslate"><span class="pre">0</span></code> for Arrow 7.0.1.</p>
</dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.ARROW_VERSION_PATCH">
<span class="sig-name descname"><span class="n"><span class="pre">ARROW_VERSION_PATCH</span></span></span><a class="headerlink" href="#c.ARROW_VERSION_PATCH" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The Arrow patch version number, for example <code class="docutils literal notranslate"><span class="pre">1</span></code> for Arrow 7.0.1.</p>
</dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.ARROW_VERSION">
<span class="sig-name descname"><span class="n"><span class="pre">ARROW_VERSION</span></span></span><a class="headerlink" href="#c.ARROW_VERSION" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A consolidated integer representing the full Arrow version in an easily
comparable form, computed with the formula:
<code class="docutils literal notranslate"><span class="pre">((ARROW_VERSION_MAJOR</span> <span class="pre">*</span> <span class="pre">1000)</span> <span class="pre">+</span> <span class="pre">ARROW_VERSION_MINOR)</span> <span class="pre">*</span> <span class="pre">1000</span> <span class="pre">+</span> <span class="pre">ARROW_VERSION_PATCH</span></code>.</p>
<p>For example, this would choose a different block of code if the code is
being compiled against a Arrow version equal to or greater than 7.0.1:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="cp">#if ARROW_VERSION &gt;= 7000001</span>
<span class="c1">// Arrow 7.0.1 or later...</span>
<span class="cp">#endif</span>
</pre></div>
</div>
</dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.ARROW_VERSION_STRING">
<span class="sig-name descname"><span class="n"><span class="pre">ARROW_VERSION_STRING</span></span></span><a class="headerlink" href="#c.ARROW_VERSION_STRING" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A human-readable string representation of the Arrow version, such as
<code class="docutils literal notranslate"><span class="pre">&quot;7.0.1&quot;</span></code>.</p>
</dd></dl>
</section>
</section>
<section id="runtime-configuration">
<h2>Runtime Configuration<a class="headerlink" href="#runtime-configuration" title="Permalink to this heading">#</a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow13GlobalOptionsE">
<span id="_CPPv3N5arrow13GlobalOptionsE"></span><span id="_CPPv2N5arrow13GlobalOptionsE"></span><span id="arrow::GlobalOptions"></span><span class="target" id="structarrow_1_1_global_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GlobalOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow13GlobalOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow13GlobalOptions16timezone_db_pathE">
<span id="_CPPv3N5arrow13GlobalOptions16timezone_db_pathE"></span><span id="_CPPv2N5arrow13GlobalOptions16timezone_db_pathE"></span><span id="arrow::GlobalOptions::timezone_db_path__std::optional:ss:"></span><span class="target" id="structarrow_1_1_global_options_1a5d740fcb962383655f3337eb64506c89"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">optional</span></span><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</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">timezone_db_path</span></span></span><a class="headerlink" href="#_CPPv4N5arrow13GlobalOptions16timezone_db_pathE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Path to text timezone database. </p>
<p>This is only configurable on Windows, which does not have a compatible OS timezone database. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow10InitializeERK13GlobalOptions">
<span id="_CPPv3N5arrow10InitializeERK13GlobalOptions"></span><span id="_CPPv2N5arrow10InitializeERK13GlobalOptions"></span><span id="arrow::Initialize__GlobalOptionsCR"></span><span class="target" id="namespacearrow_1af9fdd3e43a2d7dc8f08cc367ae7ccb9f"></span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">Initialize</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow13GlobalOptionsE" title="arrow::GlobalOptions"><span class="n"><span class="pre">GlobalOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow10InitializeERK13GlobalOptions" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
</section>
<section id="error-return-and-reporting">
<h2>Error return and reporting<a class="headerlink" href="#error-return-and-reporting" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6StatusE">
<span id="_CPPv3N5arrow6StatusE"></span><span id="_CPPv2N5arrow6StatusE"></span><span id="arrow::Status"></span><span class="target" id="classarrow_1_1_status"></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">Status</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">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">EqualityComparable</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="p"><span class="pre">&gt;</span></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">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ToStringOstreamable</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow6StatusE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> outcome object (success or error) </p>
<p>The <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object is an object holding the outcome of an operation. The outcome is represented as a StatusCode, either success (StatusCode::OK) or an error (any other of the StatusCode enumeration values).</p>
<p>Additionally, if an error occurred, a specific error message is generally attached. </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="_CPPv4N5arrow6Status6StatusE10StatusCodeNSt6stringENSt10shared_ptrI12StatusDetailEE">
<span id="_CPPv3N5arrow6Status6StatusE10StatusCodeNSt6stringENSt10shared_ptrI12StatusDetailEE"></span><span id="_CPPv2N5arrow6Status6StatusE10StatusCodeNSt6stringENSt10shared_ptrI12StatusDetailEE"></span><span id="arrow::Status::Status__StatusCode.ss.std::shared_ptr:StatusDetail:"></span><span class="target" id="classarrow_1_1_status_1abf7027d47acce62267954748572c30e2"></span><span class="sig-name descname"><span class="n"><span class="pre">Status</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">StatusCode</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">code</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</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">msg</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="#_CPPv4N5arrow12StatusDetailE" title="arrow::StatusDetail"><span class="n"><span class="pre">StatusDetail</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">detail</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow6Status6StatusE10StatusCodeNSt6stringENSt10shared_ptrI12StatusDetailEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Pluggable constructor for use by sub-systems. detail cannot be null. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status2okEv">
<span id="_CPPv3NK5arrow6Status2okEv"></span><span id="_CPPv2NK5arrow6Status2okEv"></span><span id="arrow::Status::okCCE"></span><span class="target" id="classarrow_1_1_status_1ab64decfaf00a54692624d2e94cec5413"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">ok</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="#_CPPv4NK5arrow6Status2okEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates success. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status13IsOutOfMemoryEv">
<span id="_CPPv3NK5arrow6Status13IsOutOfMemoryEv"></span><span id="_CPPv2NK5arrow6Status13IsOutOfMemoryEv"></span><span id="arrow::Status::IsOutOfMemoryCCE"></span><span class="target" id="classarrow_1_1_status_1ad0992bb0dffc58df35e49853f7f668d5"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsOutOfMemory</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="#_CPPv4NK5arrow6Status13IsOutOfMemoryEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates an out-of-memory error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status10IsKeyErrorEv">
<span id="_CPPv3NK5arrow6Status10IsKeyErrorEv"></span><span id="_CPPv2NK5arrow6Status10IsKeyErrorEv"></span><span id="arrow::Status::IsKeyErrorCCE"></span><span class="target" id="classarrow_1_1_status_1aa7397daca078bb3f305a0e671300483d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsKeyError</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="#_CPPv4NK5arrow6Status10IsKeyErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a key lookup error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status9IsInvalidEv">
<span id="_CPPv3NK5arrow6Status9IsInvalidEv"></span><span id="_CPPv2NK5arrow6Status9IsInvalidEv"></span><span id="arrow::Status::IsInvalidCCE"></span><span class="target" id="classarrow_1_1_status_1acb0fd7c24353cbddd2b14522662d808d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsInvalid</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="#_CPPv4NK5arrow6Status9IsInvalidEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates invalid data. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status11IsCancelledEv">
<span id="_CPPv3NK5arrow6Status11IsCancelledEv"></span><span id="_CPPv2NK5arrow6Status11IsCancelledEv"></span><span id="arrow::Status::IsCancelledCCE"></span><span class="target" id="classarrow_1_1_status_1abc0d63d416eee6e493fda67a4ba72fbe"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsCancelled</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="#_CPPv4NK5arrow6Status11IsCancelledEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a cancelled operation. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status9IsIOErrorEv">
<span id="_CPPv3NK5arrow6Status9IsIOErrorEv"></span><span id="_CPPv2NK5arrow6Status9IsIOErrorEv"></span><span id="arrow::Status::IsIOErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a246ba8c10338bd41140c9299c04e18e0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsIOError</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="#_CPPv4NK5arrow6Status9IsIOErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates an IO-related failure. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status15IsCapacityErrorEv">
<span id="_CPPv3NK5arrow6Status15IsCapacityErrorEv"></span><span id="_CPPv2NK5arrow6Status15IsCapacityErrorEv"></span><span id="arrow::Status::IsCapacityErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a518ae2fbe2b6e4a9f49f3a4286095b3b"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsCapacityError</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="#_CPPv4NK5arrow6Status15IsCapacityErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a container reaching capacity limits. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status12IsIndexErrorEv">
<span id="_CPPv3NK5arrow6Status12IsIndexErrorEv"></span><span id="_CPPv2NK5arrow6Status12IsIndexErrorEv"></span><span id="arrow::Status::IsIndexErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a39561c88bd4d9b36c38d05117c4a8a44"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsIndexError</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="#_CPPv4NK5arrow6Status12IsIndexErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates an out of bounds index. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status11IsTypeErrorEv">
<span id="_CPPv3NK5arrow6Status11IsTypeErrorEv"></span><span id="_CPPv2NK5arrow6Status11IsTypeErrorEv"></span><span id="arrow::Status::IsTypeErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a1e3ef55c2c0add9bb9f4ea12e8cee376"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsTypeError</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="#_CPPv4NK5arrow6Status11IsTypeErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a type error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status14IsUnknownErrorEv">
<span id="_CPPv3NK5arrow6Status14IsUnknownErrorEv"></span><span id="_CPPv2NK5arrow6Status14IsUnknownErrorEv"></span><span id="arrow::Status::IsUnknownErrorCCE"></span><span class="target" id="classarrow_1_1_status_1ab72c404a8171de548412397908c2348a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsUnknownError</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="#_CPPv4NK5arrow6Status14IsUnknownErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates an unknown error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status16IsNotImplementedEv">
<span id="_CPPv3NK5arrow6Status16IsNotImplementedEv"></span><span id="_CPPv2NK5arrow6Status16IsNotImplementedEv"></span><span id="arrow::Status::IsNotImplementedCCE"></span><span class="target" id="classarrow_1_1_status_1a8a8593201b9b4b9f2b69200053f5a6b6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsNotImplemented</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="#_CPPv4NK5arrow6Status16IsNotImplementedEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates an unimplemented operation. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status20IsSerializationErrorEv">
<span id="_CPPv3NK5arrow6Status20IsSerializationErrorEv"></span><span id="_CPPv2NK5arrow6Status20IsSerializationErrorEv"></span><span id="arrow::Status::IsSerializationErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a447ed50bd02ea52b219ee67eb208ef29"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsSerializationError</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="#_CPPv4NK5arrow6Status20IsSerializationErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a (de)serialization failure. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status8IsRErrorEv">
<span id="_CPPv3NK5arrow6Status8IsRErrorEv"></span><span id="_CPPv2NK5arrow6Status8IsRErrorEv"></span><span id="arrow::Status::IsRErrorCCE"></span><span class="target" id="classarrow_1_1_status_1a6866a7791746e9df2beda5b29b0cb7e0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">IsRError</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="#_CPPv4NK5arrow6Status8IsRErrorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true iff the status indicates a R-originated error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status8ToStringEv">
<span id="_CPPv3NK5arrow6Status8ToStringEv"></span><span id="_CPPv2NK5arrow6Status8ToStringEv"></span><span id="arrow::Status::ToStringC"></span><span class="target" id="classarrow_1_1_status_1a5bccb726dc7a1989b9158b46bfb309b6"></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="sig-name descname"><span class="n"><span class="pre">ToString</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="#_CPPv4NK5arrow6Status8ToStringEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a string representation of this status suitable for printing. </p>
<p>The string “OK” is returned for success. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status27ToStringWithoutContextLinesEv">
<span id="_CPPv3NK5arrow6Status27ToStringWithoutContextLinesEv"></span><span id="_CPPv2NK5arrow6Status27ToStringWithoutContextLinesEv"></span><span id="arrow::Status::ToStringWithoutContextLinesC"></span><span class="target" id="classarrow_1_1_status_1af1f2558fcc060ecf4594bfd87fe9c777"></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="sig-name descname"><span class="n"><span class="pre">ToStringWithoutContextLines</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="#_CPPv4NK5arrow6Status27ToStringWithoutContextLinesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a string representation of this status without context lines suitable for printing. </p>
<p>The string “OK” is returned for success. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status12CodeAsStringEv">
<span id="_CPPv3NK5arrow6Status12CodeAsStringEv"></span><span id="_CPPv2NK5arrow6Status12CodeAsStringEv"></span><span id="arrow::Status::CodeAsStringC"></span><span class="target" id="classarrow_1_1_status_1a4b39130dbef68d6b20ee9baa41c76504"></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="sig-name descname"><span class="n"><span class="pre">CodeAsString</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="#_CPPv4NK5arrow6Status12CodeAsStringEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a string representation of the status code, without the message text or POSIX code information. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status4codeEv">
<span id="_CPPv3NK5arrow6Status4codeEv"></span><span id="_CPPv2NK5arrow6Status4codeEv"></span><span id="arrow::Status::codeCCE"></span><span class="target" id="classarrow_1_1_status_1a399fa447b008618c7fbd29d190255c28"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</span></span><span class="w"> </span><span class="n"><span class="pre">StatusCode</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">code</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="#_CPPv4NK5arrow6Status4codeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the StatusCode value attached to this status. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status7messageEv">
<span id="_CPPv3NK5arrow6Status7messageEv"></span><span id="_CPPv2NK5arrow6Status7messageEv"></span><span id="arrow::Status::messageC"></span><span class="target" id="classarrow_1_1_status_1a6d48509df4ee48a23d26b210357629f6"></span><span class="k"><span class="pre">inline</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">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="sig-name descname"><span class="n"><span class="pre">message</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="#_CPPv4NK5arrow6Status7messageEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the specific error message attached to this status. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status6detailEv">
<span id="_CPPv3NK5arrow6Status6detailEv"></span><span id="_CPPv2NK5arrow6Status6detailEv"></span><span id="arrow::Status::detailC"></span><span class="target" id="classarrow_1_1_status_1af4da0e218cfb6f928dda1702c967beed"></span><span class="k"><span class="pre">inline</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">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="#_CPPv4N5arrow12StatusDetailE" title="arrow::StatusDetail"><span class="n"><span class="pre">StatusDetail</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="sig-name descname"><span class="n"><span class="pre">detail</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="#_CPPv4NK5arrow6Status6detailEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the status detail attached to this message. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Status10WithDetailENSt10shared_ptrI12StatusDetailEE">
<span id="_CPPv3NK5arrow6Status10WithDetailENSt10shared_ptrI12StatusDetailEE"></span><span id="_CPPv2NK5arrow6Status10WithDetailENSt10shared_ptrI12StatusDetailEE"></span><span id="arrow::Status::WithDetail__std::shared_ptr:StatusDetail:C"></span><span class="target" id="classarrow_1_1_status_1a2daf52c50d15eb62bedbe6e8dbc18fff"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">WithDetail</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="#_CPPv4N5arrow12StatusDetailE" title="arrow::StatusDetail"><span class="n"><span class="pre">StatusDetail</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_detail</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow6Status10WithDetailENSt10shared_ptrI12StatusDetailEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a new <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> copying the existing status, but updating with the existing detail. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpENK5arrow6Status11WithMessageE6StatusDpRR4Args">
<span id="_CPPv3IDpENK5arrow6Status11WithMessageEDpRR4Args"></span><span id="_CPPv2IDpENK5arrow6Status11WithMessageEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a5d18488120c4f0ae9ffeeb771106a66b"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">WithMessage</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpENK5arrow6Status11WithMessageE6StatusDpRR4Args" title="arrow::Status::WithMessage::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4IDpENK5arrow6Status11WithMessageE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a new <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> with changed message, copying the existing status code and detail. </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="_CPPv4N5arrow6Status2OKEv">
<span id="_CPPv3N5arrow6Status2OKEv"></span><span id="_CPPv2N5arrow6Status2OKEv"></span><span id="arrow::Status::OK"></span><span class="target" id="classarrow_1_1_status_1a5c0b0031db6eeec3dcc70485d24cfe03"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">OK</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow6Status2OKEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a success status. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status11OutOfMemoryE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status11OutOfMemoryEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status11OutOfMemoryEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1ae39cb87196acb83e4eb921cf729248e3"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">OutOfMemory</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status11OutOfMemoryE6StatusDpRR4Args" title="arrow::Status::OutOfMemory::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status11OutOfMemoryE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for out-of-memory conditions. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status8KeyErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status8KeyErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status8KeyErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a9cb12a31b919deae25d1089da1cf21c7"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">KeyError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status8KeyErrorE6StatusDpRR4Args" title="arrow::Status::KeyError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status8KeyErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for failed key lookups (e.g. column name in a table) </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status9TypeErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status9TypeErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status9TypeErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a0ff96a9163346d8af8abe40e9809a8ba"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">TypeError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status9TypeErrorE6StatusDpRR4Args" title="arrow::Status::TypeError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status9TypeErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for type errors (such as mismatching data types) </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status12UnknownErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status12UnknownErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status12UnknownErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a40dfa10f3910d85b4a8d9d5c2c043feb"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">UnknownError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status12UnknownErrorE6StatusDpRR4Args" title="arrow::Status::UnknownError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status12UnknownErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for unknown errors. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status14NotImplementedE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status14NotImplementedEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status14NotImplementedEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1ae63ddaaa7db5edef4e75a26b693351a1"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">NotImplemented</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status14NotImplementedE6StatusDpRR4Args" title="arrow::Status::NotImplemented::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status14NotImplementedE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status when an operation or a combination of operation and data types is unimplemented. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status7InvalidE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status7InvalidEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status7InvalidEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1aa388393c060f3b44316876a630190576"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">Invalid</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status7InvalidE6StatusDpRR4Args" title="arrow::Status::Invalid::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status7InvalidE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for invalid data (for example a string that fails parsing) </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status9CancelledE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status9CancelledEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status9CancelledEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1adac6627691bfe67a10b50890a4715a8e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">Cancelled</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status9CancelledE6StatusDpRR4Args" title="arrow::Status::Cancelled::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status9CancelledE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status for cancelled operation. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status10IndexErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status10IndexErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status10IndexErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a271ce890dfa95b2d9a29c181050b8d9c"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">IndexError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status10IndexErrorE6StatusDpRR4Args" title="arrow::Status::IndexError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status10IndexErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status when an index is out of bounds. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status13CapacityErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status13CapacityErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status13CapacityErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a116186da015799d2efc8446ec709d4af"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">CapacityError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status13CapacityErrorE6StatusDpRR4Args" title="arrow::Status::CapacityError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status13CapacityErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status when a container’s capacity would exceed its limits. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status7IOErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status7IOErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status7IOErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a4d6fc084d924c8297e35b9996c4171b3"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">IOError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status7IOErrorE6StatusDpRR4Args" title="arrow::Status::IOError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status7IOErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status when some IO-related operation failed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4IDpEN5arrow6Status18SerializationErrorE6StatusDpRR4Args">
<span id="_CPPv3IDpEN5arrow6Status18SerializationErrorEDpRR4Args"></span><span id="_CPPv2IDpEN5arrow6Status18SerializationErrorEDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_status_1a0852f0d35526dc31345154f92c955c00"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">SerializationError</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4IDpEN5arrow6Status18SerializationErrorE6StatusDpRR4Args" title="arrow::Status::SerializationError::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN5arrow6Status18SerializationErrorE6StatusDpRR4Args" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an error status when some (de)serialization operation failed. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12StatusDetailE">
<span id="_CPPv3N5arrow12StatusDetailE"></span><span id="_CPPv2N5arrow12StatusDetailE"></span><span id="arrow::StatusDetail"></span><span class="target" id="classarrow_1_1_status_detail"></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">StatusDetail</span></span></span><a class="headerlink" href="#_CPPv4N5arrow12StatusDetailE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An opaque class that allows subsystems to retain additional information inside the <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a>. </p>
<p>Subclassed by <a class="reference internal" href="flight.html#classarrow_1_1flight_1_1_flight_status_detail"><span class="std std-ref">arrow::flight::FlightStatusDetail</span></a>, arrow::flight::FlightWriteSizeStatusDetail, arrow::flight::TransportStatusDetail</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="_CPPv4NK5arrow12StatusDetail7type_idEv">
<span id="_CPPv3NK5arrow12StatusDetail7type_idEv"></span><span id="_CPPv2NK5arrow12StatusDetail7type_idEv"></span><span id="arrow::StatusDetail::type_idC"></span><span class="target" id="classarrow_1_1_status_detail_1a66dda1b3cbbe2bcdad3e8d59025c8412"></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="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">type_id</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="#_CPPv4NK5arrow12StatusDetail7type_idEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a unique id for the type of the <a class="reference internal" href="#classarrow_1_1_status_detail"><span class="std std-ref">StatusDetail</span></a> (effectively a poor man’s substitute for RTTI). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12StatusDetail8ToStringEv">
<span id="_CPPv3NK5arrow12StatusDetail8ToStringEv"></span><span id="_CPPv2NK5arrow12StatusDetail8ToStringEv"></span><span id="arrow::StatusDetail::ToStringC"></span><span class="target" id="classarrow_1_1_status_detail_1accc5886393328acc3c91d6ad1874a7c6"></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">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ToString</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="#_CPPv4NK5arrow12StatusDetail8ToStringEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Produce a human-readable description of this status. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow6ResultE">
<span id="_CPPv3I0EN5arrow6ResultE"></span><span id="_CPPv2I0EN5arrow6ResultE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></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">T</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result"></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">Result</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">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">EqualityComparable</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4I0EN5arrow6ResultE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class for representing either a usable value, or an error. </p>
<p>A <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object either contains a value of type <code class="docutils literal notranslate"><span class="pre">T</span></code> or a <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object explaining why such a value is not present. The type <code class="docutils literal notranslate"><span class="pre">T</span></code> must be copy-constructible and/or move-constructible.</p>
<p>The state of a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object may be determined by calling <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> or <a class="reference internal" href="#classarrow_1_1_result_1a6084c0983fad9923a446fc6654690c95"><span class="std std-ref">status()</span></a>. The <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> method returns true if the object contains a valid value. The <a class="reference internal" href="#classarrow_1_1_result_1a6084c0983fad9923a446fc6654690c95"><span class="std std-ref">status()</span></a> method returns the internal <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object. A <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object that contains a valid value will return an OK <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> for a call to <a class="reference internal" href="#classarrow_1_1_result_1a6084c0983fad9923a446fc6654690c95"><span class="std std-ref">status()</span></a>.</p>
<p>A value of type <code class="docutils literal notranslate"><span class="pre">T</span></code> may be extracted from a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object through a call to <a class="reference internal" href="#classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"><span class="std std-ref">ValueOrDie()</span></a>. This function should only be called if a call to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> returns true. Sample usage:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o">&lt;</span><span class="n">Foo</span><span class="o">&gt;</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">CalculateFoo</span><span class="p">();</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">result</span><span class="p">.</span><span class="n">ok</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">ValueOrDie</span><span class="p">();</span>
<span class="w"> </span><span class="n">foo</span><span class="p">.</span><span class="n">DoSomethingCool</span><span class="p">();</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ARROW_LOG</span><span class="p">(</span><span class="n">ERROR</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">status</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>
</div>
<p>If <code class="docutils literal notranslate"><span class="pre">T</span></code> is a move-only type, like <code class="docutils literal notranslate"><span class="pre">std::unique_ptr&lt;&gt;</span></code>, then the value should only be extracted after invoking <code class="docutils literal notranslate"><span class="pre">std::move()</span></code> on the <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object. Sample usage:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o">&lt;</span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o">&lt;</span><span class="n">Foo</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">CalculateFoo</span><span class="p">();</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">result</span><span class="p">.</span><span class="n">ok</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o">&lt;</span><span class="n">Foo</span><span class="o">&gt;</span><span class="w"> </span><span class="n">foo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">result</span><span class="p">).</span><span class="n">ValueOrDie</span><span class="p">();</span>
<span class="w"> </span><span class="n">foo</span><span class="o">-&gt;</span><span class="n">DoSomethingCool</span><span class="p">();</span>
<span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">ARROW_LOG</span><span class="p">(</span><span class="n">ERROR</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="p">.</span><span class="n">status</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>
</div>
<p><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> is provided for the convenience of implementing functions that return some value but may fail during execution. For instance, consider a function with the following signature:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="nf">CalculateFoo</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">output</span><span class="p">);</span>
</pre></div>
</div>
<p>This function may instead be written as:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">CalculateFoo</span><span class="p">();</span>
</pre></div>
</div>
<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="_CPPv4N5arrow6Result6ResultEv">
<span id="_CPPv3N5arrow6Result6ResultEv"></span><span id="_CPPv2N5arrow6Result6ResultEv"></span><span id="arrow::Result::Result"></span><span class="target" id="classarrow_1_1_result_1a26986754b59cc87e108cc43526898c26"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </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">Result</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6Result6ResultEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Constructs a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object that contains a non-OK status. </p>
<p>This constructor is marked <code class="docutils literal notranslate"><span class="pre">explicit</span></code> to prevent attempts to <code class="docutils literal notranslate"><span class="pre">return</span> <span class="pre">{}</span></code> from a function with a return type of, for example, <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;std::vector&lt;int&gt;&gt;</span></code>. While <code class="docutils literal notranslate"><span class="pre">return</span> <span class="pre">{}</span></code> seems like it would return an empty vector, it will actually invoke the default constructor of <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6Result6ResultERK6Status">
<span id="_CPPv3N5arrow6Result6ResultERK6Status"></span><span id="_CPPv2N5arrow6Result6ResultERK6Status"></span><span id="arrow::Result::Result__StatusCR"></span><span class="target" id="classarrow_1_1_result_1ad0f2784a82e67e14a0d43841cb69ba0c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">status</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6Result6ResultERK6Status" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Constructs a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object with the given non-OK <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object. </p>
<p>All calls to <a class="reference internal" href="#classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"><span class="std std-ref">ValueOrDie()</span></a> on this object will abort. The given <code class="docutils literal notranslate"><span class="pre">status</span></code> must not be an OK status, otherwise this constructor will abort.</p>
<p>This constructor is not declared explicit so that a function with a return type of <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> can return a <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object, and the status will be implicitly converted to the appropriate return type as a matter of convenience.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>status</strong> – The non-OK <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> object to initialize to. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00EN5arrow6Result6ResultERR1U">
<span id="_CPPv3I00EN5arrow6Result6ResultERR1U"></span><span id="_CPPv2I00EN5arrow6Result6ResultERR1U"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR1U" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="o"><span class="pre">&amp;&amp;</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">is_convertible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR1U" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="o"><span class="pre">&amp;&amp;</span></span><span class="w"> </span><span class="o"><span class="pre">!</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">is_same</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</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">remove_reference</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</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">remove_cv</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR1U" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1af99acb73441cc6ef82bfcd4d45609331"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR1U" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">value</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4I00EN5arrow6Result6ResultERR1U" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Constructs a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object that contains <code class="docutils literal notranslate"><span class="pre">value</span></code>. </p>
<p>The resulting object is considered to have an OK status. The wrapped element can be accessed with <a class="reference internal" href="#classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"><span class="std std-ref">ValueOrDie()</span></a>.</p>
<p>This constructor is made implicit so that a function with a return type of <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> can return an object of type <code class="docutils literal notranslate"><span class="pre">U</span> <span class="pre">&amp;&amp;</span></code>, implicitly converting it to a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> object.</p>
<p>Note that <code class="docutils literal notranslate"><span class="pre">T</span></code> must be implicitly constructible from <code class="docutils literal notranslate"><span class="pre">U</span></code>, and <code class="docutils literal notranslate"><span class="pre">U</span></code> must not be a (cv-qualified) <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> or Status-reference type. Due to C++ reference-collapsing rules and perfect-forwarding semantics, this constructor matches invocations that pass <code class="docutils literal notranslate"><span class="pre">value</span></code> either as a const reference or as an rvalue reference. Since <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> needs to work for both reference and rvalue-reference types, the constructor uses perfect forwarding to avoid invalidating arguments that were passed by reference. See <a class="reference external" href="http://thbecker.net/articles/rvalue_references/section_08.html">http://thbecker.net/articles/rvalue_references/section_08.html</a> for additional details.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>value</strong> – The value to initialize to. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6Result6ResultERR1T">
<span id="_CPPv3N5arrow6Result6ResultERR1T"></span><span id="_CPPv2N5arrow6Result6ResultERR1T"></span><span id="arrow::Result::Result__TRR"></span><span class="target" id="classarrow_1_1_result_1aa2db3792c16bf783a1c00b7601c35799"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">value</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6Result6ResultERR1T" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Constructs a <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object that contains <code class="docutils literal notranslate"><span class="pre">value</span></code>. </p>
<p>The resulting object is considered to have an OK status. The wrapped element can be accessed with <a class="reference internal" href="#classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"><span class="std std-ref">ValueOrDie()</span></a>.</p>
<p>This constructor is made implicit so that a function with a return type of <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> can return an object of type <code class="docutils literal notranslate"><span class="pre">T</span></code>, implicitly converting it to a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>value</strong> – The value to initialize to. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6Result6ResultERK6Result">
<span id="_CPPv3N5arrow6Result6ResultERK6Result"></span><span id="_CPPv2N5arrow6Result6ResultERK6Result"></span><span id="arrow::Result::Result__ResultCR"></span><span class="target" id="classarrow_1_1_result_1a3b704fa42f04a4e879909db9679e4e95"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow6Result6ResultERK6Result" title="arrow::Result::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6Result6ResultERK6Result" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Copy constructor. </p>
<p>This constructor needs to be explicitly defined because the presence of the move-assignment operator deletes the default copy constructor. In such a scenario, since the deleted copy constructor has stricter binding rules than the templated copy constructor, the templated constructor cannot act as a copy constructor, and any attempt to copy-construct a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a></code> object results in a compilation error.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>other</strong> – The value to copy from. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE">
<span id="_CPPv3I00EN5arrow6Result6ResultERK6ResultI1UE"></span><span id="_CPPv2I00EN5arrow6Result6ResultERK6ResultI1UE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="o"><span class="pre">&amp;&amp;</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">is_convertible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1adc2da9fd8ba3aa86bee18fc9f2c35609"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE" title="arrow::Result::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</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">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4I00EN5arrow6Result6ResultERK6ResultI1UE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Templatized constructor that constructs a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> from a const reference to a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;U&gt;</span></code>. </p>
<p><code class="docutils literal notranslate"><span class="pre">T</span></code> must be implicitly constructible from <code class="docutils literal notranslate"><span class="pre">const</span> <span class="pre">U</span> <span class="pre">&amp;</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>other</strong> – The value to copy from. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6ResultaSERK6Result">
<span id="_CPPv3N5arrow6ResultaSERK6Result"></span><span id="_CPPv2N5arrow6ResultaSERK6Result"></span><span id="arrow::Result::assign-operator__ResultCR"></span><span class="target" id="classarrow_1_1_result_1aa0f557b24864f25b6f641cfccbe8ac1d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">=</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6ResultaSERK6Result" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Copy-assignment operator. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>other</strong> – The <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object to copy. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE">
<span id="_CPPv3I00EN5arrow6Result6ResultERR6ResultI1UE"></span><span id="_CPPv2I00EN5arrow6Result6ResultERR6ResultI1UE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="o"><span class="pre">&amp;&amp;</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">is_convertible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1a336d8e48cd7f713e4f82b26869f715c6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Result</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE" title="arrow::Result::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE" title="arrow::Result::Result::U"><span class="n"><span class="pre">U</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="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4I00EN5arrow6Result6ResultERR6ResultI1UE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Templatized constructor which constructs a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;T&gt;</span></code> by moving the contents of a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref"><span class="pre">Result</span></span></a><span class="pre">&lt;U&gt;</span></code>. </p>
<p><code class="docutils literal notranslate"><span class="pre">T</span></code> must be implicitly constructible from <code class="docutils literal notranslate"><span class="pre">U</span> <span class="pre">&amp;&amp;</span></code>.</p>
<p>Sets <code class="docutils literal notranslate"><span class="pre">other</span></code> to contain a non-OK status with a<code class="docutils literal notranslate"><span class="pre">StatusError::Invalid</span></code> error code.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>other</strong> – The <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object to move from and set to a non-OK status. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow6ResultaSERR6Result">
<span id="_CPPv3N5arrow6ResultaSERR6Result"></span><span id="_CPPv2N5arrow6ResultaSERR6Result"></span><span id="arrow::Result::assign-operator__ResultRR"></span><span class="target" id="classarrow_1_1_result_1a96d8f265891a8a7d3fba447c94ccde75"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">=</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N5arrow6ResultaSERR6Result" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Move-assignment operator. </p>
<p>Sets <code class="docutils literal notranslate"><span class="pre">other</span></code> to an invalid state..</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>other</strong> – The <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object to assign from and set to a non-OK status. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Result6EqualsERK6Result">
<span id="_CPPv3NK5arrow6Result6EqualsERK6Result"></span><span id="_CPPv2NK5arrow6Result6EqualsERK6Result"></span><span id="arrow::Result::Equals__ResultCRC"></span><span class="target" id="classarrow_1_1_result_1a179348089c1f091b6e20d3b576b6593d"></span><span class="k"><span class="pre">inline</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">Equals</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">other</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow6Result6EqualsERK6Result" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Compare to another <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Result2okEv">
<span id="_CPPv3NK5arrow6Result2okEv"></span><span id="_CPPv2NK5arrow6Result2okEv"></span><span id="arrow::Result::okCCE"></span><span class="target" id="classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</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">ok</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="#_CPPv4NK5arrow6Result2okEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Indicates whether the object contains a <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
<p>Generally instead of accessing this directly you will want to use ASSIGN_OR_RAISE defined below.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>True if this <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object’s status is OK (i.e. a call to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> returns true). If this function returns true, then it is safe to access the wrapped element through a call to <a class="reference internal" href="#classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"><span class="std std-ref">ValueOrDie()</span></a>. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow6Result6statusEv">
<span id="_CPPv3NK5arrow6Result6statusEv"></span><span id="_CPPv2NK5arrow6Result6statusEv"></span><span id="arrow::Result::statusCCE"></span><span class="target" id="classarrow_1_1_result_1a6084c0983fad9923a446fc6654690c95"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">constexpr</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">status</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="#_CPPv4NK5arrow6Result6statusEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Equivalent to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a>. </p>
<p>Gets the stored status object, or an OK status if a <code class="docutils literal notranslate"><span class="pre">T</span></code> value is stored.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The stored non-OK status object, or an OK status if this object has a value. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NKR5arrow6Result10ValueOrDieEv">
<span id="_CPPv3NKR5arrow6Result10ValueOrDieEv"></span><span id="_CPPv2NKR5arrow6Result10ValueOrDieEv"></span><span id="arrow::Result::ValueOrDieCR"></span><span class="target" id="classarrow_1_1_result_1a03d0aee5e9074bf75b98f7d35dbc7fd3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">ValueOrDie</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">&amp;</span></span><a class="headerlink" href="#_CPPv4NKR5arrow6Result10ValueOrDieEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Gets the stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
<p>This method should only be called if this <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object’s status is OK (i.e. a call to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> returns true), otherwise this call will abort.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NR5arrow6Result10ValueOrDieEv">
<span id="_CPPv3NR5arrow6Result10ValueOrDieEv"></span><span id="_CPPv2NR5arrow6Result10ValueOrDieEv"></span><span id="arrow::Result::ValueOrDieR"></span><span class="target" id="classarrow_1_1_result_1af06a0a8c358b090595586e91fe85ca42"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">ValueOrDie</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><a class="headerlink" href="#_CPPv4NR5arrow6Result10ValueOrDieEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Gets a mutable reference to the stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
<p>This method should only be called if this <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object’s status is OK (i.e. a call to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> returns true), otherwise this call will abort.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NO5arrow6Result10ValueOrDieEv">
<span id="_CPPv3NO5arrow6Result10ValueOrDieEv"></span><span id="_CPPv2NO5arrow6Result10ValueOrDieEv"></span><span id="arrow::Result::ValueOrDieO"></span><span class="target" id="classarrow_1_1_result_1aeddcd41d61cb41b2fdca0cc814ff03c9"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValueOrDie</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">&amp;&amp;</span></span><a class="headerlink" href="#_CPPv4NO5arrow6Result10ValueOrDieEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Moves and returns the internally-stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
<p>This method should only be called if this <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object’s status is OK (i.e. a call to <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a> returns true), otherwise this call will abort. The <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> object is invalidated after this call and will be updated to contain a non-OK status.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The stored <code class="docutils literal notranslate"><span class="pre">T</span></code> value. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00ENO5arrow6Result5ValueE6StatusP1U">
<span id="_CPPv3I00ENO5arrow6Result5ValueEP1U"></span><span id="_CPPv2I00ENO5arrow6Result5ValueEP1U"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00ENO5arrow6Result5ValueE6StatusP1U" title="arrow::Result::Value::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1a4ba6599a83fc659b24e4336eb06b9ae4"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_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">Value</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I00ENO5arrow6Result5ValueE6StatusP1U" title="arrow::Result::Value::U"><span class="n"><span class="pre">U</span></span></a><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">&amp;&amp;</span></span><a class="headerlink" href="#_CPPv4I00ENO5arrow6Result5ValueE6StatusP1U" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Helper method for implementing <a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> returning functions in terms of semantically equivalent <a class="reference internal" href="#classarrow_1_1_result"><span class="std std-ref">Result</span></a> returning functions. </p>
<p>For example:</p>
<p><a class="reference internal" href="#classarrow_1_1_status"><span class="std std-ref">Status</span></a> GetInt(int *out) { return GetInt().Value(out); } </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NO5arrow6Result7ValueOrE1T">
<span id="_CPPv3NO5arrow6Result7ValueOrE1T"></span><span id="_CPPv2NO5arrow6Result7ValueOrE1T"></span><span id="arrow::Result::ValueOr__TO"></span><span class="target" id="classarrow_1_1_result_1a00ecc57de8813a5e587060f42e036462"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValueOr</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">alternative</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">&amp;&amp;</span></span><a class="headerlink" href="#_CPPv4NO5arrow6Result7ValueOrE1T" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Move and return the internally stored value or alternative if an error is stored. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I0ENO5arrow6Result11ValueOrElseE1TRR1G">
<span id="_CPPv3I0ENO5arrow6Result11ValueOrElseERR1G"></span><span id="_CPPv2I0ENO5arrow6Result11ValueOrElseERR1G"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">G</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1a159c85d9159b5e0a3e7f79a00a3f5314"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValueOrElse</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4I0ENO5arrow6Result11ValueOrElseE1TRR1G" title="arrow::Result::ValueOrElse::G"><span class="n"><span class="pre">G</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">generate_alternative</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">&amp;&amp;</span></span><a class="headerlink" href="#_CPPv4I0ENO5arrow6Result11ValueOrElseE1TRR1G" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Retrieve the value if <a class="reference internal" href="#classarrow_1_1_result_1a6471d04bdf31ac2f47a8ee89b84b262c"><span class="std std-ref">ok()</span></a>, falling back to an alternative generated by the provided factory. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="classarrow_1_1_result_1acf8433bffb09b999c8277866daf77973"></span><span class="sig-name descname"><span class="pre">template&lt;typename</span> <span class="pre">M&gt;</span> <span class="pre">inline</span> <span class="pre">EnsureResult&lt;</span> <span class="pre">decltype(std::declval&lt;</span> <span class="pre">M</span> <span class="pre">&amp;&amp;</span> <span class="pre">&gt;)(std::declval&lt;</span> <span class="pre">T</span> <span class="pre">&amp;&amp;</span> <span class="pre">&gt;)))&gt;::type</span> <span class="pre">Map</span> <span class="pre">(M</span> <span class="pre">&amp;&amp;m)</span> <span class="pre">&amp;&amp;</span></span></dt>
<dd><p>Apply a function to the internally stored value to produce a new result or propagate the stored error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="classarrow_1_1_result_1a4be676a349268d862392b5052d32b0da"></span><span class="sig-name descname"><span class="pre">template&lt;typename</span> <span class="pre">M&gt;</span> <span class="pre">inline</span> <span class="pre">EnsureResult&lt;</span> <span class="pre">decltype(std::declval&lt;</span> <span class="pre">M</span> <span class="pre">&amp;&amp;</span> <span class="pre">&gt;)(std::declval&lt;</span> <span class="pre">const</span> <span class="pre">T</span> <span class="pre">&amp;</span> <span class="pre">&gt;)))&gt;::type</span> <span class="pre">Map</span> <span class="pre">(M</span> <span class="pre">&amp;&amp;m)</span> <span class="pre">const</span> <span class="pre">&amp;</span></span></dt>
<dd><p>Apply a function to the internally stored value to produce a new result or propagate the stored error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00ENO5arrow6Result2AsE6ResultI1UEv">
<span id="_CPPv3I00ENO5arrow6Result2AsEv"></span><span id="_CPPv2I00ENO5arrow6Result2AsEv"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00ENO5arrow6Result2AsE6ResultI1UEv" title="arrow::Result::As::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1a0e0db5c8bc068ebde88df34649150f33"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00ENO5arrow6Result2AsE6ResultI1UEv" title="arrow::Result::As::U"><span class="n"><span class="pre">U</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">As</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">&amp;&amp;</span></span><a class="headerlink" href="#_CPPv4I00ENO5arrow6Result2AsE6ResultI1UEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Cast the internally stored value to produce a new result or propagate the stored error. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I00ENKR5arrow6Result2AsE6ResultI1UEv">
<span id="_CPPv3I00ENKR5arrow6Result2AsEv"></span><span id="_CPPv2I00ENKR5arrow6Result2AsEv"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">U</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">E</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">typename</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_if</span></span><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">is_constructible</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00ENKR5arrow6Result2AsE6ResultI1UEv" title="arrow::Result::As::U"><span class="n"><span class="pre">U</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_result_1a8138e03f2d6f111f8efb46b56980827f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I00ENKR5arrow6Result2AsE6ResultI1UEv" title="arrow::Result::As::U"><span class="n"><span class="pre">U</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">As</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">&amp;</span></span><a class="headerlink" href="#_CPPv4I00ENKR5arrow6Result2AsE6ResultI1UEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Cast the internally stored value to produce a new result or propagate the stored error. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ParquetExceptionE">
<span id="_CPPv3N7parquet16ParquetExceptionE"></span><span id="_CPPv2N7parquet16ParquetExceptionE"></span><span id="parquet::ParquetException"></span><span class="target" id="classparquet_1_1_parquet_exception"></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">ParquetException</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">exception</span></span><a class="headerlink" href="#_CPPv4N7parquet16ParquetExceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Subclassed by parquet::HiddenColumnException, parquet::KeyAccessDeniedException, parquet::ParquetStatusException</p>
</dd></dl>
<section id="functional-macros-for-error-based-control-flow">
<h3>Functional macros for error-based control flow<a class="headerlink" href="#functional-macros-for-error-based-control-flow" title="Permalink to this heading">#</a></h3>
<dl class="cpp macro">
<dt class="sig sig-object cpp" id="c.ARROW_RETURN_NOT_OK">
<span class="target" id="status_8h_1a4a98c16fff26a2c4cf8c26d9244c1cb4"></span><span class="sig-name descname"><span class="n"><span class="pre">ARROW_RETURN_NOT_OK</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">status</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.ARROW_RETURN_NOT_OK" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Propagate any non-successful Status to the caller. </p>
</dd></dl>
<dl class="cpp macro">
<dt class="sig sig-object cpp" id="c.ARROW_ASSIGN_OR_RAISE">
<span class="target" id="result_8h_1aaf9efe9debc83022fad249a0fa56e680"></span><span class="sig-name descname"><span class="n"><span class="pre">ARROW_ASSIGN_OR_RAISE</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">lhs</span></span>, <span class="n"><span class="pre">rexpr</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.ARROW_ASSIGN_OR_RAISE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Execute an expression that returns a Result, extracting its value into the variable defined by <code class="docutils literal notranslate"><span class="pre">lhs</span></code> (or returning a Status on error). </p>
<p>Example: Assigning to a new value: <a class="reference internal" href="#result_8h_1aaf9efe9debc83022fad249a0fa56e680"><span class="std std-ref">ARROW_ASSIGN_OR_RAISE(auto value, MaybeGetValue(arg))</span></a>;</p>
<p>Example: Assigning to an existing value: ValueType value; <a class="reference internal" href="#result_8h_1aaf9efe9debc83022fad249a0fa56e680"><span class="std std-ref">ARROW_ASSIGN_OR_RAISE(value, MaybeGetValue(arg))</span></a>;</p>
<p>WARNING: ARROW_ASSIGN_OR_RAISE expands into multiple statements; it cannot be used in a single statement (e.g. as the body of an if statement without {})!</p>
<p>WARNING: ARROW_ASSIGN_OR_RAISE <code class="docutils literal notranslate"><span class="pre">std::move</span></code>s its right operand. If you have an lvalue Result which you <em>don’t</em> want to move out of cast appropriately.</p>
<p>WARNING: ARROW_ASSIGN_OR_RAISE is not a single expression; it will not maintain lifetimes of all temporaries in <code class="docutils literal notranslate"><span class="pre">rexpr</span></code> (e.g. <code class="docutils literal notranslate"><span class="pre">ARROW_ASSIGN_OR_RAISE(auto</span> <span class="pre">x,</span> <span class="pre">MakeTemp().GetResultRef());</span></code> will most likely segfault)! </p>
</dd></dl>
<dl class="cpp macro">
<dt class="sig sig-object cpp" id="c.PARQUET_THROW_NOT_OK">
<span class="target" id="exception_8h_1af08ee16340a6005cdba9a694f4e14af7"></span><span class="sig-name descname"><span class="n"><span class="pre">PARQUET_THROW_NOT_OK</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">s</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.PARQUET_THROW_NOT_OK" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp macro">
<dt class="sig sig-object cpp" id="c.PARQUET_ASSIGN_OR_THROW">
<span class="target" id="exception_8h_1a01625a07ee3e5c7f3dfa68de421d1948"></span><span class="sig-name descname"><span class="n"><span class="pre">PARQUET_ASSIGN_OR_THROW</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">lhs</span></span>, <span class="n"><span class="pre">rexpr</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.PARQUET_ASSIGN_OR_THROW" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
</section>
</section>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="left-prev"
href="../api.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">API Reference</p>
</div>
</a>
<a class="right-next"
href="memory.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Memory (management)</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<div 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 class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#general-information">General information</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#macro-definitions">Macro definitions</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#runtime-configuration">Runtime Configuration</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#error-return-and-reporting">Error return and reporting</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#functional-macros-for-error-based-control-flow">Functional macros for error-based control flow</a></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/support.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 src="../../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae"></script>
<script src="../../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae"></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-2024 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache feather 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> 6.2.0.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.15.2.
</p></div>
</div>
</div>
</footer>
</body>
</html>