blob: 05d3f41868552ec924dbd4f1a9625f2095109d37 [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>Arrays &#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/array';</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/array.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="Scalars" href="scalar.html" />
<link rel="prev" title="Data Types" href="datatype.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"><a class="reference internal" href="support.html">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 current active"><a class="current reference internal" href="#">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">Arrays</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="arrays">
<h1>Arrays<a class="headerlink" href="#arrays" title="Permalink to this heading">#</a></h1>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9ArrayDataE">
<span id="_CPPv3N5arrow9ArrayDataE"></span><span id="_CPPv2N5arrow9ArrayDataE"></span><span id="arrow::ArrayData"></span><span class="target" id="structarrow_1_1_array_data"></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">ArrayData</span></span></span><a class="headerlink" href="#_CPPv4N5arrow9ArrayDataE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Mutable container for generic Arrow array data. </p>
<p>This data structure is a self-contained representation of the memory and metadata inside an Arrow array data structure (called vectors in Java). The classes <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">arrow::Array</span></a> and its subclasses provide strongly-typed accessors with support for the visitor pattern and other affordances.</p>
<p>This class is designed for easy internal data manipulation, analytical data processing, and data transport to and from IPC messages. For example, we could cast from int64 to float64 like so:</p>
<p>Int64Array arr = GetMyData(); auto new_data = arr.data()-&gt;Copy(); new_data-&gt;type = <a class="reference internal" href="datatype.html#group__type-factories_1gaf8281c031294a423f8161bdf200c050f"><span class="std std-ref">arrow::float64()</span></a>; DoubleArray double_arr(new_data);</p>
<p>This object is also useful in an analytics setting where memory may be reused. For example, if we had a group of operations all returning doubles, say:</p>
<p>Log(Sqrt(Expr(arr)))</p>
<p>Then the low-level implementations of each of these functions could have the signatures</p>
<p>void Log(const ArrayData&amp; values, ArrayData* out);</p>
<p>As another example a function may consume one or more memory buffers in an input array and replace them with newly-allocated data, changing the output data type as well. </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="_CPPv4NK5arrow9ArrayData6CopyToERKNSt10shared_ptrI13MemoryManagerEE">
<span id="_CPPv3NK5arrow9ArrayData6CopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="_CPPv2NK5arrow9ArrayData6CopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="arrow::ArrayData::CopyTo__std::shared_ptr:MemoryManager:CRC"></span><span class="target" id="structarrow_1_1_array_data_1ae731f4c1db1dedd6c5ce237048d4440a"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyTo</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</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">to</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow9ArrayData6CopyToERKNSt10shared_ptrI13MemoryManagerEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Copy all buffers and children recursively to destination <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a>. </p>
<p>This utilizes <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager_1ade50a93d074fd3ccbddad215371784c2"><span class="std std-ref">MemoryManager::CopyBuffer</span></a> to create a new <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> object recursively copying the buffers and all child buffers to the destination memory manager. This includes dictionaries if applicable. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE">
<span id="_CPPv3NK5arrow9ArrayData12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="_CPPv2NK5arrow9ArrayData12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="arrow::ArrayData::ViewOrCopyTo__std::shared_ptr:MemoryManager:CRC"></span><span class="target" id="structarrow_1_1_array_data_1a39d9f6c7e2c0f1143e5259de83fb94cd"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ViewOrCopyTo</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</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">to</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow9ArrayData12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>View or Copy this <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> to destination memory manager. </p>
<p>Tries to view the buffer contents on the given memory manager’s device if possible (to avoid a copy) but falls back to copying if a no-copy view isn’t supported. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData5SliceE7int64_t7int64_t">
<span id="_CPPv3NK5arrow9ArrayData5SliceE7int64_t7int64_t"></span><span id="_CPPv2NK5arrow9ArrayData5SliceE7int64_t7int64_t"></span><span id="arrow::ArrayData::Slice__int64_t.int64_tC"></span><span class="target" id="structarrow_1_1_array_data_1a3824378f24eec957d87864f00fcd3a4e"></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="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</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">Slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow9ArrayData5SliceE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a zero-copy slice of the data with the given offset and length. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData9SliceSafeE7int64_t7int64_t">
<span id="_CPPv3NK5arrow9ArrayData9SliceSafeE7int64_t7int64_t"></span><span id="_CPPv2NK5arrow9ArrayData9SliceSafeE7int64_t7int64_t"></span><span id="arrow::ArrayData::SliceSafe__int64_t.int64_tC"></span><span class="target" id="structarrow_1_1_array_data_1a1f2caf94c229382c9c34edf43cd340b6"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SliceSafe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow9ArrayData9SliceSafeE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Input-checking variant of Slice. </p>
<p>An Invalid <a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> is returned if the requested slice falls out of bounds. Note that unlike Slice, <code class="docutils literal notranslate"><span class="pre">length</span></code> isn’t clamped to the available buffer size. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData12GetNullCountEv">
<span id="_CPPv3NK5arrow9ArrayData12GetNullCountEv"></span><span id="_CPPv2NK5arrow9ArrayData12GetNullCountEv"></span><span id="arrow::ArrayData::GetNullCountC"></span><span class="target" id="structarrow_1_1_array_data_1ae83fbd13ecbe794edf58e4b841fccf0d"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetNullCount</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="#_CPPv4NK5arrow9ArrayData12GetNullCountEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return physical null count, or compute and set it if it’s not known. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData12MayHaveNullsEv">
<span id="_CPPv3NK5arrow9ArrayData12MayHaveNullsEv"></span><span id="_CPPv2NK5arrow9ArrayData12MayHaveNullsEv"></span><span id="arrow::ArrayData::MayHaveNullsC"></span><span class="target" id="structarrow_1_1_array_data_1a7882d38727fdc45ac65d7c49ef218e06"></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">MayHaveNulls</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="#_CPPv4NK5arrow9ArrayData12MayHaveNullsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true if the data has a validity bitmap and the physical null count is known to be non-zero or not yet known. </p>
<p>Note that this is not the same as MayHaveLogicalNulls, which also checks for the presence of nulls in child data for types like unions and run-end encoded types.</p>
<p><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#structarrow_1_1_array_data_1a12c1ec2d84ae1a52c9be8bad19c85ed1"><span class="std std-ref">HasValidityBitmap</span></a></p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#structarrow_1_1_array_data_1a325880d43528908f64a6e176d71aa8bc"><span class="std std-ref">MayHaveLogicalNulls</span></a></p>
</div>
</p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData17HasValidityBitmapEv">
<span id="_CPPv3NK5arrow9ArrayData17HasValidityBitmapEv"></span><span id="_CPPv2NK5arrow9ArrayData17HasValidityBitmapEv"></span><span id="arrow::ArrayData::HasValidityBitmapC"></span><span class="target" id="structarrow_1_1_array_data_1a12c1ec2d84ae1a52c9be8bad19c85ed1"></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">HasValidityBitmap</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="#_CPPv4NK5arrow9ArrayData17HasValidityBitmapEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true if the data has a validity bitmap. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData19MayHaveLogicalNullsEv">
<span id="_CPPv3NK5arrow9ArrayData19MayHaveLogicalNullsEv"></span><span id="_CPPv2NK5arrow9ArrayData19MayHaveLogicalNullsEv"></span><span id="arrow::ArrayData::MayHaveLogicalNullsC"></span><span class="target" id="structarrow_1_1_array_data_1a325880d43528908f64a6e176d71aa8bc"></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">MayHaveLogicalNulls</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="#_CPPv4NK5arrow9ArrayData19MayHaveLogicalNullsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true if the validity bitmap may have 0’s in it, or if the child arrays (in the case of types without a validity bitmap) may have nulls, or if the dictionary of dictionay array may have nulls. </p>
<p>This is not a drop-in replacement for MayHaveNulls, as historically <a class="reference internal" href="#structarrow_1_1_array_data_1a7882d38727fdc45ac65d7c49ef218e06"><span class="std std-ref">MayHaveNulls()</span></a> has been used to check for the presence of a validity bitmap that needs to be checked.</p>
<p>Code that previously used <a class="reference internal" href="#structarrow_1_1_array_data_1a7882d38727fdc45ac65d7c49ef218e06"><span class="std std-ref">MayHaveNulls()</span></a> and then dealt with the validity bitmap directly can be fixed to handle all types correctly without performance degradation when handling most types by adopting HasValidityBitmap and MayHaveLogicalNulls.</p>
<p>Before: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>uint8_t* validity = array.MayHaveNulls() ? array.buffers[0].data : NULLPTR;
for (int64_t i = 0; i &lt; array.length; ++i) {
if (validity &amp;&amp; !bit_util::GetBit(validity, i)) {
continue; // skip a NULL
}
...
}
</pre></div>
</div>
After: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>bool all_valid = !array.MayHaveLogicalNulls();
uint8_t* validity = array.HasValidityBitmap() ? array.buffers[0].data : NULLPTR;
for (int64_t i = 0; i &lt; array.length; ++i) {
bool is_valid = all_valid ||
(validity &amp;&amp; bit_util::GetBit(validity, i)) ||
array.IsValid(i);
if (!is_valid) {
continue; // skip a NULL
}
...
}
</pre></div>
</div>
</p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ArrayData23ComputeLogicalNullCountEv">
<span id="_CPPv3NK5arrow9ArrayData23ComputeLogicalNullCountEv"></span><span id="_CPPv2NK5arrow9ArrayData23ComputeLogicalNullCountEv"></span><span id="arrow::ArrayData::ComputeLogicalNullCountC"></span><span class="target" id="structarrow_1_1_array_data_1ae145117078b358e25dd62e6f3cabbac8"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ComputeLogicalNullCount</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="#_CPPv4NK5arrow9ArrayData23ComputeLogicalNullCountEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Computes the logical null count for arrays of all types including those that do not have a validity bitmap like union and run-end encoded arrays. </p>
<p>If the array has a validity bitmap, this function behaves the same as GetNullCount. For types that have no validity bitmap, this function will recompute the null count every time it is called.</p>
<p><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#structarrow_1_1_array_data_1ae83fbd13ecbe794edf58e4b841fccf0d"><span class="std std-ref">GetNullCount</span></a></p>
</div>
</p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow5ArrayE">
<span id="_CPPv3N5arrow5ArrayE"></span><span id="_CPPv2N5arrow5ArrayE"></span><span id="arrow::Array"></span><span class="target" id="classarrow_1_1_array"></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">Array</span></span></span><a class="headerlink" href="#_CPPv4N5arrow5ArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> base type Immutable data array with some logical type and some length. </p>
<p>Any memory is owned by the respective <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> instance (or its parents).</p>
<p>The base class is only required to have a null bitmap buffer if the null count is greater than 0</p>
<p>If known, the null count can be provided in the base <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> constructor. If the null count is not known, pass -1 to indicate that the null count is to be computed on the first call to <a class="reference internal" href="#classarrow_1_1_array_1a0537d3b69a889b951e88be2fe9f3d96a"><span class="std std-ref">null_count()</span></a></p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_dictionary_array"><span class="std std-ref">arrow::DictionaryArray</span></a>, <a class="reference internal" href="#classarrow_1_1_extension_array"><span class="std std-ref">arrow::ExtensionArray</span></a>, <a class="reference internal" href="#classarrow_1_1_fixed_size_list_array"><span class="std std-ref">arrow::FixedSizeListArray</span></a>, arrow::FlatArray, arrow::RunEndEncodedArray, <a class="reference internal" href="#classarrow_1_1_struct_array"><span class="std std-ref">arrow::StructArray</span></a>, <a class="reference internal" href="#classarrow_1_1_union_array"><span class="std std-ref">arrow::UnionArray</span></a>, <a class="reference internal" href="#classarrow_1_1_var_length_list_like_array"><span class="std std-ref">arrow::VarLengthListLikeArray&lt; TYPE &gt;</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6IsNullE7int64_t">
<span id="_CPPv3NK5arrow5Array6IsNullE7int64_t"></span><span id="_CPPv2NK5arrow5Array6IsNullE7int64_t"></span><span id="arrow::Array::IsNull__int64_tC"></span><span class="target" id="classarrow_1_1_array_1a18c61cd4c8c158a30f30023eabc83acb"></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">IsNull</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array6IsNullE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true if value at index is null. Does not boundscheck. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array7IsValidE7int64_t">
<span id="_CPPv3NK5arrow5Array7IsValidE7int64_t"></span><span id="_CPPv2NK5arrow5Array7IsValidE7int64_t"></span><span id="arrow::Array::IsValid__int64_tC"></span><span class="target" id="classarrow_1_1_array_1ae554bfb313cd6b161f63fb2966dbd662"></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">IsValid</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array7IsValidE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return true if value at index is valid (not null). </p>
<p>Does not boundscheck </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array9GetScalarE7int64_t">
<span id="_CPPv3NK5arrow5Array9GetScalarE7int64_t"></span><span id="_CPPv2NK5arrow5Array9GetScalarE7int64_t"></span><span id="arrow::Array::GetScalar__int64_tC"></span><span class="target" id="classarrow_1_1_array_1a65165e18f7a73cebdf73659427a00db1"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="scalar.html#_CPPv4N5arrow6ScalarE" title="arrow::Scalar"><span class="n"><span class="pre">Scalar</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetScalar</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array9GetScalarE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="scalar.html#structarrow_1_1_scalar"><span class="std std-ref">Scalar</span></a> containing the value of this array at i. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6lengthEv">
<span id="_CPPv3NK5arrow5Array6lengthEv"></span><span id="_CPPv2NK5arrow5Array6lengthEv"></span><span id="arrow::Array::lengthC"></span><span class="target" id="classarrow_1_1_array_1a49c7fb3f73d2d43e7338591c5a8bd8bf"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">length</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="#_CPPv4NK5arrow5Array6lengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Size in the number of elements this array contains. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6offsetEv">
<span id="_CPPv3NK5arrow5Array6offsetEv"></span><span id="_CPPv2NK5arrow5Array6offsetEv"></span><span id="arrow::Array::offsetC"></span><span class="target" id="classarrow_1_1_array_1a1a0c6c1aa06cffd1dcb3813f0d24b2fd"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">offset</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="#_CPPv4NK5arrow5Array6offsetEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A relative position into another array’s data, to enable zero-copy slicing. </p>
<p>This value defaults to zero </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array10null_countEv">
<span id="_CPPv3NK5arrow5Array10null_countEv"></span><span id="_CPPv2NK5arrow5Array10null_countEv"></span><span id="arrow::Array::null_countC"></span><span class="target" id="classarrow_1_1_array_1a0537d3b69a889b951e88be2fe9f3d96a"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">null_count</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="#_CPPv4NK5arrow5Array10null_countEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The number of null entries in the array. </p>
<p>If the null count was not known at time of construction (and set to a negative value), then the null count will be computed and cached on the first invocation of this function </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array23ComputeLogicalNullCountEv">
<span id="_CPPv3NK5arrow5Array23ComputeLogicalNullCountEv"></span><span id="_CPPv2NK5arrow5Array23ComputeLogicalNullCountEv"></span><span id="arrow::Array::ComputeLogicalNullCountC"></span><span class="target" id="classarrow_1_1_array_1aa91bc186985b0d9d1466e3be7fb2d0b0"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ComputeLogicalNullCount</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="#_CPPv4NK5arrow5Array23ComputeLogicalNullCountEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Computes the logical null count for arrays of all types including those that do not have a validity bitmap like union and run-end encoded arrays. </p>
<p>If the array has a validity bitmap, this function behaves the same as <a class="reference internal" href="#classarrow_1_1_array_1a0537d3b69a889b951e88be2fe9f3d96a"><span class="std std-ref">null_count()</span></a>. For types that have no validity bitmap, this function will recompute the null count every time it is called.</p>
<p><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>GetNullCount </p>
</div>
</p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array11null_bitmapEv">
<span id="_CPPv3NK5arrow5Array11null_bitmapEv"></span><span id="_CPPv2NK5arrow5Array11null_bitmapEv"></span><span id="arrow::Array::null_bitmapC"></span><span class="target" id="classarrow_1_1_array_1a932883dcbf5d9c4ded70aef9adcf2946"></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="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">null_bitmap</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="#_CPPv4NK5arrow5Array11null_bitmapEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> for the validity (null) bitmap, if any. </p>
<p>Note that Union types never have a null bitmap.</p>
<p>Note that for <code class="docutils literal notranslate"><span class="pre">null_count</span> <span class="pre">==</span> <span class="pre">0</span></code> or for null type, this will be null. This buffer does not account for any slice offset </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array16null_bitmap_dataEv">
<span id="_CPPv3NK5arrow5Array16null_bitmap_dataEv"></span><span id="_CPPv2NK5arrow5Array16null_bitmap_dataEv"></span><span id="arrow::Array::null_bitmap_dataC"></span><span class="target" id="classarrow_1_1_array_1a7a8838fbc97b9b3b8ca15cb163b2027c"></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">uint8_t</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">null_bitmap_data</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="#_CPPv4NK5arrow5Array16null_bitmap_dataEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Raw pointer to the null bitmap. </p>
<p>Note that for <code class="docutils literal notranslate"><span class="pre">null_count</span> <span class="pre">==</span> <span class="pre">0</span></code> or for null type, this will be null. This buffer does not account for any slice offset </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6EqualsERK5ArrayRK12EqualOptions">
<span id="_CPPv3NK5arrow5Array6EqualsERK5ArrayRK12EqualOptions"></span><span id="_CPPv2NK5arrow5Array6EqualsERK5ArrayRK12EqualOptions"></span><span id="arrow::Array::Equals__ArrayCR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_array_1a686cf58bab513d8ecfe3a285f4562eab"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">&amp;</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array6EqualsERK5ArrayRK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Equality comparison with another array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array4DiffERK5Array">
<span id="_CPPv3NK5arrow5Array4DiffERK5Array"></span><span id="_CPPv2NK5arrow5Array4DiffERK5Array"></span><span id="arrow::Array::Diff__ArrayCRC"></span><span class="target" id="classarrow_1_1_array_1a95ff1c7489e9d2fd5ff52fde1b8b5c46"></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">Diff</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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="#_CPPv4NK5arrow5Array4DiffERK5Array" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the formatted unified diff of arrow::Diff between this <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> and another <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array12ApproxEqualsERKNSt10shared_ptrI5ArrayEERK12EqualOptions">
<span id="_CPPv3NK5arrow5Array12ApproxEqualsERKNSt10shared_ptrI5ArrayEERK12EqualOptions"></span><span id="_CPPv2NK5arrow5Array12ApproxEqualsERKNSt10shared_ptrI5ArrayEERK12EqualOptions"></span><span id="arrow::Array::ApproxEquals__std::shared_ptr:Array:CR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_array_1a381e6469686eccd2545cf1dc171f6cb7"></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">ApproxEquals</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">arr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">&amp;</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array12ApproxEqualsERKNSt10shared_ptrI5ArrayEERK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Approximate equality comparison with another array. </p>
<p>epsilon is only used if this is FloatArray or DoubleArray </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array11RangeEqualsE7int64_t7int64_t7int64_tRK5ArrayRK12EqualOptions">
<span id="_CPPv3NK5arrow5Array11RangeEqualsE7int64_t7int64_t7int64_tRK5ArrayRK12EqualOptions"></span><span id="_CPPv2NK5arrow5Array11RangeEqualsE7int64_t7int64_t7int64_tRK5ArrayRK12EqualOptions"></span><span id="arrow::Array::RangeEquals__int64_t.int64_t.int64_t.ArrayCR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_array_1a4593999b3aec404e9ad3259acff63fa2"></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">RangeEquals</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">start_idx</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">end_idx</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">other_start_idx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">&amp;</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array11RangeEqualsE7int64_t7int64_t7int64_tRK5ArrayRK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Compare if the range of slots specified are equal for the given array and this array. </p>
<p>end_idx exclusive. This methods does not bounds check. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6AcceptEP12ArrayVisitor">
<span id="_CPPv3NK5arrow5Array6AcceptEP12ArrayVisitor"></span><span id="_CPPv2NK5arrow5Array6AcceptEP12ArrayVisitor"></span><span id="arrow::Array::Accept__ArrayVisitorPC"></span><span class="target" id="classarrow_1_1_array_1a168f3ec5c96688dadeaf015692e4bef8"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Accept</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N5arrow12ArrayVisitorE" title="arrow::ArrayVisitor"><span class="n"><span class="pre">ArrayVisitor</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">visitor</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array6AcceptEP12ArrayVisitor" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Apply the <a class="reference internal" href="#classarrow_1_1_array_visitor_1a690c22d9ec35a5cc4526bcd23220d33e"><span class="std std-ref">ArrayVisitor::Visit()</span></a> method specialized to the array type. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array4ViewERKNSt10shared_ptrI8DataTypeEE">
<span id="_CPPv3NK5arrow5Array4ViewERKNSt10shared_ptrI8DataTypeEE"></span><span id="_CPPv2NK5arrow5Array4ViewERKNSt10shared_ptrI8DataTypeEE"></span><span id="arrow::Array::View__std::shared_ptr:DataType:CRC"></span><span class="target" id="classarrow_1_1_array_1aa2b5f248c09a41c089e1fbc911beecb0"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">View</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array4ViewERKNSt10shared_ptrI8DataTypeEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a zero-copy view of this array with the given type. </p>
<p>This method checks if the types are layout-compatible. Nested types are traversed in depth-first order. Data buffers must have the same item sizes, even though the logical types may be different. An error is returned if the types are not layout-compatible. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array6CopyToERKNSt10shared_ptrI13MemoryManagerEE">
<span id="_CPPv3NK5arrow5Array6CopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="_CPPv2NK5arrow5Array6CopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="arrow::Array::CopyTo__std::shared_ptr:MemoryManager:CRC"></span><span class="target" id="classarrow_1_1_array_1a66980f4465e87b6a77e72cb77cff065f"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CopyTo</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</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">to</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array6CopyToERKNSt10shared_ptrI13MemoryManagerEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a copy of the array with all buffers on destination Memory Manager. </p>
<p>This method recursively copies the array’s buffers and those of its children onto the destination <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> device and returns the new <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE">
<span id="_CPPv3NK5arrow5Array12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="_CPPv2NK5arrow5Array12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE"></span><span id="arrow::Array::ViewOrCopyTo__std::shared_ptr:MemoryManager:CRC"></span><span class="target" id="classarrow_1_1_array_1a635f3d9daceda61aee51b2bb08ca874f"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ViewOrCopyTo</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow13MemoryManagerE" title="arrow::MemoryManager"><span class="n"><span class="pre">MemoryManager</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">to</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array12ViewOrCopyToERKNSt10shared_ptrI13MemoryManagerEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a new array attempting to zero-copy view if possible. </p>
<p>Like CopyTo this method recursively goes through all of the array’s buffers and those of it’s children and first attempts to create zero-copy views on the destination <a class="reference internal" href="memory.html#classarrow_1_1_memory_manager"><span class="std std-ref">MemoryManager</span></a> device. If it can’t, it falls back to performing a copy. See <a class="reference internal" href="memory.html#classarrow_1_1_buffer_1ac54ad71b05ab0d1847bc6b8921399752"><span class="std std-ref">Buffer::ViewOrCopy</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array5SliceE7int64_t7int64_t">
<span id="_CPPv3NK5arrow5Array5SliceE7int64_t7int64_t"></span><span id="_CPPv2NK5arrow5Array5SliceE7int64_t7int64_t"></span><span id="arrow::Array::Slice__int64_t.int64_tC"></span><span class="target" id="classarrow_1_1_array_1ae32f72c78fe10ce17f0a817e302e17d1"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">Slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array5SliceE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a zero-copy slice of the array with the indicated offset and length. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offset</strong><strong>[in]</strong> the position of the first element in the constructed slice </p></li>
<li><p><strong>length</strong><strong>[in]</strong> the length of the slice. If there are not enough elements in the array, the length will be adjusted accordingly</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a new object wrapped in std::shared_ptr&lt;Array&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array5SliceE7int64_t">
<span id="_CPPv3NK5arrow5Array5SliceE7int64_t"></span><span id="_CPPv2NK5arrow5Array5SliceE7int64_t"></span><span id="arrow::Array::Slice__int64_tC"></span><span class="target" id="classarrow_1_1_array_1a5cf4c3330e850670aa52dab3b21869ea"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">Slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array5SliceE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Slice from offset until end of the array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array9SliceSafeE7int64_t7int64_t">
<span id="_CPPv3NK5arrow5Array9SliceSafeE7int64_t7int64_t"></span><span id="_CPPv2NK5arrow5Array9SliceSafeE7int64_t7int64_t"></span><span id="arrow::Array::SliceSafe__int64_t.int64_tC"></span><span class="target" id="classarrow_1_1_array_1acfd39e942b28a6deaa737995cd029409"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SliceSafe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array9SliceSafeE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Input-checking variant of <a class="reference internal" href="#classarrow_1_1_array_1ae32f72c78fe10ce17f0a817e302e17d1"><span class="std std-ref">Array::Slice</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array9SliceSafeE7int64_t">
<span id="_CPPv3NK5arrow5Array9SliceSafeE7int64_t"></span><span id="_CPPv2NK5arrow5Array9SliceSafeE7int64_t"></span><span id="arrow::Array::SliceSafe__int64_tC"></span><span class="target" id="classarrow_1_1_array_1ab0280861f5d2a09c9e1d1976f056a88f"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SliceSafe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow5Array9SliceSafeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Input-checking variant of <a class="reference internal" href="#classarrow_1_1_array_1ae32f72c78fe10ce17f0a817e302e17d1"><span class="std std-ref">Array::Slice</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array8ToStringEv">
<span id="_CPPv3NK5arrow5Array8ToStringEv"></span><span id="_CPPv2NK5arrow5Array8ToStringEv"></span><span id="arrow::Array::ToStringC"></span><span class="target" id="classarrow_1_1_array_1a41c7af0e40ac55f2ce11785fea3e051e"></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="#_CPPv4NK5arrow5Array8ToStringEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>PrettyPrint representation of array suitable for debugging </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array8ValidateEv">
<span id="_CPPv3NK5arrow5Array8ValidateEv"></span><span id="_CPPv2NK5arrow5Array8ValidateEv"></span><span id="arrow::Array::ValidateC"></span><span class="target" id="classarrow_1_1_array_1ad62bad8fde2bb8fbd5a52df3fa4bd56c"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</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="#_CPPv4NK5arrow5Array8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Perform cheap validation checks to determine obvious inconsistencies within the array’s internal data. </p>
<p>This is O(k) where k is the number of descendents.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow5Array12ValidateFullEv">
<span id="_CPPv3NK5arrow5Array12ValidateFullEv"></span><span id="_CPPv2NK5arrow5Array12ValidateFullEv"></span><span id="arrow::Array::ValidateFullC"></span><span class="target" id="classarrow_1_1_array_1a793321da66d2d1839e6c89a956e4cb07"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateFull</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="#_CPPv4NK5arrow5Array12ValidateFullEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Perform extensive validation checks to determine inconsistencies within the array’s internal data. </p>
<p>This is potentially O(k*n) where k is the number of descendents and n is the array length.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<section id="factory-functions">
<h2>Factory functions<a class="headerlink" href="#factory-functions" title="Permalink to this heading">#</a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv49MakeArrayRKNSt10shared_ptrI9ArrayDataEE">
<span id="_CPPv39MakeArrayRKNSt10shared_ptrI9ArrayDataEE"></span><span id="_CPPv29MakeArrayRKNSt10shared_ptrI9ArrayDataEE"></span><span id="MakeArray__std::shared_ptr:ArrayData:CR"></span><span class="target" id="group__array-factories_1ga7edcc7f88dec3ddcfcd8ccf1882cb833"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Array</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">MakeArray</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ArrayData</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv49MakeArrayRKNSt10shared_ptrI9ArrayDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a strongly-typed <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> instance from generic <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>data</strong><strong>[in]</strong> the array contents </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the resulting <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> instance </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv415MakeArrayOfNullRKNSt10shared_ptrI8DataTypeEE7int64_tP10MemoryPool">
<span id="_CPPv315MakeArrayOfNullRKNSt10shared_ptrI8DataTypeEE7int64_tP10MemoryPool"></span><span id="_CPPv215MakeArrayOfNullRKNSt10shared_ptrI8DataTypeEE7int64_tP10MemoryPool"></span><span id="MakeArrayOfNull__std::shared_ptr:DataType:CR.int64_t.MemoryPoolP"></span><span class="target" id="group__array-factories_1ga19b8737ab489d01ffc7d216d2d6aabac"></span><span class="n"><span class="pre">Result</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">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Array</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeArrayOfNull</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">DataType</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">type</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span>, <span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_memory_pool</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415MakeArrayOfNullRKNSt10shared_ptrI8DataTypeEE7int64_tP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a strongly-typed <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> instance with all elements null. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong><strong>[in]</strong> the array type </p></li>
<li><p><strong>length</strong><strong>[in]</strong> the array length </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> the memory pool to allocate memory from </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419MakeArrayFromScalarRK6Scalar7int64_tP10MemoryPool">
<span id="_CPPv319MakeArrayFromScalarRK6Scalar7int64_tP10MemoryPool"></span><span id="_CPPv219MakeArrayFromScalarRK6Scalar7int64_tP10MemoryPool"></span><span id="MakeArrayFromScalar__ScalarCR.int64_t.MemoryPoolP"></span><span class="target" id="group__array-factories_1gad32cba2e36a1a755389ec57810cec516"></span><span class="n"><span class="pre">Result</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">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Array</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeArrayFromScalar</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Scalar</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">scalar</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span>, <span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_memory_pool</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419MakeArrayFromScalarRK6Scalar7int64_tP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> instance whose slots are the given scalar. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>scalar</strong><strong>[in]</strong> the value with which to fill the array </p></li>
<li><p><strong>length</strong><strong>[in]</strong> the array length </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> the memory pool to allocate memory from </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv414MakeEmptyArrayNSt10shared_ptrI8DataTypeEEP10MemoryPool">
<span id="_CPPv314MakeEmptyArrayNSt10shared_ptrI8DataTypeEEP10MemoryPool"></span><span id="_CPPv214MakeEmptyArrayNSt10shared_ptrI8DataTypeEEP10MemoryPool"></span><span id="MakeEmptyArray__std::shared_ptr:DataType:.MemoryPoolP"></span><span class="target" id="group__array-factories_1ga168e7dd606daacc5ab9913d8f4b96c43"></span><span class="n"><span class="pre">Result</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">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Array</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeEmptyArray</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><span class="n"><span class="pre">DataType</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span>, <span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_memory_pool</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv414MakeEmptyArrayNSt10shared_ptrI8DataTypeEEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create an empty <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> of a given type. </p>
<p>The output <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> will be of the given type.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong><strong>[in]</strong> the data type of the empty <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a></p></li>
<li><p><strong>pool</strong><strong>[in]</strong> the memory pool to allocate memory from </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the resulting <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a></p>
</dd>
</dl>
</dd></dl>
</section>
<section id="concrete-array-subclasses">
<h2>Concrete array subclasses<a class="headerlink" href="#concrete-array-subclasses" title="Permalink to this heading">#</a></h2>
<section id="primitive-and-temporal">
<h3>Primitive and temporal<a class="headerlink" href="#primitive-and-temporal" title="Permalink to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9NullArrayE">
<span id="_CPPv3N5arrow9NullArrayE"></span><span id="_CPPv2N5arrow9NullArrayE"></span><span id="arrow::NullArray"></span><span class="target" id="classarrow_1_1_null_array"></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">NullArray</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">FlatArray</span></span><a class="headerlink" href="#_CPPv4N5arrow9NullArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Degenerate null type <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12BooleanArrayE">
<span id="_CPPv3N5arrow12BooleanArrayE"></span><span id="_CPPv2N5arrow12BooleanArrayE"></span><span id="arrow::BooleanArray"></span><span class="target" id="classarrow_1_1_boolean_array"></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">BooleanArray</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">PrimitiveArray</span></span><a class="headerlink" href="#_CPPv4N5arrow12BooleanArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for boolean data. </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="_CPPv4NK5arrow12BooleanArray11false_countEv">
<span id="_CPPv3NK5arrow12BooleanArray11false_countEv"></span><span id="_CPPv2NK5arrow12BooleanArray11false_countEv"></span><span id="arrow::BooleanArray::false_countC"></span><span class="target" id="classarrow_1_1_boolean_array_1a681486a5b6e0842b907fbd84cb4cc59a"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">false_count</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="#_CPPv4NK5arrow12BooleanArray11false_countEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the number of false (0) values among the valid values. </p>
<p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a> is not cached. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12BooleanArray10true_countEv">
<span id="_CPPv3NK5arrow12BooleanArray10true_countEv"></span><span id="_CPPv2NK5arrow12BooleanArray10true_countEv"></span><span id="arrow::BooleanArray::true_countC"></span><span class="target" id="classarrow_1_1_boolean_array_1afc9c2a1af99b595a3639921d0e7270fd"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">true_count</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="#_CPPv4NK5arrow12BooleanArray10true_countEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the number of true (1) values among the valid values. </p>
<p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a> is not cached. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv412DecimalArray">
<span id="_CPPv312DecimalArray"></span><span id="_CPPv212DecimalArray"></span><span class="target" id="group__numeric-arrays_1gaa9162b62a545f10bb02754571cd7ec80"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DecimalArray</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">Decimal128Array</span></span><a class="headerlink" href="#_CPPv412DecimalArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15Decimal128ArrayE">
<span id="_CPPv3N5arrow15Decimal128ArrayE"></span><span id="_CPPv2N5arrow15Decimal128ArrayE"></span><span id="arrow::Decimal128Array"></span><span class="target" id="classarrow_1_1_decimal128_array"></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">Decimal128Array</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><a class="reference internal" href="#_CPPv4N5arrow20FixedSizeBinaryArrayE" title="arrow::FixedSizeBinaryArray"><span class="n"><span class="pre">FixedSizeBinaryArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow15Decimal128ArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_decimal.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for 128-bit decimal data. </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="_CPPv4N5arrow15Decimal128Array15Decimal128ArrayERKNSt10shared_ptrI9ArrayDataEE">
<span id="_CPPv3N5arrow15Decimal128Array15Decimal128ArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="_CPPv2N5arrow15Decimal128Array15Decimal128ArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="arrow::Decimal128Array::Decimal128Array__std::shared_ptr:ArrayData:CR"></span><span class="target" id="classarrow_1_1_decimal128_array_1a1520cf3809bc92851ad099403164538a"></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">Decimal128Array</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow15Decimal128Array15Decimal128ArrayERKNSt10shared_ptrI9ArrayDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_decimal128_array"><span class="std std-ref">Decimal128Array</span></a> from <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> instance. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15Decimal256ArrayE">
<span id="_CPPv3N5arrow15Decimal256ArrayE"></span><span id="_CPPv2N5arrow15Decimal256ArrayE"></span><span id="arrow::Decimal256Array"></span><span class="target" id="classarrow_1_1_decimal256_array"></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">Decimal256Array</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><a class="reference internal" href="#_CPPv4N5arrow20FixedSizeBinaryArrayE" title="arrow::FixedSizeBinaryArray"><span class="n"><span class="pre">FixedSizeBinaryArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow15Decimal256ArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_decimal.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for 256-bit decimal data. </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="_CPPv4N5arrow15Decimal256Array15Decimal256ArrayERKNSt10shared_ptrI9ArrayDataEE">
<span id="_CPPv3N5arrow15Decimal256Array15Decimal256ArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="_CPPv2N5arrow15Decimal256Array15Decimal256ArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="arrow::Decimal256Array::Decimal256Array__std::shared_ptr:ArrayData:CR"></span><span class="target" id="classarrow_1_1_decimal256_array_1a12465c17da25b928158e9f80a7fc2347"></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">Decimal256Array</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow15Decimal256Array15Decimal256ArrayERKNSt10shared_ptrI9ArrayDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_decimal256_array"><span class="std std-ref">Decimal256Array</span></a> from <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> instance. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow12NumericArrayE">
<span id="_CPPv3I0EN5arrow12NumericArrayE"></span><span id="_CPPv2I0EN5arrow12NumericArrayE"></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">TYPE</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_numeric_array"></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">NumericArray</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">PrimitiveArray</span></span><a class="headerlink" href="#_CPPv4I0EN5arrow12NumericArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_primitive.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for numeric data with a corresponding C type. </p>
<p>This class is templated on the corresponding <a class="reference internal" href="datatype.html#classarrow_1_1_data_type"><span class="std std-ref">DataType</span></a> subclass for the given data, for example NumericArray&lt;Int8Type&gt; or NumericArray&lt;Date32Type&gt;.</p>
<p>Note that convenience aliases are available for all accepted types (for example Int8Array for NumericArray&lt;Int8Type&gt;). </p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow20DayTimeIntervalArrayE">
<span id="_CPPv3N5arrow20DayTimeIntervalArrayE"></span><span id="_CPPv2N5arrow20DayTimeIntervalArrayE"></span><span id="arrow::DayTimeIntervalArray"></span><span class="target" id="classarrow_1_1_day_time_interval_array"></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">DayTimeIntervalArray</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">PrimitiveArray</span></span><a class="headerlink" href="#_CPPv4N5arrow20DayTimeIntervalArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_primitive.h&gt;</em></div>
<p><a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> of Day and Millisecond values. </p>
<p><em>DayTimeArray </em></p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow25MonthDayNanoIntervalArrayE">
<span id="_CPPv3N5arrow25MonthDayNanoIntervalArrayE"></span><span id="_CPPv2N5arrow25MonthDayNanoIntervalArrayE"></span><span id="arrow::MonthDayNanoIntervalArray"></span><span class="target" id="classarrow_1_1_month_day_nano_interval_array"></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">MonthDayNanoIntervalArray</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">PrimitiveArray</span></span><a class="headerlink" href="#_CPPv4N5arrow25MonthDayNanoIntervalArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_primitive.h&gt;</em></div>
<p><a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> of Month, Day and nanosecond values. </p>
</dd></dl>
</section>
<section id="binary-like">
<h3>Binary-like<a class="headerlink" href="#binary-like" title="Permalink to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow15BaseBinaryArrayE">
<span id="_CPPv3I0EN5arrow15BaseBinaryArrayE"></span><span id="_CPPv2I0EN5arrow15BaseBinaryArrayE"></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">TYPE</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_base_binary_array"></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">BaseBinaryArray</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">FlatArray</span></span><a class="headerlink" href="#_CPPv4I0EN5arrow15BaseBinaryArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Base class for variable-sized binary arrays, regardless of offset size and logical interpretation. </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="_CPPv4NK5arrow15BaseBinaryArray8GetValueE7int64_tP11offset_type">
<span id="_CPPv3NK5arrow15BaseBinaryArray8GetValueE7int64_tP11offset_type"></span><span id="_CPPv2NK5arrow15BaseBinaryArray8GetValueE7int64_tP11offset_type"></span><span id="arrow::BaseBinaryArray::GetValue__int64_t.offset_typePC"></span><span class="target" id="classarrow_1_1_base_binary_array_1aac07633b970ccfb80a93ba291e9cf6a8"></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">uint8_t</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">GetValue</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span>, <span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out_length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray8GetValueE7int64_tP11offset_type" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the pointer to the given elements bytes. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray7GetViewE7int64_t">
<span id="_CPPv3NK5arrow15BaseBinaryArray7GetViewE7int64_t"></span><span id="_CPPv2NK5arrow15BaseBinaryArray7GetViewE7int64_t"></span><span id="arrow::BaseBinaryArray::GetView__int64_tC"></span><span class="target" id="classarrow_1_1_base_binary_array_1ae850d220515b38b78f59937f28c5ce5e"></span><span class="k"><span class="pre">inline</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_view</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetView</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray7GetViewE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get binary value as a string_view. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>i</strong> – the value index </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the view over the selected value </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray5ValueE7int64_t">
<span id="_CPPv3NK5arrow15BaseBinaryArray5ValueE7int64_t"></span><span id="_CPPv2NK5arrow15BaseBinaryArray5ValueE7int64_t"></span><span id="arrow::BaseBinaryArray::Value__int64_tC"></span><span class="target" id="classarrow_1_1_base_binary_array_1aa6066ac95077a6438a989b8ea36c2091"></span><span class="k"><span class="pre">inline</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_view</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Value</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray5ValueE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get binary value as a string_view Provided for consistency with other arrays. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>i</strong> – the value index </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the view over the selected value </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray9GetStringE7int64_t">
<span id="_CPPv3NK5arrow15BaseBinaryArray9GetStringE7int64_t"></span><span id="_CPPv2NK5arrow15BaseBinaryArray9GetStringE7int64_t"></span><span id="arrow::BaseBinaryArray::GetString__int64_tC"></span><span class="target" id="classarrow_1_1_base_binary_array_1a9794e7292b715f60c9d8496e03ab7674"></span><span class="k"><span class="pre">inline</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">GetString</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray9GetStringE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get binary value as a std::string. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>i</strong> – the value index </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the value copied into a std::string </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray13value_offsetsEv">
<span id="_CPPv3NK5arrow15BaseBinaryArray13value_offsetsEv"></span><span id="_CPPv2NK5arrow15BaseBinaryArray13value_offsetsEv"></span><span id="arrow::BaseBinaryArray::value_offsetsC"></span><span class="target" id="classarrow_1_1_base_binary_array_1a6eb3bfc0f9448179d09c101862e61519"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_offsets</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="#_CPPv4NK5arrow15BaseBinaryArray13value_offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray10value_dataEv">
<span id="_CPPv3NK5arrow15BaseBinaryArray10value_dataEv"></span><span id="_CPPv2NK5arrow15BaseBinaryArray10value_dataEv"></span><span id="arrow::BaseBinaryArray::value_dataC"></span><span class="target" id="classarrow_1_1_base_binary_array_1aabfb39b8ed388d9a4d7da3f429c1ea64"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_data</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="#_CPPv4NK5arrow15BaseBinaryArray10value_dataEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray12value_offsetE7int64_t">
<span id="_CPPv3NK5arrow15BaseBinaryArray12value_offsetE7int64_t"></span><span id="_CPPv2NK5arrow15BaseBinaryArray12value_offsetE7int64_t"></span><span id="arrow::BaseBinaryArray::value_offset__int64_tC"></span><span class="target" id="classarrow_1_1_base_binary_array_1a8c492a5b81a3cf56f0bec775f012c4d3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_offset</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray12value_offsetE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the data buffer absolute offset of the data for the value at the passed index. </p>
<p>Does not perform boundschecking </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray12value_lengthE7int64_t">
<span id="_CPPv3NK5arrow15BaseBinaryArray12value_lengthE7int64_t"></span><span id="_CPPv2NK5arrow15BaseBinaryArray12value_lengthE7int64_t"></span><span id="arrow::BaseBinaryArray::value_length__int64_tC"></span><span class="target" id="classarrow_1_1_base_binary_array_1a2c5145c2d8f1572d22c98fe7b489a462"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15BaseBinaryArray12value_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the length of the data for the value at the passed index. </p>
<p>Does not perform boundschecking </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15BaseBinaryArray19total_values_lengthEv">
<span id="_CPPv3NK5arrow15BaseBinaryArray19total_values_lengthEv"></span><span id="_CPPv2NK5arrow15BaseBinaryArray19total_values_lengthEv"></span><span id="arrow::BaseBinaryArray::total_values_lengthC"></span><span class="target" id="classarrow_1_1_base_binary_array_1aed5a4e1d238c1bbbd931253847e133f5"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">total_values_length</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="#_CPPv4NK5arrow15BaseBinaryArray19total_values_lengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the total length of the memory in the data buffer referenced by this array. </p>
<p>If the array has been sliced then this may be less than the size of the data buffer (data_-&gt;buffers[2]). </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11BinaryArrayE">
<span id="_CPPv3N5arrow11BinaryArrayE"></span><span id="_CPPv2N5arrow11BinaryArrayE"></span><span id="arrow::BinaryArray"></span><span class="target" id="classarrow_1_1_binary_array"></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">BinaryArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow15BaseBinaryArrayE" title="arrow::BaseBinaryArray"><span class="n"><span class="pre">BaseBinaryArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow10BinaryTypeE" title="arrow::BinaryType"><span class="n"><span class="pre">BinaryType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow11BinaryArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for variable-size binary data. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_string_array"><span class="std std-ref">arrow::StringArray</span></a></p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11StringArrayE">
<span id="_CPPv3N5arrow11StringArrayE"></span><span id="_CPPv2N5arrow11StringArrayE"></span><span id="arrow::StringArray"></span><span class="target" id="classarrow_1_1_string_array"></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">StringArray</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><a class="reference internal" href="#_CPPv4N5arrow11BinaryArrayE" title="arrow::BinaryArray"><span class="n"><span class="pre">BinaryArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow11StringArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for variable-size string (utf-8) data. </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="_CPPv4NK5arrow11StringArray12ValidateUTF8Ev">
<span id="_CPPv3NK5arrow11StringArray12ValidateUTF8Ev"></span><span id="_CPPv2NK5arrow11StringArray12ValidateUTF8Ev"></span><span id="arrow::StringArray::ValidateUTF8C"></span><span class="target" id="classarrow_1_1_string_array_1a1e5562e4d73cd2a0ac468c562109c326"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateUTF8</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="#_CPPv4NK5arrow11StringArray12ValidateUTF8Ev" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Validate that this array contains only valid UTF8 entries. </p>
<p>This check is also implied by <a class="reference internal" href="#classarrow_1_1_array_1a793321da66d2d1839e6c89a956e4cb07"><span class="std std-ref">ValidateFull()</span></a></p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow16LargeBinaryArrayE">
<span id="_CPPv3N5arrow16LargeBinaryArrayE"></span><span id="_CPPv2N5arrow16LargeBinaryArrayE"></span><span id="arrow::LargeBinaryArray"></span><span class="target" id="classarrow_1_1_large_binary_array"></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">LargeBinaryArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow15BaseBinaryArrayE" title="arrow::BaseBinaryArray"><span class="n"><span class="pre">BaseBinaryArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow15LargeBinaryTypeE" title="arrow::LargeBinaryType"><span class="n"><span class="pre">LargeBinaryType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow16LargeBinaryArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for large variable-size binary data. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_large_string_array"><span class="std std-ref">arrow::LargeStringArray</span></a></p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow16LargeStringArrayE">
<span id="_CPPv3N5arrow16LargeStringArrayE"></span><span id="_CPPv2N5arrow16LargeStringArrayE"></span><span id="arrow::LargeStringArray"></span><span class="target" id="classarrow_1_1_large_string_array"></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">LargeStringArray</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><a class="reference internal" href="#_CPPv4N5arrow16LargeBinaryArrayE" title="arrow::LargeBinaryArray"><span class="n"><span class="pre">LargeBinaryArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow16LargeStringArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for large variable-size string (utf-8) data. </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="_CPPv4NK5arrow16LargeStringArray12ValidateUTF8Ev">
<span id="_CPPv3NK5arrow16LargeStringArray12ValidateUTF8Ev"></span><span id="_CPPv2NK5arrow16LargeStringArray12ValidateUTF8Ev"></span><span id="arrow::LargeStringArray::ValidateUTF8C"></span><span class="target" id="classarrow_1_1_large_string_array_1aeabefba713b919093f00e2ccbf1479eb"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateUTF8</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="#_CPPv4NK5arrow16LargeStringArray12ValidateUTF8Ev" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Validate that this array contains only valid UTF8 entries. </p>
<p>This check is also implied by <a class="reference internal" href="#classarrow_1_1_array_1a793321da66d2d1839e6c89a956e4cb07"><span class="std std-ref">ValidateFull()</span></a></p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15BinaryViewArrayE">
<span id="_CPPv3N5arrow15BinaryViewArrayE"></span><span id="_CPPv2N5arrow15BinaryViewArrayE"></span><span id="arrow::BinaryViewArray"></span><span class="target" id="classarrow_1_1_binary_view_array"></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">BinaryViewArray</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">FlatArray</span></span><a class="headerlink" href="#_CPPv4N5arrow15BinaryViewArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for variable-size binary view data using the <a class="reference internal" href="datatype.html#unionarrow_1_1_binary_view_type_1_1c__type"><span class="std std-ref">BinaryViewType::c_type</span></a> struct to reference in-line or out-of-line string values. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_string_view_array"><span class="std std-ref">arrow::StringViewArray</span></a></p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15StringViewArrayE">
<span id="_CPPv3N5arrow15StringViewArrayE"></span><span id="_CPPv2N5arrow15StringViewArrayE"></span><span id="arrow::StringViewArray"></span><span class="target" id="classarrow_1_1_string_view_array"></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">StringViewArray</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><a class="reference internal" href="#_CPPv4N5arrow15BinaryViewArrayE" title="arrow::BinaryViewArray"><span class="n"><span class="pre">BinaryViewArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow15StringViewArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for variable-size string view (utf-8) data using <a class="reference internal" href="datatype.html#unionarrow_1_1_binary_view_type_1_1c__type"><span class="std std-ref">BinaryViewType::c_type</span></a> to reference in-line or out-of-line string values. </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="_CPPv4NK5arrow15StringViewArray12ValidateUTF8Ev">
<span id="_CPPv3NK5arrow15StringViewArray12ValidateUTF8Ev"></span><span id="_CPPv2NK5arrow15StringViewArray12ValidateUTF8Ev"></span><span id="arrow::StringViewArray::ValidateUTF8C"></span><span class="target" id="classarrow_1_1_string_view_array_1a280bcc2cdb658db51ca6c34b7dc51937"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateUTF8</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="#_CPPv4NK5arrow15StringViewArray12ValidateUTF8Ev" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Validate that this array contains only valid UTF8 entries. </p>
<p>This check is also implied by <a class="reference internal" href="#classarrow_1_1_array_1a793321da66d2d1839e6c89a956e4cb07"><span class="std std-ref">ValidateFull()</span></a></p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow20FixedSizeBinaryArrayE">
<span id="_CPPv3N5arrow20FixedSizeBinaryArrayE"></span><span id="_CPPv2N5arrow20FixedSizeBinaryArrayE"></span><span id="arrow::FixedSizeBinaryArray"></span><span class="target" id="classarrow_1_1_fixed_size_binary_array"></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">FixedSizeBinaryArray</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">PrimitiveArray</span></span><a class="headerlink" href="#_CPPv4N5arrow20FixedSizeBinaryArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_binary.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for fixed-size binary data. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_decimal128_array"><span class="std std-ref">arrow::Decimal128Array</span></a>, <a class="reference internal" href="#classarrow_1_1_decimal256_array"><span class="std std-ref">arrow::Decimal256Array</span></a></p>
</dd></dl>
</section>
<section id="nested">
<h3>Nested<a class="headerlink" href="#nested" title="Permalink to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow22VarLengthListLikeArrayE">
<span id="_CPPv3I0EN5arrow22VarLengthListLikeArrayE"></span><span id="_CPPv2I0EN5arrow22VarLengthListLikeArrayE"></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">TYPE</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_var_length_list_like_array"></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">VarLengthListLikeArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4I0EN5arrow22VarLengthListLikeArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Base class for variable-sized list and list-view arrays, regardless of offset size. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_base_list_array"><span class="std std-ref">arrow::BaseListArray&lt; LargeListType &gt;</span></a>, <a class="reference internal" href="#classarrow_1_1_base_list_array"><span class="std std-ref">arrow::BaseListArray&lt; ListType &gt;</span></a>, <a class="reference internal" href="#classarrow_1_1_base_list_view_array"><span class="std std-ref">arrow::BaseListViewArray&lt; LargeListViewType &gt;</span></a>, <a class="reference internal" href="#classarrow_1_1_base_list_view_array"><span class="std std-ref">arrow::BaseListViewArray&lt; ListViewType &gt;</span></a>, <a class="reference internal" href="#classarrow_1_1_base_list_array"><span class="std std-ref">arrow::BaseListArray&lt; TYPE &gt;</span></a>, <a class="reference internal" href="#classarrow_1_1_base_list_view_array"><span class="std std-ref">arrow::BaseListViewArray&lt; TYPE &gt;</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray6valuesEv">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray6valuesEv"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray6valuesEv"></span><span id="arrow::VarLengthListLikeArray::valuesC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a87acc28e242f27679e8c0997581fe64f"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">values</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="#_CPPv4NK5arrow22VarLengthListLikeArray6valuesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return array object containing the list’s values. </p>
<p>Note that this buffer does not account for any slice offset or length. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray13value_offsetsEv">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray13value_offsetsEv"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray13value_offsetsEv"></span><span id="arrow::VarLengthListLikeArray::value_offsetsC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a27953ca882ff401e478832d3db991dea"></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="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">value_offsets</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="#_CPPv4NK5arrow22VarLengthListLikeArray13value_offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset or length. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray17raw_value_offsetsEv">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray17raw_value_offsetsEv"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray17raw_value_offsetsEv"></span><span id="arrow::VarLengthListLikeArray::raw_value_offsetsC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a558fbac59ab0ccef2c3625f6cf40082b"></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">offset_type</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">raw_value_offsets</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="#_CPPv4NK5arrow22VarLengthListLikeArray17raw_value_offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return pointer to raw value offsets accounting for any slice offset. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray12value_lengthE7int64_t">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray12value_lengthE7int64_t"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray12value_lengthE7int64_t"></span><span id="arrow::VarLengthListLikeArray::value_length__int64_tC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a2ba185eeebed7b647325ec3f0916d757"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></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="#_CPPv4NK5arrow22VarLengthListLikeArray12value_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size of the value at a particular index. </p>
<p>Since non-empty null lists and list-views are possible, avoid calling this function when the list at slot i is null.</p>
<dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray11value_sliceE7int64_t">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray11value_sliceE7int64_t"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray11value_sliceE7int64_t"></span><span id="arrow::VarLengthListLikeArray::value_slice__int64_tC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a3473752fe8d4d2e8deb1c7bc474af484"></span><span class="k"><span class="pre">inline</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">value_slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow22VarLengthListLikeArray11value_sliceE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow22VarLengthListLikeArray18FlattenRecursivelyEP10MemoryPool">
<span id="_CPPv3NK5arrow22VarLengthListLikeArray18FlattenRecursivelyEP10MemoryPool"></span><span id="_CPPv2NK5arrow22VarLengthListLikeArray18FlattenRecursivelyEP10MemoryPool"></span><span id="arrow::VarLengthListLikeArray::FlattenRecursively__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_var_length_list_like_array_1a939e59bad4df4b8ef7f2bab2e75d2e99"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FlattenRecursively</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow22VarLengthListLikeArray18FlattenRecursivelyEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Flatten all level recursively until reach a non-list type, and return a non-list type <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
<p><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>internal::FlattenLogicalListRecursively </p>
</div>
</p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow13BaseListArrayE">
<span id="_CPPv3I0EN5arrow13BaseListArrayE"></span><span id="_CPPv2I0EN5arrow13BaseListArrayE"></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">TYPE</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_base_list_array"></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">BaseListArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow22VarLengthListLikeArrayE" title="arrow::VarLengthListLikeArray"><span class="n"><span class="pre">VarLengthListLikeArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow13BaseListArrayE" title="arrow::BaseListArray::TYPE"><span class="n"><span class="pre">TYPE</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4I0EN5arrow13BaseListArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></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="_CPPv4NK5arrow13BaseListArray12value_lengthE7int64_t">
<span id="_CPPv3NK5arrow13BaseListArray12value_lengthE7int64_t"></span><span id="_CPPv2NK5arrow13BaseListArray12value_lengthE7int64_t"></span><span id="arrow::BaseListArray::value_length__int64_tC"></span><span class="target" id="classarrow_1_1_base_list_array_1a560219367186d397d3faca5d79ebb020"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">final</span></span><a class="headerlink" href="#_CPPv4NK5arrow13BaseListArray12value_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size of the value at a particular index. </p>
<p>Since non-empty null lists are possible, avoid calling this function when the list at slot i is null.</p>
<dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9ListArrayE">
<span id="_CPPv3N5arrow9ListArrayE"></span><span id="_CPPv2N5arrow9ListArrayE"></span><span id="arrow::ListArray"></span><span class="target" id="classarrow_1_1_list_array"></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">ListArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow13BaseListArrayE" title="arrow::BaseListArray"><span class="n"><span class="pre">BaseListArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8ListTypeE" title="arrow::ListType"><span class="n"><span class="pre">ListType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow9ListArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for list data. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_map_array"><span class="std std-ref">arrow::MapArray</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ListArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow9ListArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow9ListArray7FlattenEP10MemoryPool"></span><span id="arrow::ListArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_list_array_1a7b2872001debb71704dec19e59d45fdc"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow9ListArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> that is a concatenation of the lists in this array. </p>
<p>Note that it’s different from <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_var_length_list_like_array_1a87acc28e242f27679e8c0997581fe64f"><span class="std std-ref"><span class="pre">values()</span></span></a></code> in that it takes into consideration of this array’s offsets as well as null elements backed by non-empty lists (they are skipped, thus copying may be needed). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow9ListArray7offsetsEv">
<span id="_CPPv3NK5arrow9ListArray7offsetsEv"></span><span id="_CPPv2NK5arrow9ListArray7offsetsEv"></span><span id="arrow::ListArray::offsetsC"></span><span class="target" id="classarrow_1_1_list_array_1a9521fc11ef38c19dae63928d5f8f951d"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">offsets</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="#_CPPv4NK5arrow9ListArray7offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list offsets as an Int32Array. </p>
<p>The returned array will not have a validity bitmap, so you cannot expect to pass it to <a class="reference internal" href="#classarrow_1_1_list_array_1aba419d8ae9da684393124da07aed82b4"><span class="std std-ref">ListArray::FromArrays()</span></a> and get back the same list array if the original one has nulls. </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="_CPPv4N5arrow9ListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow9ListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow9ListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::ListArray::FromArrays__ArrayCR.ArrayCR.MemoryPoolP.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_list_array_1aba419d8ae9da684393124da07aed82b4"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ListArrayE" title="arrow::ListArray"><span class="n"><span class="pre">ListArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">offsets</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">values</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow9ListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_list_array"><span class="std std-ref">ListArray</span></a> from array of offsets and child value array. </p>
<p>This function does the bare minimum of validation of the offsets and input types, and will allocate a new offsets array if necessary (i.e. if the offsets contain any nulls). If the offsets do not have nulls, they are assumed to be well-formed.</p>
<p>If a null_bitmap is not provided, the nulls will be inferred from the offsets’ null bitmap. But if a null_bitmap is provided, the offsets array can’t have nulls.</p>
<p>And when a null_bitmap is provided, the offsets array cannot be a slice (i.e. an array with <a class="reference internal" href="#classarrow_1_1_array_1a1a0c6c1aa06cffd1dcb3813f0d24b2fd"><span class="std std-ref">offset()</span></a> &gt; 0).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offsets</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing n + 1 offsets encoding length and size. Must be of int32 type </p></li>
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> in case new offsets array needs to be allocated because of null values </p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow9ListArray12FromListViewERK13ListViewArrayP10MemoryPool">
<span id="_CPPv3N5arrow9ListArray12FromListViewERK13ListViewArrayP10MemoryPool"></span><span id="_CPPv2N5arrow9ListArray12FromListViewERK13ListViewArrayP10MemoryPool"></span><span id="arrow::ListArray::FromListView__ListViewArrayCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1_list_array_1a10e2dcfb77baf03b9eec0b9288bd5dad"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ListArrayE" title="arrow::ListArray"><span class="n"><span class="pre">ListArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromListView</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="#_CPPv4N5arrow13ListViewArrayE" title="arrow::ListViewArray"><span class="n"><span class="pre">ListViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">source</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow9ListArray12FromListViewERK13ListViewArrayP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build a <a class="reference internal" href="#classarrow_1_1_list_array"><span class="std std-ref">ListArray</span></a> from a <a class="reference internal" href="#classarrow_1_1_list_view_array"><span class="std std-ref">ListViewArray</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow14LargeListArrayE">
<span id="_CPPv3N5arrow14LargeListArrayE"></span><span id="_CPPv2N5arrow14LargeListArrayE"></span><span id="arrow::LargeListArray"></span><span class="target" id="classarrow_1_1_large_list_array"></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">LargeListArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow13BaseListArrayE" title="arrow::BaseListArray"><span class="n"><span class="pre">BaseListArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow13LargeListTypeE" title="arrow::LargeListType"><span class="n"><span class="pre">LargeListType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow14LargeListArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for large list data (with 64-bit offsets) </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="_CPPv4NK5arrow14LargeListArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow14LargeListArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow14LargeListArray7FlattenEP10MemoryPool"></span><span id="arrow::LargeListArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_large_list_array_1a1c716abdd5eb2a60c6d71590dd6bcf43"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow14LargeListArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> that is a concatenation of the lists in this array. </p>
<p>Note that it’s different from <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_var_length_list_like_array_1a87acc28e242f27679e8c0997581fe64f"><span class="std std-ref"><span class="pre">values()</span></span></a></code> in that it takes into consideration of this array’s offsets as well as null elements backed by non-empty lists (they are skipped, thus copying may be needed). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow14LargeListArray7offsetsEv">
<span id="_CPPv3NK5arrow14LargeListArray7offsetsEv"></span><span id="_CPPv2NK5arrow14LargeListArray7offsetsEv"></span><span id="arrow::LargeListArray::offsetsC"></span><span class="target" id="classarrow_1_1_large_list_array_1a881b29e5cb7fa141b98f09561b97c26b"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">offsets</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="#_CPPv4NK5arrow14LargeListArray7offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list offsets as an Int64Array. </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="_CPPv4N5arrow14LargeListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow14LargeListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow14LargeListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::LargeListArray::FromArrays__ArrayCR.ArrayCR.MemoryPoolP.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_large_list_array_1a0ea7eed4570f2123e95cc0d501f10300"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow14LargeListArrayE" title="arrow::LargeListArray"><span class="n"><span class="pre">LargeListArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">offsets</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">values</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow14LargeListArray10FromArraysERK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_large_list_array"><span class="std std-ref">LargeListArray</span></a> from array of offsets and child value array. </p>
<p>This function does the bare minimum of validation of the offsets and input types, and will allocate a new offsets array if necessary (i.e. if the offsets contain any nulls). If the offsets do not have nulls, they are assumed to be well-formed.</p>
<p>If a null_bitmap is not provided, the nulls will be inferred from the offsets’ null bitmap. But if a null_bitmap is provided, the offsets array can’t have nulls.</p>
<p>And when a null_bitmap is provided, the offsets array cannot be a slice (i.e. an array with <a class="reference internal" href="#classarrow_1_1_array_1a1a0c6c1aa06cffd1dcb3813f0d24b2fd"><span class="std std-ref">offset()</span></a> &gt; 0).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offsets</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing n + 1 offsets encoding length and size. Must be of int64 type </p></li>
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> in case new offsets array needs to be allocated because of null values </p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow14LargeListArray12FromListViewERK18LargeListViewArrayP10MemoryPool">
<span id="_CPPv3N5arrow14LargeListArray12FromListViewERK18LargeListViewArrayP10MemoryPool"></span><span id="_CPPv2N5arrow14LargeListArray12FromListViewERK18LargeListViewArrayP10MemoryPool"></span><span id="arrow::LargeListArray::FromListView__LargeListViewArrayCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1_large_list_array_1a42e6e7de03ec3b43d26bc890eec26d3d"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow14LargeListArrayE" title="arrow::LargeListArray"><span class="n"><span class="pre">LargeListArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromListView</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="#_CPPv4N5arrow18LargeListViewArrayE" title="arrow::LargeListViewArray"><span class="n"><span class="pre">LargeListViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">source</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow14LargeListArray12FromListViewERK18LargeListViewArrayP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build a <a class="reference internal" href="#classarrow_1_1_large_list_array"><span class="std std-ref">LargeListArray</span></a> from a <a class="reference internal" href="#classarrow_1_1_large_list_view_array"><span class="std std-ref">LargeListViewArray</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4I0EN5arrow17BaseListViewArrayE">
<span id="_CPPv3I0EN5arrow17BaseListViewArrayE"></span><span id="_CPPv2I0EN5arrow17BaseListViewArrayE"></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">TYPE</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classarrow_1_1_base_list_view_array"></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">BaseListViewArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow22VarLengthListLikeArrayE" title="arrow::VarLengthListLikeArray"><span class="n"><span class="pre">VarLengthListLikeArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN5arrow17BaseListViewArrayE" title="arrow::BaseListViewArray::TYPE"><span class="n"><span class="pre">TYPE</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4I0EN5arrow17BaseListViewArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></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="_CPPv4NK5arrow17BaseListViewArray11value_sizesEv">
<span id="_CPPv3NK5arrow17BaseListViewArray11value_sizesEv"></span><span id="_CPPv2NK5arrow17BaseListViewArray11value_sizesEv"></span><span id="arrow::BaseListViewArray::value_sizesC"></span><span class="target" id="classarrow_1_1_base_list_view_array_1abca27aa159c0e329728ea84ed0d5a21c"></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="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">value_sizes</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="#_CPPv4NK5arrow17BaseListViewArray11value_sizesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset or length. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow17BaseListViewArray15raw_value_sizesEv">
<span id="_CPPv3NK5arrow17BaseListViewArray15raw_value_sizesEv"></span><span id="_CPPv2NK5arrow17BaseListViewArray15raw_value_sizesEv"></span><span id="arrow::BaseListViewArray::raw_value_sizesC"></span><span class="target" id="classarrow_1_1_base_list_view_array_1aab1cdfcb6c3f5fc02c034015c2ae1bcb"></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">offset_type</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">raw_value_sizes</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="#_CPPv4NK5arrow17BaseListViewArray15raw_value_sizesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return pointer to raw value offsets accounting for any slice offset. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow17BaseListViewArray12value_lengthE7int64_t">
<span id="_CPPv3NK5arrow17BaseListViewArray12value_lengthE7int64_t"></span><span id="_CPPv2NK5arrow17BaseListViewArray12value_lengthE7int64_t"></span><span id="arrow::BaseListViewArray::value_length__int64_tC"></span><span class="target" id="classarrow_1_1_base_list_view_array_1a2c447197f1ae39f05239a4743e4e5ca3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">offset_type</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">final</span></span><a class="headerlink" href="#_CPPv4NK5arrow17BaseListViewArray12value_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size of the value at a particular index. </p>
<p>This should not be called if the list-view at slot i is null. The returned size in those cases could be any value from 0 to the length of the child values array.</p>
<dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow13ListViewArrayE">
<span id="_CPPv3N5arrow13ListViewArrayE"></span><span id="_CPPv2N5arrow13ListViewArrayE"></span><span id="arrow::ListViewArray"></span><span class="target" id="classarrow_1_1_list_view_array"></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">ListViewArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow17BaseListViewArrayE" title="arrow::BaseListViewArray"><span class="n"><span class="pre">BaseListViewArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow12ListViewTypeE" title="arrow::ListViewType"><span class="n"><span class="pre">ListViewType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow13ListViewArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for list-view data. </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="_CPPv4NK5arrow13ListViewArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow13ListViewArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow13ListViewArray7FlattenEP10MemoryPool"></span><span id="arrow::ListViewArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_list_view_array_1a001c43f33fbdec3c89747ebae24f791a"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow13ListViewArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> that is a concatenation of the list-views in this array. </p>
<p>Note that it’s different from <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_var_length_list_like_array_1a87acc28e242f27679e8c0997581fe64f"><span class="std std-ref"><span class="pre">values()</span></span></a></code> in that it takes into consideration this array’s offsets (which can be in any order) and sizes. Nulls are skipped.</p>
<p>This function invokes Concatenate() if list-views are non-contiguous. It will try to minimize the number of array slices passed to Concatenate() by maximizing the size of each slice (containing as many contiguous list-views as possible). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow13ListViewArray7offsetsEv">
<span id="_CPPv3NK5arrow13ListViewArray7offsetsEv"></span><span id="_CPPv2NK5arrow13ListViewArray7offsetsEv"></span><span id="arrow::ListViewArray::offsetsC"></span><span class="target" id="classarrow_1_1_list_view_array_1ac40f7415c5a677e410fd5b1f0f868b62"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">offsets</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="#_CPPv4NK5arrow13ListViewArray7offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list-view offsets as an Int32Array. </p>
<p>The returned array will not have a validity bitmap, so you cannot expect to pass it to <a class="reference internal" href="#classarrow_1_1_list_array_1aba419d8ae9da684393124da07aed82b4"><span class="std std-ref">ListArray::FromArrays()</span></a> and get back the same list array if the original one has nulls. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow13ListViewArray5sizesEv">
<span id="_CPPv3NK5arrow13ListViewArray5sizesEv"></span><span id="_CPPv2NK5arrow13ListViewArray5sizesEv"></span><span id="arrow::ListViewArray::sizesC"></span><span class="target" id="classarrow_1_1_list_view_array_1afc426ad648286e915c3172e45a66925c"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">sizes</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="#_CPPv4NK5arrow13ListViewArray5sizesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list-view sizes as an Int32Array. </p>
<p>The returned array will not have a validity bitmap, so you cannot expect to pass it to <a class="reference internal" href="#classarrow_1_1_list_view_array_1ad31d1242f0259929471e4ccdc071902e"><span class="std std-ref">ListViewArray::FromArrays()</span></a> and get back the same list array if the original one has nulls. </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="_CPPv4N5arrow13ListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow13ListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow13ListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::ListViewArray::FromArrays__ArrayCR.ArrayCR.ArrayCR.MemoryPoolP.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_list_view_array_1ad31d1242f0259929471e4ccdc071902e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow13ListViewArrayE" title="arrow::ListViewArray"><span class="n"><span class="pre">ListViewArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">offsets</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">sizes</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">values</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow13ListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_list_view_array"><span class="std std-ref">ListViewArray</span></a> from array of offsets, sizes, and child value array. </p>
<p>Construct a <a class="reference internal" href="#classarrow_1_1_list_view_array"><span class="std std-ref">ListViewArray</span></a> using buffers from offsets and sizes arrays that project views into the child values array.</p>
<p>This function does the bare minimum of validation of the offsets/sizes and input types. The offset and length of the offsets and sizes arrays must match and that will be checked, but their contents will be assumed to be well-formed.</p>
<p>If a null_bitmap is not provided, the nulls will be inferred from the offsets’s null bitmap. But if a null_bitmap is provided, the offsets array can’t have nulls.</p>
<p>And when a null_bitmap is provided, neither the offsets or sizes array can be a slice (i.e. an array with <a class="reference internal" href="#classarrow_1_1_array_1a1a0c6c1aa06cffd1dcb3813f0d24b2fd"><span class="std std-ref">offset()</span></a> &gt; 0).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offsets</strong><strong>[in]</strong> An array of int32 offsets into the values array. NULL values are supported if the corresponding values in sizes is NULL or 0. </p></li>
<li><p><strong>sizes</strong><strong>[in]</strong> An array containing the int32 sizes of every view. NULL values are taken to represent a NULL list-view in the array being created. </p></li>
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a></p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow13ListViewArray8FromListERK9ListArrayP10MemoryPool">
<span id="_CPPv3N5arrow13ListViewArray8FromListERK9ListArrayP10MemoryPool"></span><span id="_CPPv2N5arrow13ListViewArray8FromListERK9ListArrayP10MemoryPool"></span><span id="arrow::ListViewArray::FromList__ListArrayCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1_list_view_array_1ac0b0f1b246113b425d3bd5aa76eb59be"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow13ListViewArrayE" title="arrow::ListViewArray"><span class="n"><span class="pre">ListViewArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromList</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="#_CPPv4N5arrow9ListArrayE" title="arrow::ListArray"><span class="n"><span class="pre">ListArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">list_array</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow13ListViewArray8FromListERK9ListArrayP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build a <a class="reference internal" href="#classarrow_1_1_list_view_array"><span class="std std-ref">ListViewArray</span></a> from a <a class="reference internal" href="#classarrow_1_1_list_array"><span class="std std-ref">ListArray</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow18LargeListViewArrayE">
<span id="_CPPv3N5arrow18LargeListViewArrayE"></span><span id="_CPPv2N5arrow18LargeListViewArrayE"></span><span id="arrow::LargeListViewArray"></span><span class="target" id="classarrow_1_1_large_list_view_array"></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">LargeListViewArray</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><a class="reference internal" href="#_CPPv4I0EN5arrow17BaseListViewArrayE" title="arrow::BaseListViewArray"><span class="n"><span class="pre">BaseListViewArray</span></span></a><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow17LargeListViewTypeE" title="arrow::LargeListViewType"><span class="n"><span class="pre">LargeListViewType</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow18LargeListViewArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for large list-view data (with 64-bit offsets and sizes) </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="_CPPv4NK5arrow18LargeListViewArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow18LargeListViewArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow18LargeListViewArray7FlattenEP10MemoryPool"></span><span id="arrow::LargeListViewArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_large_list_view_array_1a05b2dc1422dbf52d66ffa73588f01a85"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow18LargeListViewArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> that is a concatenation of the large list-views in this array. </p>
<p>Note that it’s different from <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_var_length_list_like_array_1a87acc28e242f27679e8c0997581fe64f"><span class="std std-ref"><span class="pre">values()</span></span></a></code> in that it takes into consideration this array’s offsets (which can be in any order) and sizes. Nulls are skipped. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18LargeListViewArray7offsetsEv">
<span id="_CPPv3NK5arrow18LargeListViewArray7offsetsEv"></span><span id="_CPPv2NK5arrow18LargeListViewArray7offsetsEv"></span><span id="arrow::LargeListViewArray::offsetsC"></span><span class="target" id="classarrow_1_1_large_list_view_array_1ae15a62acfed4d5eb3a690fdf5c86f3b0"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">offsets</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="#_CPPv4NK5arrow18LargeListViewArray7offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list-view offsets as an Int64Array. </p>
<p>The returned array will not have a validity bitmap, so you cannot expect to pass it to <a class="reference internal" href="#classarrow_1_1_large_list_array_1a0ea7eed4570f2123e95cc0d501f10300"><span class="std std-ref">LargeListArray::FromArrays()</span></a> and get back the same list array if the original one has nulls. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18LargeListViewArray5sizesEv">
<span id="_CPPv3NK5arrow18LargeListViewArray5sizesEv"></span><span id="_CPPv2NK5arrow18LargeListViewArray5sizesEv"></span><span id="arrow::LargeListViewArray::sizesC"></span><span class="target" id="classarrow_1_1_large_list_view_array_1a16a1fc34ca925137c8638f6f02e22111"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">sizes</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="#_CPPv4NK5arrow18LargeListViewArray5sizesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return list-view sizes as an Int64Array. </p>
<p>The returned array will not have a validity bitmap, so you cannot expect to pass it to <a class="reference internal" href="#classarrow_1_1_large_list_view_array_1a4bcf755844cc4a9aaa70558724761baf"><span class="std std-ref">LargeListViewArray::FromArrays()</span></a> and get back the same list array if the original one has nulls. </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="_CPPv4N5arrow18LargeListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow18LargeListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow18LargeListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::LargeListViewArray::FromArrays__ArrayCR.ArrayCR.ArrayCR.MemoryPoolP.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_large_list_view_array_1a4bcf755844cc4a9aaa70558724761baf"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow18LargeListViewArrayE" title="arrow::LargeListViewArray"><span class="n"><span class="pre">LargeListViewArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">offsets</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">sizes</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">values</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow18LargeListViewArray10FromArraysERK5ArrayRK5ArrayRK5ArrayP10MemoryPoolNSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_large_list_view_array"><span class="std std-ref">LargeListViewArray</span></a> from array of offsets, sizes, and child value array. </p>
<p>Construct an <a class="reference internal" href="#classarrow_1_1_large_list_view_array"><span class="std std-ref">LargeListViewArray</span></a> using buffers from offsets and sizes arrays that project views into the values array.</p>
<p>This function does the bare minimum of validation of the offsets/sizes and input types. The offset and length of the offsets and sizes arrays must match and that will be checked, but their contents will be assumed to be well-formed.</p>
<p>If a null_bitmap is not provided, the nulls will be inferred from the offsets’ or sizes’ null bitmap. Only one of these two is allowed to have a null bitmap. But if a null_bitmap is provided, the offsets array and the sizes array can’t have nulls.</p>
<p>And when a null_bitmap is provided, neither the offsets or sizes array can be a slice (i.e. an array with <a class="reference internal" href="#classarrow_1_1_array_1a1a0c6c1aa06cffd1dcb3813f0d24b2fd"><span class="std std-ref">offset()</span></a> &gt; 0).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offsets</strong><strong>[in]</strong> An array of int64 offsets into the values array. NULL values are supported if the corresponding values in sizes is NULL or 0. </p></li>
<li><p><strong>sizes</strong><strong>[in]</strong> An array containing the int64 sizes of every view. NULL values are taken to represent a NULL list-view in the array being created. </p></li>
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a></p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow18LargeListViewArray8FromListERK14LargeListArrayP10MemoryPool">
<span id="_CPPv3N5arrow18LargeListViewArray8FromListERK14LargeListArrayP10MemoryPool"></span><span id="_CPPv2N5arrow18LargeListViewArray8FromListERK14LargeListArrayP10MemoryPool"></span><span id="arrow::LargeListViewArray::FromList__LargeListArrayCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1_large_list_view_array_1a9910592bfcd5a3d199476858f98caa00"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow18LargeListViewArrayE" title="arrow::LargeListViewArray"><span class="n"><span class="pre">LargeListViewArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromList</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="#_CPPv4N5arrow14LargeListArrayE" title="arrow::LargeListArray"><span class="n"><span class="pre">LargeListArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">list_array</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow18LargeListViewArray8FromListERK14LargeListArrayP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build a <a class="reference internal" href="#classarrow_1_1_large_list_view_array"><span class="std std-ref">LargeListViewArray</span></a> from a <a class="reference internal" href="#classarrow_1_1_large_list_array"><span class="std std-ref">LargeListArray</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8MapArrayE">
<span id="_CPPv3N5arrow8MapArrayE"></span><span id="_CPPv2N5arrow8MapArrayE"></span><span id="arrow::MapArray"></span><span class="target" id="classarrow_1_1_map_array"></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">MapArray</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><a class="reference internal" href="#_CPPv4N5arrow9ListArrayE" title="arrow::ListArray"><span class="n"><span class="pre">ListArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow8MapArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for map data. </p>
<p>NB: “value” in this context refers to a pair of a key and the corresponding item </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="_CPPv4NK5arrow8MapArray4keysEv">
<span id="_CPPv3NK5arrow8MapArray4keysEv"></span><span id="_CPPv2NK5arrow8MapArray4keysEv"></span><span id="arrow::MapArray::keysC"></span><span class="target" id="classarrow_1_1_map_array_1a9c93d4834490ca042da552271a6f2600"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">keys</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="#_CPPv4NK5arrow8MapArray4keysEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return array object containing all map keys. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow8MapArray5itemsEv">
<span id="_CPPv3NK5arrow8MapArray5itemsEv"></span><span id="_CPPv2NK5arrow8MapArray5itemsEv"></span><span id="arrow::MapArray::itemsC"></span><span class="target" id="classarrow_1_1_map_array_1a19f5b5df0701d4bfed2b18c277761ecc"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">items</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="#_CPPv4NK5arrow8MapArray5itemsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return array object containing all mapped items. </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="_CPPv4N5arrow8MapArray10FromArraysERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEEP10MemoryPool">
<span id="_CPPv3N5arrow8MapArray10FromArraysERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEEP10MemoryPool"></span><span id="_CPPv2N5arrow8MapArray10FromArraysERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEEP10MemoryPool"></span><span id="arrow::MapArray::FromArrays__std::shared_ptr:Array:CR.std::shared_ptr:Array:CR.std::shared_ptr:Array:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1_map_array_1a37a6db9cc67783877b4b90259bde1f13"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">offsets</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">keys</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">items</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8MapArray10FromArraysERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_map_array"><span class="std std-ref">MapArray</span></a> from array of offsets and child key, item arrays. </p>
<p>This function does the bare minimum of validation of the offsets and input types, and will allocate a new offsets array if necessary (i.e. if the offsets contain any nulls). If the offsets do not have nulls, they are assumed to be well-formed</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offsets</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing n + 1 offsets encoding length and size. Must be of int32 type </p></li>
<li><p><strong>keys</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing key values </p></li>
<li><p><strong>items</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing item values </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> in case new offsets array needs to be allocated because of null values </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8MapArray17ValidateChildDataERKNSt6vectorINSt10shared_ptrI9ArrayDataEEEE">
<span id="_CPPv3N5arrow8MapArray17ValidateChildDataERKNSt6vectorINSt10shared_ptrI9ArrayDataEEEE"></span><span id="_CPPv2N5arrow8MapArray17ValidateChildDataERKNSt6vectorINSt10shared_ptrI9ArrayDataEEEE"></span><span id="arrow::MapArray::ValidateChildData__std::vector:std::shared_ptr:ArrayData::CR"></span><span class="target" id="classarrow_1_1_map_array_1a86ba9f687127e44ec601398a65cd3e8d"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateChildData</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">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="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">child_data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8MapArray17ValidateChildDataERKNSt6vectorINSt10shared_ptrI9ArrayDataEEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Validate child data before constructing the actual <a class="reference internal" href="#classarrow_1_1_map_array"><span class="std std-ref">MapArray</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow18FixedSizeListArrayE">
<span id="_CPPv3N5arrow18FixedSizeListArrayE"></span><span id="_CPPv2N5arrow18FixedSizeListArrayE"></span><span id="arrow::FixedSizeListArray"></span><span class="target" id="classarrow_1_1_fixed_size_list_array"></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">FixedSizeListArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4N5arrow18FixedSizeListArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for fixed size list data. </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="_CPPv4NK5arrow18FixedSizeListArray6valuesEv">
<span id="_CPPv3NK5arrow18FixedSizeListArray6valuesEv"></span><span id="_CPPv2NK5arrow18FixedSizeListArray6valuesEv"></span><span id="arrow::FixedSizeListArray::valuesC"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1a17da9b95cf68231f9c959fd6365f94cb"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">values</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="#_CPPv4NK5arrow18FixedSizeListArray6valuesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return array object containing the list’s values. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18FixedSizeListArray12value_lengthE7int64_t">
<span id="_CPPv3NK5arrow18FixedSizeListArray12value_lengthE7int64_t"></span><span id="_CPPv2NK5arrow18FixedSizeListArray12value_lengthE7int64_t"></span><span id="arrow::FixedSizeListArray::value_length__int64_tC"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1a14069d3cea9a7b8984fdeef97c775fbf"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</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><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow18FixedSizeListArray12value_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the fixed-size of the values. </p>
<p>No matter the value of the index parameter, the result is the same. So even when the value at slot i is null, this function will return a non-zero size.</p>
<dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18FixedSizeListArray11value_sliceE7int64_t">
<span id="_CPPv3NK5arrow18FixedSizeListArray11value_sliceE7int64_t"></span><span id="_CPPv2NK5arrow18FixedSizeListArray11value_sliceE7int64_t"></span><span id="arrow::FixedSizeListArray::value_slice__int64_tC"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1aad8caf0d4af38b0d6230326f891d1a88"></span><span class="k"><span class="pre">inline</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">value_slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow18FixedSizeListArray11value_sliceE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Pre<span class="colon">:</span></dt>
<dd class="field-odd"><p>IsValid(i) </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18FixedSizeListArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow18FixedSizeListArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow18FixedSizeListArray7FlattenEP10MemoryPool"></span><span id="arrow::FixedSizeListArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1a872f2e29b1d6feb865e8c91316a031ce"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow18FixedSizeListArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> that is a concatenation of the lists in this array. </p>
<p>Note that it’s different from <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1_fixed_size_list_array_1a17da9b95cf68231f9c959fd6365f94cb"><span class="std std-ref"><span class="pre">values()</span></span></a></code> in that it takes into consideration null elements (they are skipped, thus copying may be needed). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow18FixedSizeListArray18FlattenRecursivelyEP10MemoryPool">
<span id="_CPPv3NK5arrow18FixedSizeListArray18FlattenRecursivelyEP10MemoryPool"></span><span id="_CPPv2NK5arrow18FixedSizeListArray18FlattenRecursivelyEP10MemoryPool"></span><span id="arrow::FixedSizeListArray::FlattenRecursively__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1a9ff8ad8a6a833e0fbf7097788ca0d38a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FlattenRecursively</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">memory_pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow18FixedSizeListArray18FlattenRecursivelyEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Flatten all level recursively until reach a non-list type, and return a non-list type <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
<p><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>internal::FlattenLogicalListRecursively </p>
</div>
</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="_CPPv4N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEE7int32_tNSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEE7int32_tNSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEE7int32_tNSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::FixedSizeListArray::FromArrays__std::shared_ptr:Array:CR.int32_t.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1a1667304d804bca5c35ef23cc830a48d4"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">values</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">list_size</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEE7int32_tNSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_fixed_size_list_array"><span class="std std-ref">FixedSizeListArray</span></a> from child value array and value_length. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>list_size</strong><strong>[in]</strong> The fixed length of each list </p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Will have length equal to values.length() / list_size </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEENSt10shared_ptrI8DataTypeEENSt10shared_ptrI6BufferEE7int64_t">
<span id="_CPPv3N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEENSt10shared_ptrI8DataTypeEENSt10shared_ptrI6BufferEE7int64_t"></span><span id="_CPPv2N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEENSt10shared_ptrI8DataTypeEENSt10shared_ptrI6BufferEE7int64_t"></span><span id="arrow::FixedSizeListArray::FromArrays__std::shared_ptr:Array:CR.std::shared_ptr:DataType:.std::shared_ptr:Buffer:.int64_t"></span><span class="target" id="classarrow_1_1_fixed_size_list_array_1acdc7b66e5f35a8139c3813f97455fd75"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">values</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="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow18FixedSizeListArray10FromArraysERKNSt10shared_ptrI5ArrayEENSt10shared_ptrI8DataTypeEENSt10shared_ptrI6BufferEE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_fixed_size_list_array"><span class="std std-ref">FixedSizeListArray</span></a> from child value array and type. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>values</strong><strong>[in]</strong> <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> containing list values </p></li>
<li><p><strong>type</strong><strong>[in]</strong> The fixed sized list type </p></li>
<li><p><strong>null_bitmap</strong><strong>[in]</strong> Optional validity bitmap </p></li>
<li><p><strong>null_count</strong><strong>[in]</strong> Optional null count in null_bitmap </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Will have length equal to values.length() / type.list_size() </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11StructArrayE">
<span id="_CPPv3N5arrow11StructArrayE"></span><span id="_CPPv2N5arrow11StructArrayE"></span><span id="arrow::StructArray"></span><span class="target" id="classarrow_1_1_struct_array"></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">StructArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4N5arrow11StructArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for struct data. </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="_CPPv4NK5arrow11StructArray14GetFieldByNameERKNSt6stringE">
<span id="_CPPv3NK5arrow11StructArray14GetFieldByNameERKNSt6stringE"></span><span id="_CPPv2NK5arrow11StructArray14GetFieldByNameERKNSt6stringE"></span><span id="arrow::StructArray::GetFieldByName__ssCRC"></span><span class="target" id="classarrow_1_1_struct_array_1a3ae1f625a93bdc6592821e7e9ef3f054"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">GetFieldByName</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow11StructArray14GetFieldByNameERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Returns null if name not found. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow11StructArray23CanReferenceFieldByNameERKNSt6stringE">
<span id="_CPPv3NK5arrow11StructArray23CanReferenceFieldByNameERKNSt6stringE"></span><span id="_CPPv2NK5arrow11StructArray23CanReferenceFieldByNameERKNSt6stringE"></span><span id="arrow::StructArray::CanReferenceFieldByName__ssCRC"></span><span class="target" id="classarrow_1_1_struct_array_1af1b74775c5c6790f118930696807c0b9"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CanReferenceFieldByName</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow11StructArray23CanReferenceFieldByNameERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Indicate if field named <code class="docutils literal notranslate"><span class="pre">name</span></code> can be found unambiguously in the struct. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow11StructArray25CanReferenceFieldsByNamesERKNSt6vectorINSt6stringEEE">
<span id="_CPPv3NK5arrow11StructArray25CanReferenceFieldsByNamesERKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2NK5arrow11StructArray25CanReferenceFieldsByNamesERKNSt6vectorINSt6stringEEE"></span><span id="arrow::StructArray::CanReferenceFieldsByNames__std::vector:ss:CRC"></span><span class="target" id="classarrow_1_1_struct_array_1a8e61f587543460ca48ce3dfb70a8e8cf"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CanReferenceFieldsByNames</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">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="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">names</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow11StructArray25CanReferenceFieldsByNamesERKNSt6vectorINSt6stringEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Indicate if fields named <code class="docutils literal notranslate"><span class="pre">names</span></code> can be found unambiguously in the struct. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow11StructArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow11StructArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow11StructArray7FlattenEP10MemoryPool"></span><span id="arrow::StructArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_struct_array_1a3f4d5a2dbe3205772c21491160508c66"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ArrayVector</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">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow11StructArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Flatten this array as a vector of arrays, one for each field. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pool</strong><strong>[in]</strong> The pool to allocate null bitmaps from, if necessary </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow11StructArray17GetFlattenedFieldEiP10MemoryPool">
<span id="_CPPv3NK5arrow11StructArray17GetFlattenedFieldEiP10MemoryPool"></span><span id="_CPPv2NK5arrow11StructArray17GetFlattenedFieldEiP10MemoryPool"></span><span id="arrow::StructArray::GetFlattenedField__i.MemoryPoolPC"></span><span class="target" id="classarrow_1_1_struct_array_1adcaff5d152ef9b91b6f638e01cf48334"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFlattenedField</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">index</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow11StructArray17GetFlattenedFieldEiP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get one of the child arrays, combining its null bitmap with the parent struct array’s bitmap. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>index</strong><strong>[in]</strong> Which child array to get </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> The pool to allocate null bitmaps from, if necessary </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11StructArray4MakeERK11ArrayVectorRKNSt6vectorINSt6stringEEENSt10shared_ptrI6BufferEE7int64_t7int64_t">
<span id="_CPPv3N5arrow11StructArray4MakeERK11ArrayVectorRKNSt6vectorINSt6stringEEENSt10shared_ptrI6BufferEE7int64_t7int64_t"></span><span id="_CPPv2N5arrow11StructArray4MakeERK11ArrayVectorRKNSt6vectorINSt6stringEEENSt10shared_ptrI6BufferEE7int64_t7int64_t"></span><span id="arrow::StructArray::Make__ArrayVectorCR.std::vector:ss:CR.std::shared_ptr:Buffer:.int64_t.int64_t"></span><span class="target" id="classarrow_1_1_struct_array_1abc6cf0de6f61122a0d38072c3ac6e4b8"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow11StructArrayE" title="arrow::StructArray"><span class="n"><span class="pre">StructArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">children</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">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="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">field_names</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</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><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow11StructArray4MakeERK11ArrayVectorRKNSt6vectorINSt6stringEEENSt10shared_ptrI6BufferEE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="#classarrow_1_1_struct_array"><span class="std std-ref">StructArray</span></a> from child arrays and field names. </p>
<p>The length and data type are automatically inferred from the arguments. There should be at least one child array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow11StructArray4MakeERK11ArrayVectorRK11FieldVectorNSt10shared_ptrI6BufferEE7int64_t7int64_t">
<span id="_CPPv3N5arrow11StructArray4MakeERK11ArrayVectorRK11FieldVectorNSt10shared_ptrI6BufferEE7int64_t7int64_t"></span><span id="_CPPv2N5arrow11StructArray4MakeERK11ArrayVectorRK11FieldVectorNSt10shared_ptrI6BufferEE7int64_t7int64_t"></span><span id="arrow::StructArray::Make__ArrayVectorCR.FieldVectorCR.std::shared_ptr:Buffer:.int64_t.int64_t"></span><span class="target" id="classarrow_1_1_struct_array_1aa71239a2b33485de51043fd5d4951bbc"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow11StructArrayE" title="arrow::StructArray"><span class="n"><span class="pre">StructArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">children</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">FieldVector</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">fields</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_bitmap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">null_count</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kUnknownNullCount</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</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><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow11StructArray4MakeERK11ArrayVectorRK11FieldVectorNSt10shared_ptrI6BufferEE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="#classarrow_1_1_struct_array"><span class="std std-ref">StructArray</span></a> from child arrays and fields. </p>
<p>The length is automatically inferred from the arguments. There should be at least one child array. This method does not check that field types and child array types are consistent. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow10UnionArrayE">
<span id="_CPPv3N5arrow10UnionArrayE"></span><span id="_CPPv2N5arrow10UnionArrayE"></span><span id="arrow::UnionArray"></span><span class="target" id="classarrow_1_1_union_array"></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">UnionArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4N5arrow10UnionArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Base class for <a class="reference internal" href="#classarrow_1_1_sparse_union_array"><span class="std std-ref">SparseUnionArray</span></a> and <a class="reference internal" href="#classarrow_1_1_dense_union_array"><span class="std std-ref">DenseUnionArray</span></a>. </p>
<p>Subclassed by <a class="reference internal" href="#classarrow_1_1_dense_union_array"><span class="std std-ref">arrow::DenseUnionArray</span></a>, <a class="reference internal" href="#classarrow_1_1_sparse_union_array"><span class="std std-ref">arrow::SparseUnionArray</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow10UnionArray10type_codesEv">
<span id="_CPPv3NK5arrow10UnionArray10type_codesEv"></span><span id="_CPPv2NK5arrow10UnionArray10type_codesEv"></span><span id="arrow::UnionArray::type_codesC"></span><span class="target" id="classarrow_1_1_union_array_1a18907660424873491606edeefb36df13"></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="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">type_codes</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="#_CPPv4NK5arrow10UnionArray10type_codesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow10UnionArray9type_codeE7int64_t">
<span id="_CPPv3NK5arrow10UnionArray9type_codeE7int64_t"></span><span id="_CPPv2NK5arrow10UnionArray9type_codeE7int64_t"></span><span id="arrow::UnionArray::type_code__int64_tC"></span><span class="target" id="classarrow_1_1_union_array_1aedec04a276fe91d9ff8a2736b6b779ad"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">type_code_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">type_code</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow10UnionArray9type_codeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The logical type code of the value at index. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow10UnionArray8child_idE7int64_t">
<span id="_CPPv3NK5arrow10UnionArray8child_idE7int64_t"></span><span id="_CPPv2NK5arrow10UnionArray8child_idE7int64_t"></span><span id="arrow::UnionArray::child_id__int64_tC"></span><span class="target" id="classarrow_1_1_union_array_1abc77f1ae9bfe6f11013adfd48b3f4dc2"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </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">child_id</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow10UnionArray8child_idE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The physical child id containing value at index. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow10UnionArray5fieldEi">
<span id="_CPPv3NK5arrow10UnionArray5fieldEi"></span><span id="_CPPv2NK5arrow10UnionArray5fieldEi"></span><span id="arrow::UnionArray::field__iC"></span><span class="target" id="classarrow_1_1_union_array_1ac1fc5c7ea1e52b0d07a90533fec81ac6"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">field</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">pos</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow10UnionArray5fieldEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the given field as an individual array. </p>
<p>For sparse unions, the returned array has its offset, length and null count adjusted. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow16SparseUnionArrayE">
<span id="_CPPv3N5arrow16SparseUnionArrayE"></span><span id="_CPPv2N5arrow16SparseUnionArrayE"></span><span id="arrow::SparseUnionArray"></span><span class="target" id="classarrow_1_1_sparse_union_array"></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">SparseUnionArray</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><a class="reference internal" href="#_CPPv4N5arrow10UnionArrayE" title="arrow::UnionArray"><span class="n"><span class="pre">UnionArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow16SparseUnionArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for sparse union data. </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="_CPPv4NK5arrow16SparseUnionArray17GetFlattenedFieldEiP10MemoryPool">
<span id="_CPPv3NK5arrow16SparseUnionArray17GetFlattenedFieldEiP10MemoryPool"></span><span id="_CPPv2NK5arrow16SparseUnionArray17GetFlattenedFieldEiP10MemoryPool"></span><span id="arrow::SparseUnionArray::GetFlattenedField__i.MemoryPoolPC"></span><span class="target" id="classarrow_1_1_sparse_union_array_1ad43466419d196a1c5ac075d3c76f7415"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFlattenedField</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">index</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow16SparseUnionArray17GetFlattenedFieldEiP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get one of the child arrays, adjusting its null bitmap where the union array type code does not match. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>index</strong><strong>[in]</strong> Which child array to get (i.e. the physical index, not the type code)</p></li>
<li><p><strong>pool</strong><strong>[in]</strong> The pool to allocate null bitmaps from, if necessary </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorI11type_code_tEE">
<span id="_CPPv3N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorI11type_code_tEE"></span><span id="_CPPv2N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorI11type_code_tEE"></span><span id="arrow::SparseUnionArray::Make__ArrayCR.ArrayVector.std::vector:type_code_t:"></span><span class="target" id="classarrow_1_1_sparse_union_array_1adbed696c461397985312d6fef43dc03a"></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="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">type_ids</span></span>, <span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">children</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">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">type_code_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type_codes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorI11type_code_tEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_sparse_union_array"><span class="std std-ref">SparseUnionArray</span></a> from type_ids and children. </p>
<p>This function does the bare minimum of validation of the input types.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type_ids</strong><strong>[in]</strong> An array of logical type ids for the union type </p></li>
<li><p><strong>children</strong><strong>[in]</strong> Vector of children Arrays containing the data for each type. </p></li>
<li><p><strong>type_codes</strong><strong>[in]</strong> Vector of type codes. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE">
<span id="_CPPv3N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE"></span><span id="_CPPv2N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE"></span><span id="arrow::SparseUnionArray::Make__ArrayCR.ArrayVector.std::vector:ss:.std::vector:type_code_t:"></span><span class="target" id="classarrow_1_1_sparse_union_array_1a94c06844f43e30496710eae0906a96f7"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">type_ids</span></span>, <span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">children</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">vector</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="n sig-param"><span class="pre">field_names</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><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">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">type_code_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type_codes</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow16SparseUnionArray4MakeERK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_sparse_union_array"><span class="std std-ref">SparseUnionArray</span></a> with custom field names from type_ids and children. </p>
<p>This function does the bare minimum of validation of the input types.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type_ids</strong><strong>[in]</strong> An array of logical type ids for the union type </p></li>
<li><p><strong>children</strong><strong>[in]</strong> Vector of children Arrays containing the data for each type. </p></li>
<li><p><strong>field_names</strong><strong>[in]</strong> Vector of strings containing the name of each field. </p></li>
<li><p><strong>type_codes</strong><strong>[in]</strong> Vector of type codes. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15DenseUnionArrayE">
<span id="_CPPv3N5arrow15DenseUnionArrayE"></span><span id="_CPPv2N5arrow15DenseUnionArrayE"></span><span id="arrow::DenseUnionArray"></span><span class="target" id="classarrow_1_1_dense_union_array"></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">DenseUnionArray</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><a class="reference internal" href="#_CPPv4N5arrow10UnionArrayE" title="arrow::UnionArray"><span class="n"><span class="pre">UnionArray</span></span></a><a class="headerlink" href="#_CPPv4N5arrow15DenseUnionArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;arrow/array/array_nested.h&gt;</em></div>
<p>Concrete <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> class for dense union data. </p>
<p>Note that union types do not have a validity bitmap </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="_CPPv4NK5arrow15DenseUnionArray13value_offsetsEv">
<span id="_CPPv3NK5arrow15DenseUnionArray13value_offsetsEv"></span><span id="_CPPv2NK5arrow15DenseUnionArray13value_offsetsEv"></span><span id="arrow::DenseUnionArray::value_offsetsC"></span><span class="target" id="classarrow_1_1_dense_union_array_1a93aaa85693ed4ca381a6da0368450ff0"></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="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">value_offsets</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="#_CPPv4NK5arrow15DenseUnionArray13value_offsetsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Note that this buffer does not account for any slice offset. </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="_CPPv4N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorI11type_code_tEE">
<span id="_CPPv3N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorI11type_code_tEE"></span><span id="_CPPv2N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorI11type_code_tEE"></span><span id="arrow::DenseUnionArray::Make__ArrayCR.ArrayCR.ArrayVector.std::vector:type_code_t:"></span><span class="target" id="classarrow_1_1_dense_union_array_1a5ba8990727571f6006fb59e5198ad600"></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="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">type_ids</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">value_offsets</span></span>, <span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">children</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">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">type_code_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type_codes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorI11type_code_tEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_dense_union_array"><span class="std std-ref">DenseUnionArray</span></a> from type_ids, value_offsets, and children. </p>
<p>This function does the bare minimum of validation of the offsets and input types.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type_ids</strong><strong>[in]</strong> An array of logical type ids for the union type </p></li>
<li><p><strong>value_offsets</strong><strong>[in]</strong> An array of signed int32 values indicating the relative offset into the respective child array for the type in a given slot. The respective offsets for each child value array must be in order / increasing. </p></li>
<li><p><strong>children</strong><strong>[in]</strong> Vector of children Arrays containing the data for each type. </p></li>
<li><p><strong>type_codes</strong><strong>[in]</strong> Vector of type codes. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE">
<span id="_CPPv3N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE"></span><span id="_CPPv2N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE"></span><span id="arrow::DenseUnionArray::Make__ArrayCR.ArrayCR.ArrayVector.std::vector:ss:.std::vector:type_code_t:"></span><span class="target" id="classarrow_1_1_dense_union_array_1a373e0bb9c4ff2687a54a70eb5bd64ad0"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">type_ids</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">value_offsets</span></span>, <span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">children</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">vector</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="n sig-param"><span class="pre">field_names</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><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">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">type_code_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type_codes</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow15DenseUnionArray4MakeERK5ArrayRK5Array11ArrayVectorNSt6vectorINSt6stringEEENSt6vectorI11type_code_tEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_dense_union_array"><span class="std std-ref">DenseUnionArray</span></a> with custom field names from type_ids, value_offsets, and children. </p>
<p>This function does the bare minimum of validation of the offsets and input types.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type_ids</strong><strong>[in]</strong> An array of logical type ids for the union type </p></li>
<li><p><strong>value_offsets</strong><strong>[in]</strong> An array of signed int32 values indicating the relative offset into the respective child array for the type in a given slot. The respective offsets for each child value array must be in order / increasing. </p></li>
<li><p><strong>children</strong><strong>[in]</strong> Vector of children Arrays containing the data for each type. </p></li>
<li><p><strong>field_names</strong><strong>[in]</strong> Vector of strings containing the name of each field. </p></li>
<li><p><strong>type_codes</strong><strong>[in]</strong> Vector of type codes. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="dictionary-encoded">
<h3>Dictionary-encoded<a class="headerlink" href="#dictionary-encoded" title="Permalink to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow15DictionaryArrayE">
<span id="_CPPv3N5arrow15DictionaryArrayE"></span><span id="_CPPv2N5arrow15DictionaryArrayE"></span><span id="arrow::DictionaryArray"></span><span class="target" id="classarrow_1_1_dictionary_array"></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">DictionaryArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4N5arrow15DictionaryArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> type for dictionary-encoded data with a data-dependent dictionary. </p>
<p>A dictionary array contains an array of non-negative integers (the “dictionary indices”) along with a data type containing a “dictionary” corresponding to the distinct values represented in the data.</p>
<p>For example, the array</p>
<p>[“foo”, “bar”, “foo”, “bar”, “foo”, “bar”]</p>
<p>with dictionary [“bar”, “foo”], would have dictionary array representation</p>
<p>indices: [1, 0, 1, 0, 1, 0] dictionary: [“bar”, “foo”]</p>
<p>The indices in principle may be any integer type. </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="_CPPv4NK5arrow15DictionaryArray9TransposeERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEEPK7int32_tP10MemoryPool">
<span id="_CPPv3NK5arrow15DictionaryArray9TransposeERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEEPK7int32_tP10MemoryPool"></span><span id="_CPPv2NK5arrow15DictionaryArray9TransposeERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEEPK7int32_tP10MemoryPool"></span><span id="arrow::DictionaryArray::Transpose__std::shared_ptr:DataType:CR.std::shared_ptr:Array:CR.int32_tCP.MemoryPoolPC"></span><span class="target" id="classarrow_1_1_dictionary_array_1a6f491c929655df6641a03a12c67a6b8d"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Transpose</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">dictionary</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">transpose_map</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15DictionaryArray9TransposeERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEEPK7int32_tP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Transpose this <a class="reference internal" href="#classarrow_1_1_dictionary_array"><span class="std std-ref">DictionaryArray</span></a>. </p>
<p>This method constructs a new dictionary array with the given dictionary type, transposing indices using the transpose map. The type and the transpose map are typically computed using DictionaryUnifier.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong><strong>[in]</strong> the new type object </p></li>
<li><p><strong>dictionary</strong><strong>[in]</strong> the new dictionary </p></li>
<li><p><strong>transpose_map</strong><strong>[in]</strong> transposition array of this array’s indices into the target array’s indices </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a pool to allocate the array data from </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15DictionaryArray17CanCompareIndicesERK15DictionaryArray">
<span id="_CPPv3NK5arrow15DictionaryArray17CanCompareIndicesERK15DictionaryArray"></span><span id="_CPPv2NK5arrow15DictionaryArray17CanCompareIndicesERK15DictionaryArray"></span><span id="arrow::DictionaryArray::CanCompareIndices__DictionaryArrayCRC"></span><span class="target" id="classarrow_1_1_dictionary_array_1a174e8f2555d0833a45e5ad6c49f7ebab"></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">CanCompareIndices</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="#_CPPv4N5arrow15DictionaryArrayE" title="arrow::DictionaryArray"><span class="n"><span class="pre">DictionaryArray</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="#_CPPv4NK5arrow15DictionaryArray17CanCompareIndicesERK15DictionaryArray" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Determine whether dictionary arrays may be compared without unification. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15DictionaryArray10dictionaryEv">
<span id="_CPPv3NK5arrow15DictionaryArray10dictionaryEv"></span><span id="_CPPv2NK5arrow15DictionaryArray10dictionaryEv"></span><span id="arrow::DictionaryArray::dictionaryC"></span><span class="target" id="classarrow_1_1_dictionary_array_1ab73bdf123edf5adf242ad685c7130d65"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">dictionary</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="#_CPPv4NK5arrow15DictionaryArray10dictionaryEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the dictionary for this array, which is stored as a member of the <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> internal structure. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow15DictionaryArray13GetValueIndexE7int64_t">
<span id="_CPPv3NK5arrow15DictionaryArray13GetValueIndexE7int64_t"></span><span id="_CPPv2NK5arrow15DictionaryArray13GetValueIndexE7int64_t"></span><span id="arrow::DictionaryArray::GetValueIndex__int64_tC"></span><span class="target" id="classarrow_1_1_dictionary_array_1afd412221a4087eb6fdb5a369d3763bbe"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetValueIndex</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow15DictionaryArray13GetValueIndexE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the ith value of indices, cast to int64_t. </p>
<p>Not recommended for use in performance-sensitive code. Does not validate whether the value is null or out-of-bounds. </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="_CPPv4N5arrow15DictionaryArray10FromArraysERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEE">
<span id="_CPPv3N5arrow15DictionaryArray10FromArraysERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEE"></span><span id="_CPPv2N5arrow15DictionaryArray10FromArraysERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEE"></span><span id="arrow::DictionaryArray::FromArrays__std::shared_ptr:DataType:CR.std::shared_ptr:Array:CR.std::shared_ptr:Array:CR"></span><span class="target" id="classarrow_1_1_dictionary_array_1ab272b5854125c3d1f62e1d865eff06d7"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FromArrays</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">indices</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">dictionary</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow15DictionaryArray10FromArraysERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEERKNSt10shared_ptrI5ArrayEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct <a class="reference internal" href="#classarrow_1_1_dictionary_array"><span class="std std-ref">DictionaryArray</span></a> from dictionary and indices array and validate. </p>
<p>This function does the validation of the indices and input type. It checks if all indices are non-negative and smaller than the size of the dictionary.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong><strong>[in]</strong> a dictionary type </p></li>
<li><p><strong>dictionary</strong><strong>[in]</strong> the dictionary with same value type as the type object </p></li>
<li><p><strong>indices</strong><strong>[in]</strong> an array of non-negative integers smaller than the size of the dictionary </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="extension-arrays">
<h3>Extension arrays<a class="headerlink" href="#extension-arrays" title="Permalink to this heading">#</a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow14ExtensionArrayE">
<span id="_CPPv3N5arrow14ExtensionArrayE"></span><span id="_CPPv2N5arrow14ExtensionArrayE"></span><span id="arrow::ExtensionArray"></span><span class="target" id="classarrow_1_1_extension_array"></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">ExtensionArray</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><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><a class="headerlink" href="#_CPPv4N5arrow14ExtensionArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Base array class for user-defined extension types. </p>
<p>Subclassed by arrow::extension::FixedShapeTensorArray</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="_CPPv4N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI9ArrayDataEE">
<span id="_CPPv3N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="_CPPv2N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI9ArrayDataEE"></span><span id="arrow::ExtensionArray::ExtensionArray__std::shared_ptr:ArrayData:CR"></span><span class="target" id="classarrow_1_1_extension_array_1ac6430ec3ab5462570daa60ee2f6b125e"></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">ExtensionArray</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow9ArrayDataE" title="arrow::ArrayData"><span class="n"><span class="pre">ArrayData</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI9ArrayDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct an <a class="reference internal" href="#classarrow_1_1_extension_array"><span class="std std-ref">ExtensionArray</span></a> from an <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a>. </p>
<p>The <a class="reference internal" href="#structarrow_1_1_array_data"><span class="std std-ref">ArrayData</span></a> must have the right <a class="reference internal" href="datatype.html#classarrow_1_1_extension_type"><span class="std std-ref">ExtensionType</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEE">
<span id="_CPPv3N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEE"></span><span id="_CPPv2N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEE"></span><span id="arrow::ExtensionArray::ExtensionArray__std::shared_ptr:DataType:CR.std::shared_ptr:Array:CR"></span><span class="target" id="classarrow_1_1_extension_array_1a318ac1dd6329a39c6a5d53efd7ac57cc"></span><span class="sig-name descname"><span class="n"><span class="pre">ExtensionArray</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">storage</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow14ExtensionArray14ExtensionArrayERKNSt10shared_ptrI8DataTypeEERKNSt10shared_ptrI5ArrayEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct an <a class="reference internal" href="#classarrow_1_1_extension_array"><span class="std std-ref">ExtensionArray</span></a> from a type and the underlying storage. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow14ExtensionArray7storageEv">
<span id="_CPPv3NK5arrow14ExtensionArray7storageEv"></span><span id="_CPPv2NK5arrow14ExtensionArray7storageEv"></span><span id="arrow::ExtensionArray::storageC"></span><span class="target" id="classarrow_1_1_extension_array_1aa4fbbe65856982e35a8f170295503614"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">storage</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="#_CPPv4NK5arrow14ExtensionArray7storageEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The physical storage for the extension array. </p>
</dd></dl>
</div>
</dd></dl>
</section>
</section>
<section id="chunked-arrays">
<h2>Chunked Arrays<a class="headerlink" href="#chunked-arrays" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ChunkedArrayE">
<span id="_CPPv3N5arrow12ChunkedArrayE"></span><span id="_CPPv2N5arrow12ChunkedArrayE"></span><span id="arrow::ChunkedArray"></span><span class="target" id="classarrow_1_1_chunked_array"></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">ChunkedArray</span></span></span><a class="headerlink" href="#_CPPv4N5arrow12ChunkedArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A data structure managing a list of primitive Arrow arrays logically as one large array. </p>
<p>Data chunking is treated throughout this project largely as an implementation detail for performance and memory use optimization. <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a> allows <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> objects to be collected and interpreted as a single logical array without requiring an expensive concatenation step.</p>
<p>In some cases, data produced by a function may exceed the capacity of an <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a> (like <a class="reference internal" href="#classarrow_1_1_binary_array"><span class="std std-ref">BinaryArray</span></a> or <a class="reference internal" href="#classarrow_1_1_string_array"><span class="std std-ref">StringArray</span></a>) and so returning multiple Arrays is the only possibility. In these cases, we recommend returning a <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a> instead of vector of Arrays or some alternative.</p>
<p>When data is processed in parallel, it may not be practical or possible to create large contiguous memory allocations and write output into them. With some data types, like binary and string types, it is not possible at all to produce non-chunked array outputs without requiring a concatenation step at the end of processing.</p>
<p>Application developers may tune chunk sizes based on analysis of performance profiles but many developer-users will not need to be especially concerned with the chunking details.</p>
<p>Preserving the chunk layout/sizes in processing steps is generally not considered to be a contract in APIs. A function may decide to alter the chunking of its result. Similarly, APIs accepting multiple <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a> inputs should not expect the chunk layout to be the same in each input. </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="_CPPv4N5arrow12ChunkedArray12ChunkedArrayENSt10shared_ptrI5ArrayEE">
<span id="_CPPv3N5arrow12ChunkedArray12ChunkedArrayENSt10shared_ptrI5ArrayEE"></span><span id="_CPPv2N5arrow12ChunkedArray12ChunkedArrayENSt10shared_ptrI5ArrayEE"></span><span id="arrow::ChunkedArray::ChunkedArray__std::shared_ptr:Array:"></span><span class="target" id="classarrow_1_1_chunked_array_1a2d66448b2733e29fe02d6334defa7e47"></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">ChunkedArray</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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">chunk</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ChunkedArray12ChunkedArrayENSt10shared_ptrI5ArrayEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a chunked array from a single <a class="reference internal" href="#classarrow_1_1_array"><span class="std std-ref">Array</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ChunkedArray12ChunkedArrayE11ArrayVectorNSt10shared_ptrI8DataTypeEE">
<span id="_CPPv3N5arrow12ChunkedArray12ChunkedArrayE11ArrayVectorNSt10shared_ptrI8DataTypeEE"></span><span id="_CPPv2N5arrow12ChunkedArray12ChunkedArrayE11ArrayVectorNSt10shared_ptrI8DataTypeEE"></span><span id="arrow::ChunkedArray::ChunkedArray__ArrayVector.std::shared_ptr:DataType:"></span><span class="target" id="classarrow_1_1_chunked_array_1ac99ea7c3570591bd3dd36fd9ad1392c5"></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">ChunkedArray</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ArrayVector</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">chunks</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="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ChunkedArray12ChunkedArrayE11ArrayVectorNSt10shared_ptrI8DataTypeEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a chunked array from a vector of arrays and an optional data type. </p>
<p>The vector elements must have the same data type. If the data type is passed explicitly, the vector may be empty. If the data type is omitted, the vector must be non-empty. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray6lengthEv">
<span id="_CPPv3NK5arrow12ChunkedArray6lengthEv"></span><span id="_CPPv2NK5arrow12ChunkedArray6lengthEv"></span><span id="arrow::ChunkedArray::lengthC"></span><span class="target" id="classarrow_1_1_chunked_array_1a4df41bf1a05cd1083a2c4502e0a85f87"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">length</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="#_CPPv4NK5arrow12ChunkedArray6lengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the total length of the chunked array; computed on construction </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray10null_countEv">
<span id="_CPPv3NK5arrow12ChunkedArray10null_countEv"></span><span id="_CPPv2NK5arrow12ChunkedArray10null_countEv"></span><span id="arrow::ChunkedArray::null_countC"></span><span class="target" id="classarrow_1_1_chunked_array_1a962541b044ac5a7a6a87499cef7957bb"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">null_count</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="#_CPPv4NK5arrow12ChunkedArray10null_countEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the total number of nulls among all chunks </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray10num_chunksEv">
<span id="_CPPv3NK5arrow12ChunkedArray10num_chunksEv"></span><span id="_CPPv2NK5arrow12ChunkedArray10num_chunksEv"></span><span id="arrow::ChunkedArray::num_chunksC"></span><span class="target" id="classarrow_1_1_chunked_array_1afa477fd2e9a3ce9131d9d7f4391de52b"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </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">num_chunks</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="#_CPPv4NK5arrow12ChunkedArray10num_chunksEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the total number of chunks in the chunked array </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray5chunkEi">
<span id="_CPPv3NK5arrow12ChunkedArray5chunkEi"></span><span id="_CPPv2NK5arrow12ChunkedArray5chunkEi"></span><span id="arrow::ChunkedArray::chunk__iC"></span><span class="target" id="classarrow_1_1_chunked_array_1a62f279c5377f13d9889ef4c845a789bd"></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="#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</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">chunk</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray5chunkEi" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>chunk a particular chunk from the chunked array </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray6chunksEv">
<span id="_CPPv3NK5arrow12ChunkedArray6chunksEv"></span><span id="_CPPv2NK5arrow12ChunkedArray6chunksEv"></span><span id="arrow::ChunkedArray::chunksC"></span><span class="target" id="classarrow_1_1_chunked_array_1af53b92e2594cbe9d84710256e295586a"></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">ArrayVector</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">chunks</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="#_CPPv4NK5arrow12ChunkedArray6chunksEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>an ArrayVector of chunks </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray5SliceE7int64_t7int64_t">
<span id="_CPPv3NK5arrow12ChunkedArray5SliceE7int64_t7int64_t"></span><span id="_CPPv2NK5arrow12ChunkedArray5SliceE7int64_t7int64_t"></span><span id="arrow::ChunkedArray::Slice__int64_t.int64_tC"></span><span class="target" id="classarrow_1_1_chunked_array_1a99573028501f20b3f0707d85e8cce2ad"></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="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</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">Slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">length</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray5SliceE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a zero-copy slice of the chunked array with the indicated offset and length. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offset</strong><strong>[in]</strong> the position of the first element in the constructed slice </p></li>
<li><p><strong>length</strong><strong>[in]</strong> the length of the slice. If there are not enough elements in the chunked array, the length will be adjusted accordingly</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>a new object wrapped in std::shared_ptr&lt;ChunkedArray&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray5SliceE7int64_t">
<span id="_CPPv3NK5arrow12ChunkedArray5SliceE7int64_t"></span><span id="_CPPv2NK5arrow12ChunkedArray5SliceE7int64_t"></span><span id="arrow::ChunkedArray::Slice__int64_tC"></span><span class="target" id="classarrow_1_1_chunked_array_1abf30b26c92cf037191e8574763e22a2e"></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="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</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">Slice</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray5SliceE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Slice from offset until end of the chunked array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray7FlattenEP10MemoryPool">
<span id="_CPPv3NK5arrow12ChunkedArray7FlattenEP10MemoryPool"></span><span id="_CPPv2NK5arrow12ChunkedArray7FlattenEP10MemoryPool"></span><span id="arrow::ChunkedArray::Flatten__MemoryPoolPC"></span><span class="target" id="classarrow_1_1_chunked_array_1ac4fd4aa712dd636d52dc3199c8276c2c"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</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">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flatten</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray7FlattenEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Flatten this chunked array as a vector of chunked arrays, one for each struct field. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pool</strong><strong>[in]</strong> The pool for buffer allocations, if any </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray4ViewERKNSt10shared_ptrI8DataTypeEE">
<span id="_CPPv3NK5arrow12ChunkedArray4ViewERKNSt10shared_ptrI8DataTypeEE"></span><span id="_CPPv2NK5arrow12ChunkedArray4ViewERKNSt10shared_ptrI8DataTypeEE"></span><span id="arrow::ChunkedArray::View__std::shared_ptr:DataType:CRC"></span><span class="target" id="classarrow_1_1_chunked_array_1a6486c77d9ba68feb3a0205691f5bc7d4"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">View</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray4ViewERKNSt10shared_ptrI8DataTypeEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Construct a zero-copy view of this chunked array with the given type. </p>
<p>Calls <a class="reference internal" href="#classarrow_1_1_array_1aa2b5f248c09a41c089e1fbc911beecb0"><span class="std std-ref">Array::View</span></a> on each constituent chunk. Always succeeds if there are zero chunks </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray4typeEv">
<span id="_CPPv3NK5arrow12ChunkedArray4typeEv"></span><span id="_CPPv2NK5arrow12ChunkedArray4typeEv"></span><span id="arrow::ChunkedArray::typeC"></span><span class="target" id="classarrow_1_1_chunked_array_1ab13e35b1d2ee5f5384282d2a42ac470b"></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="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</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">type</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="#_CPPv4NK5arrow12ChunkedArray4typeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the type of the chunked array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray9GetScalarE7int64_t">
<span id="_CPPv3NK5arrow12ChunkedArray9GetScalarE7int64_t"></span><span id="_CPPv2NK5arrow12ChunkedArray9GetScalarE7int64_t"></span><span id="arrow::ChunkedArray::GetScalar__int64_tC"></span><span class="target" id="classarrow_1_1_chunked_array_1a476cfcc68a14fa34bf10325cfa493400"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="scalar.html#_CPPv4N5arrow6ScalarE" title="arrow::Scalar"><span class="n"><span class="pre">Scalar</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetScalar</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">index</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray9GetScalarE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a <a class="reference internal" href="scalar.html#structarrow_1_1_scalar"><span class="std std-ref">Scalar</span></a> containing the value of this array at index. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray6EqualsERK12ChunkedArrayRK12EqualOptions">
<span id="_CPPv3NK5arrow12ChunkedArray6EqualsERK12ChunkedArrayRK12EqualOptions"></span><span id="_CPPv2NK5arrow12ChunkedArray6EqualsERK12ChunkedArrayRK12EqualOptions"></span><span id="arrow::ChunkedArray::Equals__ChunkedArrayCR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_chunked_array_1a5817512c989c7966eecaa5594f0167f8"></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="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">opts</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray6EqualsERK12ChunkedArrayRK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Determine if two chunked arrays are equal. </p>
<p>Two chunked arrays can be equal only if they have equal datatypes. However, they may be equal even if they have different chunkings. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray6EqualsERKNSt10shared_ptrI12ChunkedArrayEERK12EqualOptions">
<span id="_CPPv3NK5arrow12ChunkedArray6EqualsERKNSt10shared_ptrI12ChunkedArrayEERK12EqualOptions"></span><span id="_CPPv2NK5arrow12ChunkedArray6EqualsERKNSt10shared_ptrI12ChunkedArrayEERK12EqualOptions"></span><span id="arrow::ChunkedArray::Equals__std::shared_ptr:ChunkedArray:CR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_chunked_array_1a78192bb8b20dd15a73ae818f393ca15f"></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><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="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">opts</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray6EqualsERKNSt10shared_ptrI12ChunkedArrayEERK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Determine if two chunked arrays are equal. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray12ApproxEqualsERK12ChunkedArrayRK12EqualOptions">
<span id="_CPPv3NK5arrow12ChunkedArray12ApproxEqualsERK12ChunkedArrayRK12EqualOptions"></span><span id="_CPPv2NK5arrow12ChunkedArray12ApproxEqualsERK12ChunkedArrayRK12EqualOptions"></span><span id="arrow::ChunkedArray::ApproxEquals__ChunkedArrayCR.EqualOptionsCRC"></span><span class="target" id="classarrow_1_1_chunked_array_1a5a77f638de57685298c7a074697e01a2"></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">ApproxEquals</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="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">&amp;</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">EqualOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow12ChunkedArray12ApproxEqualsERK12ChunkedArrayRK12EqualOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Determine if two chunked arrays approximately equal. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray8ToStringEv">
<span id="_CPPv3NK5arrow12ChunkedArray8ToStringEv"></span><span id="_CPPv2NK5arrow12ChunkedArray8ToStringEv"></span><span id="arrow::ChunkedArray::ToStringC"></span><span class="target" id="classarrow_1_1_chunked_array_1aba4644e58ea8d1b43080691a4e945ca8"></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="#_CPPv4NK5arrow12ChunkedArray8ToStringEv" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>PrettyPrint representation suitable for debugging </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray8ValidateEv">
<span id="_CPPv3NK5arrow12ChunkedArray8ValidateEv"></span><span id="_CPPv2NK5arrow12ChunkedArray8ValidateEv"></span><span id="arrow::ChunkedArray::ValidateC"></span><span class="target" id="classarrow_1_1_chunked_array_1a06ca5def32987d58b7577db269e39520"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</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="#_CPPv4NK5arrow12ChunkedArray8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Perform cheap validation checks to determine obvious inconsistencies within the chunk array’s internal data. </p>
<p>This is O(k*m) where k is the number of array descendents, and m is the number of chunks.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow12ChunkedArray12ValidateFullEv">
<span id="_CPPv3NK5arrow12ChunkedArray12ValidateFullEv"></span><span id="_CPPv2NK5arrow12ChunkedArray12ValidateFullEv"></span><span id="arrow::ChunkedArray::ValidateFullC"></span><span class="target" id="classarrow_1_1_chunked_array_1a85899961a35888fcdfed462418ba6498"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ValidateFull</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="#_CPPv4NK5arrow12ChunkedArray12ValidateFullEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Perform extensive validation checks to determine inconsistencies within the chunk array’s internal data. </p>
<p>This is O(k*n) where k is the number of array descendents, and n is the length in elements.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ChunkedArray9MakeEmptyENSt10shared_ptrI8DataTypeEEP10MemoryPool">
<span id="_CPPv3N5arrow12ChunkedArray9MakeEmptyENSt10shared_ptrI8DataTypeEEP10MemoryPool"></span><span id="_CPPv2N5arrow12ChunkedArray9MakeEmptyENSt10shared_ptrI8DataTypeEEP10MemoryPool"></span><span id="arrow::ChunkedArray::MakeEmpty__std::shared_ptr:DataType:.MemoryPoolP"></span><span class="target" id="classarrow_1_1_chunked_array_1a9c06e3103a0fa2c18c0a7e13897562e3"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeEmpty</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="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ChunkedArray9MakeEmptyENSt10shared_ptrI8DataTypeEEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create an empty <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a> of a given type. </p>
<p>The output <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a> will have one chunk with an empty array of the given type.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong><strong>[in]</strong> the data type of the empty <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a></p></li>
<li><p><strong>pool</strong><strong>[in]</strong> the memory pool to allocate memory from </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the resulting <a class="reference internal" href="#classarrow_1_1_chunked_array"><span class="std std-ref">ChunkedArray</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitorE">
<span id="_CPPv3N5arrow12ArrayVisitorE"></span><span id="_CPPv2N5arrow12ArrayVisitorE"></span><span id="arrow::ArrayVisitor"></span><span class="target" id="classarrow_1_1_array_visitor"></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">ArrayVisitor</span></span></span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Abstract array visitor class. </p>
<p>Subclass this to create a visitor that can be used with the <a class="reference internal" href="#classarrow_1_1_array_1a168f3ec5c96688dadeaf015692e4bef8"><span class="std std-ref">Array::Accept()</span></a> method. </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="_CPPv4N5arrow12ArrayVisitorD0Ev">
<span id="_CPPv3N5arrow12ArrayVisitorD0Ev"></span><span id="_CPPv2N5arrow12ArrayVisitorD0Ev"></span><span id="arrow::ArrayVisitor::~ArrayVisitor"></span><span class="target" id="classarrow_1_1_array_visitor_1a7b975f4293f80d1d88149ae2903ba149"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">~ArrayVisitor</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">default</span></span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitorD0Ev" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK9NullArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK9NullArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK9NullArray"></span><span id="arrow::ArrayVisitor::Visit__NullArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a690c22d9ec35a5cc4526bcd23220d33e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow9NullArrayE" title="arrow::NullArray"><span class="n"><span class="pre">NullArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK9NullArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK12BooleanArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK12BooleanArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK12BooleanArray"></span><span id="arrow::ArrayVisitor::Visit__BooleanArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a4d77c717f2c09fd96d16b50fe69654d4"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow12BooleanArrayE" title="arrow::BooleanArray"><span class="n"><span class="pre">BooleanArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK12BooleanArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK9Int8Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK9Int8Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK9Int8Array"></span><span id="arrow::ArrayVisitor::Visit__Int8ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1af4735cbc36ad83a46ef8959bef0a7ac5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Int8Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK9Int8Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK10Int16Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK10Int16Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK10Int16Array"></span><span id="arrow::ArrayVisitor::Visit__Int16ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a9b64c57162178a081d88ba829255a6c1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Int16Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK10Int16Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK10Int32Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK10Int32Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK10Int32Array"></span><span id="arrow::ArrayVisitor::Visit__Int32ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3168a74c4334eaafd5c355edd122f283"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Int32Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK10Int32Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK10Int64Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK10Int64Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK10Int64Array"></span><span id="arrow::ArrayVisitor::Visit__Int64ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a8b80c651bf6ec0ee161d9705d7645a0e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Int64Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK10Int64Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK10UInt8Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK10UInt8Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK10UInt8Array"></span><span id="arrow::ArrayVisitor::Visit__UInt8ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a51f37df80aba4ec84b123c2d10120314"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">UInt8Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK10UInt8Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt16Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11UInt16Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11UInt16Array"></span><span id="arrow::ArrayVisitor::Visit__UInt16ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1ad3bc1475e7b037ae7a4ab39f93c1a83a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">UInt16Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt16Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt32Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11UInt32Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11UInt32Array"></span><span id="arrow::ArrayVisitor::Visit__UInt32ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a38502acbe8ac3168f1b6019b84e3fa15"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">UInt32Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt32Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt64Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11UInt64Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11UInt64Array"></span><span id="arrow::ArrayVisitor::Visit__UInt64ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1af3355af649f0ffb9fc25abc0ce43150d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">UInt64Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11UInt64Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK14HalfFloatArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK14HalfFloatArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK14HalfFloatArray"></span><span id="arrow::ArrayVisitor::Visit__HalfFloatArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3c9f62a9cd353c6582c2c03e796b8c27"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">HalfFloatArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK14HalfFloatArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK10FloatArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK10FloatArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK10FloatArray"></span><span id="arrow::ArrayVisitor::Visit__FloatArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a6b7342d2b0f8d4eae21de14b1fad1375"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">FloatArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK10FloatArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11DoubleArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11DoubleArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11DoubleArray"></span><span id="arrow::ArrayVisitor::Visit__DoubleArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a7796c6346a31c6c46b406447470e9180"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">DoubleArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11DoubleArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11StringArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11StringArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11StringArray"></span><span id="arrow::ArrayVisitor::Visit__StringArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1ae9c9d924cc1186c24b5c2f0df5b31f61"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow11StringArrayE" title="arrow::StringArray"><span class="n"><span class="pre">StringArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11StringArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15StringViewArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15StringViewArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15StringViewArray"></span><span id="arrow::ArrayVisitor::Visit__StringViewArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a9856e9a3981b9c639189ce67439a74da"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15StringViewArrayE" title="arrow::StringViewArray"><span class="n"><span class="pre">StringViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15StringViewArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11BinaryArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11BinaryArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11BinaryArray"></span><span id="arrow::ArrayVisitor::Visit__BinaryArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3a761433208b02d3db81610feaf1bf7c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow11BinaryArrayE" title="arrow::BinaryArray"><span class="n"><span class="pre">BinaryArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11BinaryArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15BinaryViewArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15BinaryViewArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15BinaryViewArray"></span><span id="arrow::ArrayVisitor::Visit__BinaryViewArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3bb895a1e6a12f0f419195ec6428a15c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15BinaryViewArrayE" title="arrow::BinaryViewArray"><span class="n"><span class="pre">BinaryViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15BinaryViewArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK16LargeStringArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK16LargeStringArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK16LargeStringArray"></span><span id="arrow::ArrayVisitor::Visit__LargeStringArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a37195bea4e8cdc03c279ece29a586297"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow16LargeStringArrayE" title="arrow::LargeStringArray"><span class="n"><span class="pre">LargeStringArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK16LargeStringArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK16LargeBinaryArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK16LargeBinaryArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK16LargeBinaryArray"></span><span id="arrow::ArrayVisitor::Visit__LargeBinaryArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a95af2b860d0010179f7ebc0862117012"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow16LargeBinaryArrayE" title="arrow::LargeBinaryArray"><span class="n"><span class="pre">LargeBinaryArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK16LargeBinaryArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK20FixedSizeBinaryArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK20FixedSizeBinaryArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK20FixedSizeBinaryArray"></span><span id="arrow::ArrayVisitor::Visit__FixedSizeBinaryArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a56032c1c5e8dc65ea1d59dd0fd94ce13"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow20FixedSizeBinaryArrayE" title="arrow::FixedSizeBinaryArray"><span class="n"><span class="pre">FixedSizeBinaryArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK20FixedSizeBinaryArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11Date32Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11Date32Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11Date32Array"></span><span id="arrow::ArrayVisitor::Visit__Date32ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a56d0cc3c40b5c4d703b49eeef5db88cf"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Date32Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11Date32Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11Date64Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11Date64Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11Date64Array"></span><span id="arrow::ArrayVisitor::Visit__Date64ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a8edd1538b4d5f8a849b53f04b62a0d25"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Date64Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11Date64Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11Time32Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11Time32Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11Time32Array"></span><span id="arrow::ArrayVisitor::Visit__Time32ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a7ad546cf0fdd5588e6979c312357c38d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Time32Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11Time32Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11Time64Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11Time64Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11Time64Array"></span><span id="arrow::ArrayVisitor::Visit__Time64ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a8e013c7cdaa7322b51d63f49a6595b9c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Time64Array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11Time64Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK14TimestampArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK14TimestampArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK14TimestampArray"></span><span id="arrow::ArrayVisitor::Visit__TimestampArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a0fc9bea701e37d51221e873329488f45"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">TimestampArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK14TimestampArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK20DayTimeIntervalArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK20DayTimeIntervalArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK20DayTimeIntervalArray"></span><span id="arrow::ArrayVisitor::Visit__DayTimeIntervalArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a90f77dcd687f53d38cd9e0a550d515bd"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow20DayTimeIntervalArrayE" title="arrow::DayTimeIntervalArray"><span class="n"><span class="pre">DayTimeIntervalArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK20DayTimeIntervalArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK25MonthDayNanoIntervalArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK25MonthDayNanoIntervalArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK25MonthDayNanoIntervalArray"></span><span id="arrow::ArrayVisitor::Visit__MonthDayNanoIntervalArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a98d1ccd0d5f5fbd7c11a1c1e699935f7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow25MonthDayNanoIntervalArrayE" title="arrow::MonthDayNanoIntervalArray"><span class="n"><span class="pre">MonthDayNanoIntervalArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK25MonthDayNanoIntervalArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK18MonthIntervalArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK18MonthIntervalArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK18MonthIntervalArray"></span><span id="arrow::ArrayVisitor::Visit__MonthIntervalArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1accd3f703e10e7c395319abbb46e57703"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">MonthIntervalArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK18MonthIntervalArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK13DurationArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK13DurationArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK13DurationArray"></span><span id="arrow::ArrayVisitor::Visit__DurationArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1af9175fcebba0b6d12ff3f6858eaa4111"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">DurationArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK13DurationArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15Decimal128Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15Decimal128Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15Decimal128Array"></span><span id="arrow::ArrayVisitor::Visit__Decimal128ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a7412db8f4d81afeb75bf5dec8e03af8b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15Decimal128ArrayE" title="arrow::Decimal128Array"><span class="n"><span class="pre">Decimal128Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15Decimal128Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15Decimal256Array">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15Decimal256Array"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15Decimal256Array"></span><span id="arrow::ArrayVisitor::Visit__Decimal256ArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a2f4820a68fe56f3751d3488694dddb40"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15Decimal256ArrayE" title="arrow::Decimal256Array"><span class="n"><span class="pre">Decimal256Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15Decimal256Array" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK9ListArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK9ListArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK9ListArray"></span><span id="arrow::ArrayVisitor::Visit__ListArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a840c1ea14b69a3f10260d295d85cfb0e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow9ListArrayE" title="arrow::ListArray"><span class="n"><span class="pre">ListArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK9ListArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK14LargeListArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK14LargeListArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK14LargeListArray"></span><span id="arrow::ArrayVisitor::Visit__LargeListArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1ac4c4b46877ec9cd35032a4cf1783c7f8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow14LargeListArrayE" title="arrow::LargeListArray"><span class="n"><span class="pre">LargeListArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK14LargeListArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK13ListViewArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK13ListViewArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK13ListViewArray"></span><span id="arrow::ArrayVisitor::Visit__ListViewArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3c086b4c94e2d61e1d48aa397f22a7d3"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow13ListViewArrayE" title="arrow::ListViewArray"><span class="n"><span class="pre">ListViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK13ListViewArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK18LargeListViewArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK18LargeListViewArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK18LargeListViewArray"></span><span id="arrow::ArrayVisitor::Visit__LargeListViewArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a7fafee814523c684ae098b5f1f87a4eb"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow18LargeListViewArrayE" title="arrow::LargeListViewArray"><span class="n"><span class="pre">LargeListViewArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK18LargeListViewArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK8MapArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK8MapArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK8MapArray"></span><span id="arrow::ArrayVisitor::Visit__MapArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1abce97da1910634a2f2243c54bebc65e9"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow8MapArrayE" title="arrow::MapArray"><span class="n"><span class="pre">MapArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK8MapArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK18FixedSizeListArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK18FixedSizeListArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK18FixedSizeListArray"></span><span id="arrow::ArrayVisitor::Visit__FixedSizeListArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a9256721274d40f3a9ee7834e6e4d1b96"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow18FixedSizeListArrayE" title="arrow::FixedSizeListArray"><span class="n"><span class="pre">FixedSizeListArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK18FixedSizeListArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK11StructArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK11StructArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK11StructArray"></span><span id="arrow::ArrayVisitor::Visit__StructArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a8668387768bb92a0aa0ff4677775454d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow11StructArrayE" title="arrow::StructArray"><span class="n"><span class="pre">StructArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK11StructArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK16SparseUnionArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK16SparseUnionArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK16SparseUnionArray"></span><span id="arrow::ArrayVisitor::Visit__SparseUnionArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a6fccefd147adfaba3bf727c169f4b7f2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow16SparseUnionArrayE" title="arrow::SparseUnionArray"><span class="n"><span class="pre">SparseUnionArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK16SparseUnionArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15DenseUnionArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15DenseUnionArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15DenseUnionArray"></span><span id="arrow::ArrayVisitor::Visit__DenseUnionArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a6e28c49a7fe136b763aeadb2e483e18f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15DenseUnionArrayE" title="arrow::DenseUnionArray"><span class="n"><span class="pre">DenseUnionArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15DenseUnionArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK15DictionaryArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK15DictionaryArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK15DictionaryArray"></span><span id="arrow::ArrayVisitor::Visit__DictionaryArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a3f17f29ca2bb966a6aef0462987e2856"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow15DictionaryArrayE" title="arrow::DictionaryArray"><span class="n"><span class="pre">DictionaryArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK15DictionaryArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK18RunEndEncodedArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK18RunEndEncodedArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK18RunEndEncodedArray"></span><span id="arrow::ArrayVisitor::Visit__RunEndEncodedArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a14c3e13683722a9e8654dbc736bab757"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">RunEndEncodedArray</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK18RunEndEncodedArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow12ArrayVisitor5VisitERK14ExtensionArray">
<span id="_CPPv3N5arrow12ArrayVisitor5VisitERK14ExtensionArray"></span><span id="_CPPv2N5arrow12ArrayVisitor5VisitERK14ExtensionArray"></span><span id="arrow::ArrayVisitor::Visit__ExtensionArrayCR"></span><span class="target" id="classarrow_1_1_array_visitor_1a0e8ce3c7701548beb57bb8d51d8649a8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visit</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="#_CPPv4N5arrow14ExtensionArrayE" title="arrow::ExtensionArray"><span class="n"><span class="pre">ExtensionArray</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">array</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow12ArrayVisitor5VisitERK14ExtensionArray" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="left-prev"
href="datatype.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">Data Types</p>
</div>
</a>
<a class="right-next"
href="scalar.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Scalars</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="#factory-functions">Factory functions</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#concrete-array-subclasses">Concrete array subclasses</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#primitive-and-temporal">Primitive and temporal</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#binary-like">Binary-like</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#nested">Nested</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#dictionary-encoded">Dictionary-encoded</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#extension-arrays">Extension arrays</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#chunked-arrays">Chunked Arrays</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#utilities">Utilities</a></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/array.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>