blob: d0a4286b876b6ff3216e898a95beb5a896d04497 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Arrow IPC &#8212; Apache Arrow v4.0.1</title>
<link href="../../_static/css/theme.css" rel="stylesheet" />
<link href="../../_static/css/index.c5995385ac14fb8791e8eb36b4908be2.css" rel="stylesheet" />
<link rel="stylesheet"
href="../../_static/vendor/fontawesome/5.13.0/css/all.min.css">
<link rel="preload" as="font" type="font/woff2" crossorigin
href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin
href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/basic.css" />
<link rel="stylesheet" type="text/css" href="../../_static/theme_overrides.css" />
<link rel="preload" as="script" href="../../_static/js/index.1c5a1a01449ed65a7b51.js">
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/ipc.html" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/ipc.html" />
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="File Formats" href="formats.html" />
<link rel="prev" title="Input / output" href="io.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="en" />
</head>
<body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
<div class="container-fluid" id="banner"></div>
<div class="container-xl">
<div class="row">
<!-- Only show if we have sidebars configured, else just a small margin -->
<div class="col-12 col-md-3 bd-sidebar">
<a class="navbar-brand" href="../../index.html">
<img src="../../_static/arrow.png" class="logo" alt="logo">
</a>
<form class="bd-search d-flex align-items-center" action="../../search.html" method="get">
<i class="icon fas fa-search"></i>
<input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" >
</form>
<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
<div class="bd-toc-item active">
<p class="caption">
<span class="caption-text">
Specifications and Protocols
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../../format/Versioning.html">
Format Versioning and Stability
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/Columnar.html">
Arrow Columnar Format
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/Flight.html">
Arrow Flight RPC
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/Integration.html">
Integration Testing
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/CDataInterface.html">
The Arrow C data interface
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/CStreamInterface.html">
The Arrow C stream interface
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../format/Other.html">
Other Data Structures
</a>
</li>
</ul>
<p class="caption">
<span class="caption-text">
Libraries
</span>
</p>
<ul class="current nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../../status.html">
Implementation Status
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://arrow.apache.org/docs/c_glib/">
C/GLib
</a>
</li>
<li class="toctree-l1 current active has-children">
<a class="reference internal" href="../index.html">
C++
</a>
<input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/>
<label for="toctree-checkbox-1">
<i class="fas fa-chevron-down">
</i>
</label>
<ul class="current">
<li class="toctree-l2 has-children">
<a class="reference internal" href="../getting_started.html">
User Guide
</a>
<input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/>
<label for="toctree-checkbox-2">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l3">
<a class="reference internal" href="../overview.html">
High-Level Overview
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../conventions.html">
Conventions
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../cmake.html">
Using Arrow C++ in your own project
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../memory.html">
Memory Management
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../arrays.html">
Arrays
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../datatypes.html">
Data Types
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../tables.html">
Tabular Data
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../compute.html">
Compute Functions
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../io.html">
Input / output and filesystems
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../ipc.html">
Reading and writing the Arrow IPC format
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../parquet.html">
Reading and writing Parquet files
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../csv.html">
Reading CSV files
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../json.html">
Reading JSON files
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../dataset.html">
Tabular Datasets
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../flight.html">
Arrow Flight RPC
</a>
</li>
</ul>
</li>
<li class="toctree-l2 has-children">
<a class="reference internal" href="../examples/index.html">
Examples
</a>
<input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/>
<label for="toctree-checkbox-3">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l3">
<a class="reference internal" href="../examples/cmake_minimal_build.html">
Minimal build using CMake
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../examples/dataset_documentation_example.html">
Arrow Datasets example
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../examples/row_columnar_conversion.html">
Row to columnar conversion
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../examples/tuple_range_conversion.html">
std::tuple-like ranges to Arrow
</a>
</li>
</ul>
</li>
<li class="toctree-l2 current active has-children">
<a class="reference internal" href="../api.html">
API Reference
</a>
<input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/>
<label for="toctree-checkbox-4">
<i class="fas fa-chevron-down">
</i>
</label>
<ul class="current">
<li class="toctree-l3">
<a class="reference internal" href="support.html">
Programming Support
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="memory.html">
Memory (management)
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="datatype.html">
Data Types
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="array.html">
Arrays
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="scalar.html">
Scalars
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="builder.html">
Array Builders
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="table.html">
Two-dimensional Datasets
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="c_abi.html">
C Interfaces
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="compute.html">
Compute Functions
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="tensor.html">
Tensors
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="utilities.html">
Utilities
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="io.html">
Input / output
</a>
</li>
<li class="toctree-l3 current active">
<a class="current reference internal" href="#">
Arrow IPC
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="formats.html">
File Formats
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="cuda.html">
CUDA support
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="flight.html">
Arrow Flight RPC
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="filesystem.html">
Filesystems
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="dataset.html">
Dataset
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow/blob/master/csharp/README.md">
C#
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://godoc.org/github.com/apache/arrow/go/arrow">
Go
</a>
</li>
<li class="toctree-l1 has-children">
<a class="reference internal" href="../../java/index.html">
Java
</a>
<input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/>
<label for="toctree-checkbox-5">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l2">
<a class="reference internal" href="../../java/vector.html">
ValueVector
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../java/vector_schema_root.html">
VectorSchemaRoot
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../java/ipc.html">
Reading/Writing IPC formats
</a>
</li>
<li class="toctree-l2">
<a class="reference external" href="https://arrow.apache.org/docs/java/reference/">
Reference (javadoc)
</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://arrow.apache.org/docs/js/">
JavaScript
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow/blob/master/julia/Arrow/README.md">
Julia
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow/blob/master/matlab/README.md">
MATLAB
</a>
</li>
<li class="toctree-l1 has-children">
<a class="reference internal" href="../../python/index.html">
Python
</a>
<input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/>
<label for="toctree-checkbox-6">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l2">
<a class="reference internal" href="../../python/install.html">
Installing PyArrow
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/memory.html">
Memory and IO Interfaces
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/data.html">
Data Types and In-Memory Data Model
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/compute.html">
Compute Functions
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/ipc.html">
Streaming, Serialization, and IPC
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/filesystems.html">
Filesystem Interface
</a>
</li>
<li class="toctree-l2 has-children">
<a class="reference internal" href="../../python/filesystems_deprecated.html">
Filesystem Interface (legacy)
</a>
<input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/>
<label for="toctree-checkbox-7">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.hdfs.connect.html">
pyarrow.hdfs.connect
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.cat.html">
pyarrow.HadoopFileSystem.cat
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.chmod.html">
pyarrow.HadoopFileSystem.chmod
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.chown.html">
pyarrow.HadoopFileSystem.chown
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.delete.html">
pyarrow.HadoopFileSystem.delete
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.df.html">
pyarrow.HadoopFileSystem.df
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.disk_usage.html">
pyarrow.HadoopFileSystem.disk_usage
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.download.html">
pyarrow.HadoopFileSystem.download
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.exists.html">
pyarrow.HadoopFileSystem.exists
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.get_capacity.html">
pyarrow.HadoopFileSystem.get_capacity
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.get_space_used.html">
pyarrow.HadoopFileSystem.get_space_used
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.info.html">
pyarrow.HadoopFileSystem.info
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.ls.html">
pyarrow.HadoopFileSystem.ls
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.mkdir.html">
pyarrow.HadoopFileSystem.mkdir
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.open.html">
pyarrow.HadoopFileSystem.open
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.rename.html">
pyarrow.HadoopFileSystem.rename
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.rm.html">
pyarrow.HadoopFileSystem.rm
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.upload.html">
pyarrow.HadoopFileSystem.upload
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="../../python/generated/pyarrow.HdfsFile.html">
pyarrow.HdfsFile
</a>
</li>
</ul>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/plasma.html">
The Plasma In-Memory Object Store
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/numpy.html">
NumPy Integration
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/pandas.html">
Pandas Integration
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/timestamps.html">
Timestamps
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/csv.html">
Reading CSV files
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/feather.html">
Feather File Format
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/json.html">
Reading JSON files
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/parquet.html">
Reading and Writing the Apache Parquet Format
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/dataset.html">
Tabular Datasets
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/cuda.html">
CUDA Integration
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/extending_types.html">
Extending pyarrow
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/extending.html">
Using pyarrow from C++ and Cython Code
</a>
</li>
<li class="toctree-l2 has-children">
<a class="reference internal" href="../../python/api.html">
API Reference
</a>
<input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/>
<label for="toctree-checkbox-8">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/datatypes.html">
Data Types and Schemas
</a>
<input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/>
<label for="toctree-checkbox-9">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.null.html">
pyarrow.null
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.bool_.html">
pyarrow.bool_
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.int8.html">
pyarrow.int8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.int16.html">
pyarrow.int16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.int32.html">
pyarrow.int32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.int64.html">
pyarrow.int64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.uint8.html">
pyarrow.uint8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.uint16.html">
pyarrow.uint16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.uint32.html">
pyarrow.uint32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.uint64.html">
pyarrow.uint64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.float16.html">
pyarrow.float16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.float32.html">
pyarrow.float32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.float64.html">
pyarrow.float64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.time32.html">
pyarrow.time32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.time64.html">
pyarrow.time64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.timestamp.html">
pyarrow.timestamp
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.date32.html">
pyarrow.date32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.date64.html">
pyarrow.date64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.binary.html">
pyarrow.binary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.string.html">
pyarrow.string
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.utf8.html">
pyarrow.utf8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.large_binary.html">
pyarrow.large_binary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.large_string.html">
pyarrow.large_string
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.large_utf8.html">
pyarrow.large_utf8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.decimal128.html">
pyarrow.decimal128
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.list_.html">
pyarrow.list_
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.large_list.html">
pyarrow.large_list
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.map_.html">
pyarrow.map_
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.struct.html">
pyarrow.struct
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dictionary.html">
pyarrow.dictionary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.field.html">
pyarrow.field
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.schema.html">
pyarrow.schema
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.from_numpy_dtype.html">
pyarrow.from_numpy_dtype
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.DataType.html">
pyarrow.DataType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.DictionaryType.html">
pyarrow.DictionaryType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ListType.html">
pyarrow.ListType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.MapType.html">
pyarrow.MapType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.StructType.html">
pyarrow.StructType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UnionType.html">
pyarrow.UnionType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.TimestampType.html">
pyarrow.TimestampType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time32Type.html">
pyarrow.Time32Type
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time64Type.html">
pyarrow.Time64Type
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryType.html">
pyarrow.FixedSizeBinaryType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Decimal128Type.html">
pyarrow.Decimal128Type
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Field.html">
pyarrow.Field
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Schema.html">
pyarrow.Schema
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ExtensionType.html">
pyarrow.ExtensionType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.PyExtensionType.html">
pyarrow.PyExtensionType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.register_extension_type.html">
pyarrow.register_extension_type
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.unregister_extension_type.html">
pyarrow.unregister_extension_type
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_boolean.html">
pyarrow.types.is_boolean
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_integer.html">
pyarrow.types.is_integer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_signed_integer.html">
pyarrow.types.is_signed_integer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_unsigned_integer.html">
pyarrow.types.is_unsigned_integer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_int8.html">
pyarrow.types.is_int8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_int16.html">
pyarrow.types.is_int16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_int32.html">
pyarrow.types.is_int32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_int64.html">
pyarrow.types.is_int64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_uint8.html">
pyarrow.types.is_uint8
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_uint16.html">
pyarrow.types.is_uint16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_uint32.html">
pyarrow.types.is_uint32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_uint64.html">
pyarrow.types.is_uint64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_floating.html">
pyarrow.types.is_floating
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_float16.html">
pyarrow.types.is_float16
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_float32.html">
pyarrow.types.is_float32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_float64.html">
pyarrow.types.is_float64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal.html">
pyarrow.types.is_decimal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_list.html">
pyarrow.types.is_list
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list.html">
pyarrow.types.is_large_list
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_struct.html">
pyarrow.types.is_struct
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_union.html">
pyarrow.types.is_union
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_nested.html">
pyarrow.types.is_nested
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_temporal.html">
pyarrow.types.is_temporal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_timestamp.html">
pyarrow.types.is_timestamp
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_date.html">
pyarrow.types.is_date
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_date32.html">
pyarrow.types.is_date32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_date64.html">
pyarrow.types.is_date64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_time.html">
pyarrow.types.is_time
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_time32.html">
pyarrow.types.is_time32
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_time64.html">
pyarrow.types.is_time64
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_null.html">
pyarrow.types.is_null
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_binary.html">
pyarrow.types.is_binary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_unicode.html">
pyarrow.types.is_unicode
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_string.html">
pyarrow.types.is_string
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_large_binary.html">
pyarrow.types.is_large_binary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_large_unicode.html">
pyarrow.types.is_large_unicode
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_large_string.html">
pyarrow.types.is_large_string
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_binary.html">
pyarrow.types.is_fixed_size_binary
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_map.html">
pyarrow.types.is_map
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.types.is_dictionary.html">
pyarrow.types.is_dictionary
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/arrays.html">
Arrays and Scalars
</a>
<input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/>
<label for="toctree-checkbox-10">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.array.html">
pyarrow.array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.nulls.html">
pyarrow.nulls
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Array.html">
pyarrow.Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BooleanArray.html">
pyarrow.BooleanArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FloatingPointArray.html">
pyarrow.FloatingPointArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.IntegerArray.html">
pyarrow.IntegerArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int8Array.html">
pyarrow.Int8Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int16Array.html">
pyarrow.Int16Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int32Array.html">
pyarrow.Int32Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int64Array.html">
pyarrow.Int64Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.NullArray.html">
pyarrow.NullArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.NumericArray.html">
pyarrow.NumericArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt8Array.html">
pyarrow.UInt8Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt16Array.html">
pyarrow.UInt16Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt32Array.html">
pyarrow.UInt32Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt64Array.html">
pyarrow.UInt64Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BinaryArray.html">
pyarrow.BinaryArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.StringArray.html">
pyarrow.StringArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryArray.html">
pyarrow.FixedSizeBinaryArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryArray.html">
pyarrow.LargeBinaryArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeStringArray.html">
pyarrow.LargeStringArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time32Array.html">
pyarrow.Time32Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time64Array.html">
pyarrow.Time64Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Date32Array.html">
pyarrow.Date32Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Date64Array.html">
pyarrow.Date64Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.TimestampArray.html">
pyarrow.TimestampArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Decimal128Array.html">
pyarrow.Decimal128Array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.DictionaryArray.html">
pyarrow.DictionaryArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ListArray.html">
pyarrow.ListArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeListArray.html">
pyarrow.LargeListArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.StructArray.html">
pyarrow.StructArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UnionArray.html">
pyarrow.UnionArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ExtensionArray.html">
pyarrow.ExtensionArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.scalar.html">
pyarrow.scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.NA.html">
pyarrow.NA
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Scalar.html">
pyarrow.Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BooleanScalar.html">
pyarrow.BooleanScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int8Scalar.html">
pyarrow.Int8Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int16Scalar.html">
pyarrow.Int16Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int32Scalar.html">
pyarrow.Int32Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Int64Scalar.html">
pyarrow.Int64Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt8Scalar.html">
pyarrow.UInt8Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt16Scalar.html">
pyarrow.UInt16Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt32Scalar.html">
pyarrow.UInt32Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UInt64Scalar.html">
pyarrow.UInt64Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FloatScalar.html">
pyarrow.FloatScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.DoubleScalar.html">
pyarrow.DoubleScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BinaryScalar.html">
pyarrow.BinaryScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.StringScalar.html">
pyarrow.StringScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryScalar.html">
pyarrow.FixedSizeBinaryScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryScalar.html">
pyarrow.LargeBinaryScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeStringScalar.html">
pyarrow.LargeStringScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time32Scalar.html">
pyarrow.Time32Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Time64Scalar.html">
pyarrow.Time64Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Date32Scalar.html">
pyarrow.Date32Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Date64Scalar.html">
pyarrow.Date64Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.TimestampScalar.html">
pyarrow.TimestampScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Decimal128Scalar.html">
pyarrow.Decimal128Scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.DictionaryScalar.html">
pyarrow.DictionaryScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ListScalar.html">
pyarrow.ListScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LargeListScalar.html">
pyarrow.LargeListScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.StructScalar.html">
pyarrow.StructScalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.UnionScalar.html">
pyarrow.UnionScalar
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/memory.html">
Buffers and Memory
</a>
<input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/>
<label for="toctree-checkbox-11">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.allocate_buffer.html">
pyarrow.allocate_buffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.py_buffer.html">
pyarrow.py_buffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.foreign_buffer.html">
pyarrow.foreign_buffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Buffer.html">
pyarrow.Buffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ResizableBuffer.html">
pyarrow.ResizableBuffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compress.html">
pyarrow.compress
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.decompress.html">
pyarrow.decompress
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.MemoryPool.html">
pyarrow.MemoryPool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.default_memory_pool.html">
pyarrow.default_memory_pool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.jemalloc_memory_pool.html">
pyarrow.jemalloc_memory_pool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.mimalloc_memory_pool.html">
pyarrow.mimalloc_memory_pool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.system_memory_pool.html">
pyarrow.system_memory_pool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.jemalloc_set_decay_ms.html">
pyarrow.jemalloc_set_decay_ms
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.set_memory_pool.html">
pyarrow.set_memory_pool
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.log_memory_allocations.html">
pyarrow.log_memory_allocations
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.total_allocated_bytes.html">
pyarrow.total_allocated_bytes
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/compute.html">
Compute Functions
</a>
<input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/>
<label for="toctree-checkbox-12">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.count.html">
pyarrow.compute.count
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.mean.html">
pyarrow.compute.mean
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.min_max.html">
pyarrow.compute.min_max
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.mode.html">
pyarrow.compute.mode
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.stddev.html">
pyarrow.compute.stddev
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.sum.html">
pyarrow.compute.sum
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.variance.html">
pyarrow.compute.variance
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.add.html">
pyarrow.compute.add
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.add_checked.html">
pyarrow.compute.add_checked
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.divide.html">
pyarrow.compute.divide
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.divide_checked.html">
pyarrow.compute.divide_checked
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.multiply.html">
pyarrow.compute.multiply
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.multiply_checked.html">
pyarrow.compute.multiply_checked
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.subtract.html">
pyarrow.compute.subtract
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.subtract_checked.html">
pyarrow.compute.subtract_checked
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.power.html">
pyarrow.compute.power
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.power_checked.html">
pyarrow.compute.power_checked
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.equal.html">
pyarrow.compute.equal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.greater.html">
pyarrow.compute.greater
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.greater_equal.html">
pyarrow.compute.greater_equal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.less.html">
pyarrow.compute.less
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.less_equal.html">
pyarrow.compute.less_equal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.not_equal.html">
pyarrow.compute.not_equal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.and_.html">
pyarrow.compute.and_
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.and_kleene.html">
pyarrow.compute.and_kleene
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.all.html">
pyarrow.compute.all
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.any.html">
pyarrow.compute.any
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.invert.html">
pyarrow.compute.invert
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.or_.html">
pyarrow.compute.or_
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.or_kleene.html">
pyarrow.compute.or_kleene
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.xor.html">
pyarrow.compute.xor
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alnum.html">
pyarrow.compute.ascii_is_alnum
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alpha.html">
pyarrow.compute.ascii_is_alpha
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_decimal.html">
pyarrow.compute.ascii_is_decimal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_lower.html">
pyarrow.compute.ascii_is_lower
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_printable.html">
pyarrow.compute.ascii_is_printable
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_space.html">
pyarrow.compute.ascii_is_space
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_upper.html">
pyarrow.compute.ascii_is_upper
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alnum.html">
pyarrow.compute.utf8_is_alnum
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alpha.html">
pyarrow.compute.utf8_is_alpha
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_decimal.html">
pyarrow.compute.utf8_is_decimal
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_digit.html">
pyarrow.compute.utf8_is_digit
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_lower.html">
pyarrow.compute.utf8_is_lower
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_numeric.html">
pyarrow.compute.utf8_is_numeric
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_printable.html">
pyarrow.compute.utf8_is_printable
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_space.html">
pyarrow.compute.utf8_is_space
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_upper.html">
pyarrow.compute.utf8_is_upper
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_title.html">
pyarrow.compute.ascii_is_title
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_title.html">
pyarrow.compute.utf8_is_title
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.string_is_ascii.html">
pyarrow.compute.string_is_ascii
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lower.html">
pyarrow.compute.ascii_lower
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_upper.html">
pyarrow.compute.ascii_upper
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lower.html">
pyarrow.compute.utf8_lower
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_upper.html">
pyarrow.compute.utf8_upper
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.index_in.html">
pyarrow.compute.index_in
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.is_in.html">
pyarrow.compute.is_in
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring.html">
pyarrow.compute.match_substring
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring_regex.html">
pyarrow.compute.match_substring_regex
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.cast.html">
pyarrow.compute.cast
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.strptime.html">
pyarrow.compute.strptime
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.filter.html">
pyarrow.compute.filter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.take.html">
pyarrow.compute.take
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.dictionary_encode.html">
pyarrow.compute.dictionary_encode
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.unique.html">
pyarrow.compute.unique
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.value_counts.html">
pyarrow.compute.value_counts
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.partition_nth_indices.html">
pyarrow.compute.partition_nth_indices
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.sort_indices.html">
pyarrow.compute.sort_indices
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.binary_length.html">
pyarrow.compute.binary_length
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null.html">
pyarrow.compute.fill_null
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.is_null.html">
pyarrow.compute.is_null
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.is_valid.html">
pyarrow.compute.is_valid
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.list_value_length.html">
pyarrow.compute.list_value_length
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.list_flatten.html">
pyarrow.compute.list_flatten
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.compute.list_parent_indices.html">
pyarrow.compute.list_parent_indices
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/files.html">
Streams and File Access
</a>
<input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/>
<label for="toctree-checkbox-13">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.input_stream.html">
pyarrow.input_stream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.output_stream.html">
pyarrow.output_stream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.memory_map.html">
pyarrow.memory_map
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.create_memory_map.html">
pyarrow.create_memory_map
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.NativeFile.html">
pyarrow.NativeFile
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.OSFile.html">
pyarrow.OSFile
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.PythonFile.html">
pyarrow.PythonFile
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BufferReader.html">
pyarrow.BufferReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.BufferOutputStream.html">
pyarrow.BufferOutputStream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBufferWriter.html">
pyarrow.FixedSizeBufferWriter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.MemoryMappedFile.html">
pyarrow.MemoryMappedFile
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.CompressedInputStream.html">
pyarrow.CompressedInputStream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.CompressedOutputStream.html">
pyarrow.CompressedOutputStream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.hdfs.connect.html">
pyarrow.hdfs.connect
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.LocalFileSystem.html">
pyarrow.LocalFileSystem
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/tables.html">
Tables and Tensors
</a>
<input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/>
<label for="toctree-checkbox-14">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.chunked_array.html">
pyarrow.chunked_array
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.concat_arrays.html">
pyarrow.concat_arrays
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.concat_tables.html">
pyarrow.concat_tables
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.record_batch.html">
pyarrow.record_batch
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.table.html">
pyarrow.table
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ChunkedArray.html">
pyarrow.ChunkedArray
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.RecordBatch.html">
pyarrow.RecordBatch
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Table.html">
pyarrow.Table
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.Tensor.html">
pyarrow.Tensor
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/ipc.html">
Serialization and IPC
</a>
<input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" type="checkbox"/>
<label for="toctree-checkbox-15">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.new_file.html">
pyarrow.ipc.new_file
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.open_file.html">
pyarrow.ipc.open_file
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.new_stream.html">
pyarrow.ipc.new_stream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.open_stream.html">
pyarrow.ipc.open_stream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.read_message.html">
pyarrow.ipc.read_message
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.read_record_batch.html">
pyarrow.ipc.read_record_batch
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.get_record_batch_size.html">
pyarrow.ipc.get_record_batch_size
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.read_tensor.html">
pyarrow.ipc.read_tensor
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.write_tensor.html">
pyarrow.ipc.write_tensor
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.get_tensor_size.html">
pyarrow.ipc.get_tensor_size
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.Message.html">
pyarrow.ipc.Message
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.MessageReader.html">
pyarrow.ipc.MessageReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileReader.html">
pyarrow.ipc.RecordBatchFileReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileWriter.html">
pyarrow.ipc.RecordBatchFileWriter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamReader.html">
pyarrow.ipc.RecordBatchStreamReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamWriter.html">
pyarrow.ipc.RecordBatchStreamWriter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.serialize.html">
pyarrow.serialize
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.serialize_to.html">
pyarrow.serialize_to
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.deserialize.html">
pyarrow.deserialize
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.deserialize_components.html">
pyarrow.deserialize_components
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.deserialize_from.html">
pyarrow.deserialize_from
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.read_serialized.html">
pyarrow.read_serialized
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.SerializedPyObject.html">
pyarrow.SerializedPyObject
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.SerializationContext.html">
pyarrow.SerializationContext
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/flight.html">
Arrow Flight
</a>
<input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" type="checkbox"/>
<label for="toctree-checkbox-16">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.Action.html">
pyarrow.flight.Action
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ActionType.html">
pyarrow.flight.ActionType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.DescriptorType.html">
pyarrow.flight.DescriptorType
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDescriptor.html">
pyarrow.flight.FlightDescriptor
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightEndpoint.html">
pyarrow.flight.FlightEndpoint
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInfo.html">
pyarrow.flight.FlightInfo
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.Location.html">
pyarrow.flight.Location
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.Ticket.html">
pyarrow.flight.Ticket
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.Result.html">
pyarrow.flight.Result
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCallOptions.html">
pyarrow.flight.FlightCallOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightClient.html">
pyarrow.flight.FlightClient
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddlewareFactory.html">
pyarrow.flight.ClientMiddlewareFactory
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddleware.html">
pyarrow.flight.ClientMiddleware
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerBase.html">
pyarrow.flight.FlightServerBase
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.GeneratorStream.html">
pyarrow.flight.GeneratorStream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.RecordBatchStream.html">
pyarrow.flight.RecordBatchStream
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddlewareFactory.html">
pyarrow.flight.ServerMiddlewareFactory
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddleware.html">
pyarrow.flight.ServerMiddleware
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ClientAuthHandler.html">
pyarrow.flight.ClientAuthHandler
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.ServerAuthHandler.html">
pyarrow.flight.ServerAuthHandler
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMethod.html">
pyarrow.flight.FlightMethod
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.flight.CallInfo.html">
pyarrow.flight.CallInfo
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/formats.html">
Tabular File Formats
</a>
<input class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" type="checkbox"/>
<label for="toctree-checkbox-17">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.ReadOptions.html">
pyarrow.csv.ReadOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.ParseOptions.html">
pyarrow.csv.ParseOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.ConvertOptions.html">
pyarrow.csv.ConvertOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.read_csv.html">
pyarrow.csv.read_csv
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.open_csv.html">
pyarrow.csv.open_csv
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.csv.CSVStreamingReader.html">
pyarrow.csv.CSVStreamingReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.feather.read_feather.html">
pyarrow.feather.read_feather
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.feather.read_table.html">
pyarrow.feather.read_table
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.feather.write_feather.html">
pyarrow.feather.write_feather
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.json.ReadOptions.html">
pyarrow.json.ReadOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.json.ParseOptions.html">
pyarrow.json.ParseOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.json.read_json.html">
pyarrow.json.read_json
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetDataset.html">
pyarrow.parquet.ParquetDataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetFile.html">
pyarrow.parquet.ParquetFile
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetWriter.html">
pyarrow.parquet.ParquetWriter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.read_table.html">
pyarrow.parquet.read_table
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.read_metadata.html">
pyarrow.parquet.read_metadata
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.read_pandas.html">
pyarrow.parquet.read_pandas
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.read_schema.html">
pyarrow.parquet.read_schema
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.write_metadata.html">
pyarrow.parquet.write_metadata
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.write_table.html">
pyarrow.parquet.write_table
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.parquet.write_to_dataset.html">
pyarrow.parquet.write_to_dataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.orc.ORCFile.html">
pyarrow.orc.ORCFile
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/filesystems.html">
Filesystems
</a>
<input class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" type="checkbox"/>
<label for="toctree-checkbox-18">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.FileInfo.html">
pyarrow.fs.FileInfo
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.FileSelector.html">
pyarrow.fs.FileSelector
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystem.html">
pyarrow.fs.FileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.LocalFileSystem.html">
pyarrow.fs.LocalFileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.S3FileSystem.html">
pyarrow.fs.S3FileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.HadoopFileSystem.html">
pyarrow.fs.HadoopFileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.SubTreeFileSystem.html">
pyarrow.fs.SubTreeFileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.PyFileSystem.html">
pyarrow.fs.PyFileSystem
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystemHandler.html">
pyarrow.fs.FileSystemHandler
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.fs.FSSpecHandler.html">
pyarrow.fs.FSSpecHandler
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/dataset.html">
Dataset
</a>
<input class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" type="checkbox"/>
<label for="toctree-checkbox-19">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.dataset.html">
pyarrow.dataset.dataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.parquet_dataset.html">
pyarrow.dataset.parquet_dataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.partitioning.html">
pyarrow.dataset.partitioning
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.field.html">
pyarrow.dataset.field
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.scalar.html">
pyarrow.dataset.scalar
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.FileFormat.html">
pyarrow.dataset.FileFormat
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFormat.html">
pyarrow.dataset.ParquetFileFormat
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.Partitioning.html">
pyarrow.dataset.Partitioning
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.PartitioningFactory.html">
pyarrow.dataset.PartitioningFactory
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.DirectoryPartitioning.html">
pyarrow.dataset.DirectoryPartitioning
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.HivePartitioning.html">
pyarrow.dataset.HivePartitioning
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.Dataset.html">
pyarrow.dataset.Dataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDataset.html">
pyarrow.dataset.FileSystemDataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemFactoryOptions.html">
pyarrow.dataset.FileSystemFactoryOptions
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDatasetFactory.html">
pyarrow.dataset.FileSystemDatasetFactory
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.UnionDataset.html">
pyarrow.dataset.UnionDataset
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.Scanner.html">
pyarrow.dataset.Scanner
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.dataset.Expression.html">
pyarrow.dataset.Expression
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/plasma.html">
Plasma In-Memory Object Store
</a>
<input class="toctree-checkbox" id="toctree-checkbox-20" name="toctree-checkbox-20" type="checkbox"/>
<label for="toctree-checkbox-20">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.plasma.ObjectID.html">
pyarrow.plasma.ObjectID
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.plasma.PlasmaClient.html">
pyarrow.plasma.PlasmaClient
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.plasma.PlasmaBuffer.html">
pyarrow.plasma.PlasmaBuffer
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/cuda.html">
CUDA Integration
</a>
<input class="toctree-checkbox" id="toctree-checkbox-21" name="toctree-checkbox-21" type="checkbox"/>
<label for="toctree-checkbox-21">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.Context.html">
pyarrow.cuda.Context
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.CudaBuffer.html">
pyarrow.cuda.CudaBuffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.new_host_buffer.html">
pyarrow.cuda.new_host_buffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.HostBuffer.html">
pyarrow.cuda.HostBuffer
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferReader.html">
pyarrow.cuda.BufferReader
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferWriter.html">
pyarrow.cuda.BufferWriter
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.serialize_record_batch.html">
pyarrow.cuda.serialize_record_batch
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.read_record_batch.html">
pyarrow.cuda.read_record_batch
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.read_message.html">
pyarrow.cuda.read_message
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cuda.IpcMemHandle.html">
pyarrow.cuda.IpcMemHandle
</a>
</li>
</ul>
</li>
<li class="toctree-l3 has-children">
<a class="reference internal" href="../../python/api/misc.html">
Miscellaneous
</a>
<input class="toctree-checkbox" id="toctree-checkbox-22" name="toctree-checkbox-22" type="checkbox"/>
<label for="toctree-checkbox-22">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.cpu_count.html">
pyarrow.cpu_count
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.set_cpu_count.html">
pyarrow.set_cpu_count
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.get_include.html">
pyarrow.get_include
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.get_libraries.html">
pyarrow.get_libraries
</a>
</li>
<li class="toctree-l4">
<a class="reference internal" href="../../python/generated/pyarrow.get_library_dirs.html">
pyarrow.get_library_dirs
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/getting_involved.html">
Getting Involved
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../python/benchmarks.html">
Benchmarks
</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://arrow.apache.org/docs/r/">
R
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow/blob/master/ruby/README.md">
Ruby
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
</ul>
<p class="caption">
<span class="caption-text">
Development
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../../developers/contributing.html">
Contributing to Apache Arrow
</a>
</li>
<li class="toctree-l1 has-children">
<a class="reference internal" href="../../developers/cpp/index.html">
C++ Development
</a>
<input class="toctree-checkbox" id="toctree-checkbox-23" name="toctree-checkbox-23" type="checkbox"/>
<label for="toctree-checkbox-23">
<i class="fas fa-chevron-down">
</i>
</label>
<ul>
<li class="toctree-l2">
<a class="reference internal" href="../../developers/cpp/building.html">
Building Arrow C++
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../developers/cpp/development.html">
Development Guidelines
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../developers/cpp/windows.html">
Developing on Windows
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../developers/cpp/conventions.html">
Conventions
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../../developers/cpp/fuzzing.html">
Fuzzing Arrow C++
</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/python.html">
Python Development
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/archery.html">
Daily Development using Archery
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/crossbow.html">
Packaging and Testing with Crossbow
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/docker.html">
Running Docker Builds
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/benchmarks.html">
Benchmarks
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../../developers/documentation.html">
Building the Documentation
</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="d-none d-xl-block col-xl-2 bd-toc">
<div class="toc-item">
<div class="tocsection onthispage pt-5 pb-3">
<i class="fas fa-list"></i> On this page
</div>
<nav id="bd-toc-nav">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#ipc-options">
IPC options
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#reading-ipc-streams-and-files">
Reading IPC streams and files
</a>
<ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#blocking-api">
Blocking API
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#event-driven-api">
Event-driven API
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#statistics">
Statistics
</a>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#writing-ipc-streams-and-files">
Writing IPC streams and files
</a>
<ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#id1">
Blocking API
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#id2">
Statistics
</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="toc-item">
</div>
</div>
<main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content" role="main">
<div>
<div class="section" id="arrow-ipc">
<h1>Arrow IPC<a class="headerlink" href="#arrow-ipc" title="Permalink to this headline"></a></h1>
<div class="section" id="ipc-options">
<h2>IPC options<a class="headerlink" href="#ipc-options" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptionsE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptionsE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptionsE"></span><span id="arrow::ipc::IpcReadOptions"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">IpcReadOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Options for reading Arrow IPC messages. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptions19max_recursion_depthE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptions19max_recursion_depthE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptions19max_recursion_depthE"></span><span id="arrow::ipc::IpcReadOptions::max_recursion_depth__i"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options_1afc396ded5cd90ffc0cb8192f92e5f643"></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">max_recursion_depth</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">kMaxNestingDepth</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptions19max_recursion_depthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The maximum permitted schema nesting depth. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptions11memory_poolE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptions11memory_poolE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptions11memory_poolE"></span><span id="arrow::ipc::IpcReadOptions::memory_pool__MemoryPoolP"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options_1a911b72da5d76473d602889db59a01491"></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="sig-name descname"><span class="n"><span class="pre">memory_pool</span></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><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptions11memory_poolE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The memory pool to use for allocations made during IPC reading. </p>
<p>While Arrow IPC is predominantly zero-copy, it may have to allocate memory in some cases (for example if compression is enabled). </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptions15included_fieldsE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptions15included_fieldsE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptions15included_fieldsE"></span><span id="arrow::ipc::IpcReadOptions::included_fields__std::vector:i:"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options_1a22e99e85e4650c023285a189d299b3a9"></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="kt"><span class="pre">int</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">included_fields</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptions15included_fieldsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Top-level schema fields to include when deserializing <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a>. </p>
<p>If empty (the default), return all deserialized fields. If non-empty, the values are the indices of fields in the top-level schema. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptions11use_threadsE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptions11use_threadsE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptions11use_threadsE"></span><span id="arrow::ipc::IpcReadOptions::use_threads__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options_1aa8ce498216e5b49121acd65d34112267"></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">use_threads</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">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptions11use_threadsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Use global CPU thread pool to parallelize any computational tasks like decompression. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc14IpcReadOptions20ensure_native_endianE">
<span id="_CPPv3N5arrow3ipc14IpcReadOptions20ensure_native_endianE"></span><span id="_CPPv2N5arrow3ipc14IpcReadOptions20ensure_native_endianE"></span><span id="arrow::ipc::IpcReadOptions::ensure_native_endian__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_read_options_1a505bb499a1edaea9082ad0d95ccfa28d"></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">ensure_native_endian</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">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc14IpcReadOptions20ensure_native_endianE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Convert incoming data to platform-native endianness. </p>
<p>If the endianness of the received schema is not equal to platform-native endianness, then all buffers with endian-sensitive data will be byte-swapped. This includes the value buffers of numeric types, temporal types, decimal types, as well as the offset buffers of variable-sized binary and list-like types.</p>
<p>Endianness conversion is achieved by the <a class="reference internal" href="#classarrow_1_1ipc_1_1_record_batch_file_reader"><span class="std std-ref">RecordBatchFileReader</span></a>, <a class="reference internal" href="#classarrow_1_1ipc_1_1_record_batch_stream_reader"><span class="std std-ref">RecordBatchStreamReader</span></a> and <a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder"><span class="std std-ref">StreamDecoder</span></a> classes. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptionsE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptionsE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptionsE"></span><span id="arrow::ipc::IpcWriteOptions"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">IpcWriteOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptionsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Options for writing Arrow IPC messages. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions11allow_64bitE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions11allow_64bitE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions11allow_64bitE"></span><span id="arrow::ipc::IpcWriteOptions::allow_64bit__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a069711feb5a9230774f8ac0f1d1ffa0d"></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">allow_64bit</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">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions11allow_64bitE" title="Permalink to this definition"></a><br /></dt>
<dd><p>If true, allow field lengths that don’t fit in a signed 32-bit int. </p>
<p>Some implementations may not be able to parse streams created with this option. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions19max_recursion_depthE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions19max_recursion_depthE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions19max_recursion_depthE"></span><span id="arrow::ipc::IpcWriteOptions::max_recursion_depth__i"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a6602365f423aee8557b80e5826dbd20f"></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">max_recursion_depth</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">kMaxNestingDepth</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions19max_recursion_depthE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The maximum permitted schema nesting depth. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions9alignmentE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions9alignmentE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions9alignmentE"></span><span id="arrow::ipc::IpcWriteOptions::alignment__int32_t"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a0cacd69067efc1a1530c02059b2ca931"></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">alignment</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">8</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions9alignmentE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write padding after memory buffers up to this multiple of bytes. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions23write_legacy_ipc_formatE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions23write_legacy_ipc_formatE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions23write_legacy_ipc_formatE"></span><span id="arrow::ipc::IpcWriteOptions::write_legacy_ipc_format__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a8502278af861038dcb9a910324b07903"></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">write_legacy_ipc_format</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">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions23write_legacy_ipc_formatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the pre-0.15.0 IPC message format. </p>
<p>This legacy format consists of a 4-byte prefix instead of 8-byte. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions11memory_poolE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions11memory_poolE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions11memory_poolE"></span><span id="arrow::ipc::IpcWriteOptions::memory_pool__MemoryPoolP"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a09ddce1594c5400ede80e8896c64c884"></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="sig-name descname"><span class="n"><span class="pre">memory_pool</span></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><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions11memory_poolE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The memory pool to use for allocations made during IPC writing. </p>
<p>While Arrow IPC is predominantly zero-copy, it may have to allocate memory in some cases (for example if compression is enabled). </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions5codecE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions5codecE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions5codecE"></span><span id="arrow::ipc::IpcWriteOptions::codec__std::shared_ptr:util::Codec:"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1ad60accbc93465c5b525774f4ad75ff53"></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">util</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow4util5CodecE" title="arrow::util::Codec"><span class="n"><span class="pre">Codec</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">codec</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions5codecE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Compression codec to use for record batch body buffers. </p>
<p>May only be UNCOMPRESSED, LZ4_FRAME and ZSTD. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions11use_threadsE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions11use_threadsE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions11use_threadsE"></span><span id="arrow::ipc::IpcWriteOptions::use_threads__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1ab5b5e0a22c7cff37a2345b5cdeb9e91e"></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">use_threads</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">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions11use_threadsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Use global CPU thread pool to parallelize any computational tasks like compression. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions22emit_dictionary_deltasE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions22emit_dictionary_deltasE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions22emit_dictionary_deltasE"></span><span id="arrow::ipc::IpcWriteOptions::emit_dictionary_deltas__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a19eedfb9ba4d1c0bd113a7cf1ea2ee22"></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">emit_dictionary_deltas</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">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions22emit_dictionary_deltasE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Whether to emit dictionary deltas. </p>
<p>If false, a changed dictionary for a given field will emit a full dictionary replacement. If true, a changed dictionary will be compared against the previous version. If possible, a dictionary delta will be omitted, otherwise a full dictionary replacement.</p>
<p>Default is false to maximize stream compatibility.</p>
<p>Also, note that if a changed dictionary is a nested dictionary, then a delta is never emitted, for compatibility with the read path. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions18unify_dictionariesE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions18unify_dictionariesE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions18unify_dictionariesE"></span><span id="arrow::ipc::IpcWriteOptions::unify_dictionaries__b"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1a53e17d6b350409e3c24185654b3fa87b"></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">unify_dictionaries</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">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions18unify_dictionariesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Whether to unify dictionaries for the IPC file format. </p>
<p>The IPC file format doesn’t support dictionary replacements or deltas. Therefore, chunks of a column with a dictionary type must have the same dictionary in each record batch.</p>
<p>If this option is true, <a class="reference internal" href="#classarrow_1_1ipc_1_1_record_batch_writer_1ad1d588a01d6e03df40baa283d207d00c"><span class="std std-ref">RecordBatchWriter::WriteTable</span></a> will attempt to unify dictionaries across each table column. If this option is false, unequal dictionaries across a table column will simply raise an error.</p>
<p>Note that enabling this option has a runtime cost. Also, not all types currently support dictionary unification.</p>
<p>This option is ignored for IPC streams, which support dictionary replacement and deltas. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc15IpcWriteOptions16metadata_versionE">
<span id="_CPPv3N5arrow3ipc15IpcWriteOptions16metadata_versionE"></span><span id="_CPPv2N5arrow3ipc15IpcWriteOptions16metadata_versionE"></span><span id="arrow::ipc::IpcWriteOptions::metadata_version__MetadataVersion"></span><span class="target" id="structarrow_1_1ipc_1_1_ipc_write_options_1af4b13bf8943b951fdf7efb51d9c22257"></span><span class="n"><span class="pre">MetadataVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">metadata_version</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">MetadataVersion</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">V5</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc15IpcWriteOptions16metadata_versionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Format version to use for IPC messages and their metadata. </p>
<p>Presently using V5 version (readable by 1.0.0 and later). V4 is also available (readable by 0.8.0 and later). </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="reading-ipc-streams-and-files">
<h2>Reading IPC streams and files<a class="headerlink" href="#reading-ipc-streams-and-files" title="Permalink to this headline"></a></h2>
<div class="section" id="blocking-api">
<h3>Blocking API<a class="headerlink" href="#blocking-api" title="Permalink to this headline"></a></h3>
<p>Use either of these two classes, depending on which IPC format you want
to read. The file format requires a random-access file, while the stream
format only requires a sequential input stream.</p>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc23RecordBatchStreamReaderE">
<span id="_CPPv3N5arrow3ipc23RecordBatchStreamReaderE"></span><span id="_CPPv2N5arrow3ipc23RecordBatchStreamReaderE"></span><span id="arrow::ipc::RecordBatchStreamReader"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_stream_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">RecordBatchStreamReader</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="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><a class="headerlink" href="#_CPPv4N5arrow3ipc23RecordBatchStreamReaderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Synchronous batch stream reader that reads from <a class="reference internal" href="io.html#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">io::InputStream</span></a>. </p>
<p>This class reads the schema (plus any dictionaries) as the first messages in the stream, followed by record batches. For more granular zero-copy reads see the ReadRecordBatch functions </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="_CPPv4NK5arrow3ipc23RecordBatchStreamReader5statsEv">
<span id="_CPPv3NK5arrow3ipc23RecordBatchStreamReader5statsEv"></span><span id="_CPPv2NK5arrow3ipc23RecordBatchStreamReader5statsEv"></span><span id="arrow::ipc::RecordBatchStreamReader::statsC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_stream_reader_1a5ba2d178d55a254af916b79d4a5973b9"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc9ReadStatsE" title="arrow::ipc::ReadStats"><span class="n"><span class="pre">ReadStats</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stats</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc23RecordBatchStreamReader5statsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return current read statistics. </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="_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenENSt10unique_ptrI13MessageReaderEERK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc23RecordBatchStreamReader4OpenENSt10unique_ptrI13MessageReaderEERK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc23RecordBatchStreamReader4OpenENSt10unique_ptrI13MessageReaderEERK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchStreamReader::Open__std::unique_ptr:MessageReader:.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_stream_reader_1a3a1ef2b3139bc893318605ca388af191"></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="#_CPPv4N5arrow3ipc23RecordBatchStreamReaderE" title="arrow::ipc::RecordBatchStreamReader"><span class="n"><span class="pre">RecordBatchStreamReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">MessageReader</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">message_reader</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenENSt10unique_ptrI13MessageReaderEERK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create batch reader from generic MessageReader. </p>
<p>This will take ownership of the given MessageReader.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>message_reader</strong><strong>[in]</strong> a MessageReader implementation </p></li>
<li><p><strong>options</strong><strong>[in]</strong> any IPC reading options (optional) </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created batch reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenEPN2io11InputStreamERK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc23RecordBatchStreamReader4OpenEPN2io11InputStreamERK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc23RecordBatchStreamReader4OpenEPN2io11InputStreamERK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchStreamReader::Open__io::InputStreamP.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_stream_reader_1a79891df86cbcaf792c78eedffbd31279"></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="#_CPPv4N5arrow3ipc23RecordBatchStreamReaderE" title="arrow::ipc::RecordBatchStreamReader"><span class="n"><span class="pre">RecordBatchStreamReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenEPN2io11InputStreamERK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Record batch stream reader from InputStream. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stream</strong><strong>[in]</strong> an input stream instance. Must stay alive throughout lifetime of stream reader </p></li>
<li><p><strong>options</strong><strong>[in]</strong> any IPC reading options (optional) </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created batch reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenERKNSt10shared_ptrIN2io11InputStreamEEERK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc23RecordBatchStreamReader4OpenERKNSt10shared_ptrIN2io11InputStreamEEERK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc23RecordBatchStreamReader4OpenERKNSt10shared_ptrIN2io11InputStreamEEERK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchStreamReader::Open__std::shared_ptr:io::InputStream:CR.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_stream_reader_1a2a8ff4fbc26cb179c4617769fd1e5899"></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="#_CPPv4N5arrow3ipc23RecordBatchStreamReaderE" title="arrow::ipc::RecordBatchStreamReader"><span class="n"><span class="pre">RecordBatchStreamReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc23RecordBatchStreamReader4OpenERKNSt10shared_ptrIN2io11InputStreamEEERK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open stream and retain ownership of stream object. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stream</strong><strong>[in]</strong> the input stream </p></li>
<li><p><strong>options</strong><strong>[in]</strong> any IPC reading options (optional) </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created batch reader </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc21RecordBatchFileReaderE">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReaderE"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReaderE"></span><span id="arrow::ipc::RecordBatchFileReader"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">RecordBatchFileReader</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReaderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Reads the record batch file format. </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="_CPPv4NK5arrow3ipc21RecordBatchFileReader6schemaEv">
<span id="_CPPv3NK5arrow3ipc21RecordBatchFileReader6schemaEv"></span><span id="_CPPv2NK5arrow3ipc21RecordBatchFileReader6schemaEv"></span><span id="arrow::ipc::RecordBatchFileReader::schemaC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a4ea846f0c45c7ae86dd81da1c21ed02f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</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">schema</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc21RecordBatchFileReader6schemaEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>The schema read from the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc21RecordBatchFileReader18num_record_batchesEv">
<span id="_CPPv3NK5arrow3ipc21RecordBatchFileReader18num_record_batchesEv"></span><span id="_CPPv2NK5arrow3ipc21RecordBatchFileReader18num_record_batchesEv"></span><span id="arrow::ipc::RecordBatchFileReader::num_record_batchesC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a74ea326fbee08f5906dfb218900706ab"></span><span class="k"><span class="pre">virtual</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_record_batches</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc21RecordBatchFileReader18num_record_batchesEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Returns the number of record batches in the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc21RecordBatchFileReader7versionEv">
<span id="_CPPv3NK5arrow3ipc21RecordBatchFileReader7versionEv"></span><span id="_CPPv2NK5arrow3ipc21RecordBatchFileReader7versionEv"></span><span id="arrow::ipc::RecordBatchFileReader::versionC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a8a0e42bdaf417dbffb5f36ca37178823"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">MetadataVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">version</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc21RecordBatchFileReader7versionEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the metadata version from the file metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc21RecordBatchFileReader8metadataEv">
<span id="_CPPv3NK5arrow3ipc21RecordBatchFileReader8metadataEv"></span><span id="_CPPv2NK5arrow3ipc21RecordBatchFileReader8metadataEv"></span><span id="arrow::ipc::RecordBatchFileReader::metadataC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a8f203829465396657a0ebecdcbaea68e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">KeyValueMetadata</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">metadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc21RecordBatchFileReader8metadataEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the contents of the custom_metadata field from the file’s Footer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc21RecordBatchFileReader15ReadRecordBatchEi">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReader15ReadRecordBatchEi"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReader15ReadRecordBatchEi"></span><span id="arrow::ipc::RecordBatchFileReader::ReadRecordBatch__i"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1abfd1fad49dc2fc795befd03b2024359b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</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">ReadRecordBatch</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="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReader15ReadRecordBatchEi" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read a particular record batch from the file. </p>
<p>Does not copy memory if the input source supports zero-copy.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>i</strong><strong>[in]</strong> the index of the record batch to return </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the read batch </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc21RecordBatchFileReader5statsEv">
<span id="_CPPv3NK5arrow3ipc21RecordBatchFileReader5statsEv"></span><span id="_CPPv2NK5arrow3ipc21RecordBatchFileReader5statsEv"></span><span id="arrow::ipc::RecordBatchFileReader::statsC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a2b015b4a89566fee6e6e136fd114db65"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc9ReadStatsE" title="arrow::ipc::ReadStats"><span class="n"><span class="pre">ReadStats</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stats</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc21RecordBatchFileReader5statsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return current read statistics. </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="_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileERK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileERK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileERK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchFileReader::Open__io::RandomAccessFileP.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a0aea6c88ca401308475e96e72f3433f5"></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="#_CPPv4N5arrow3ipc21RecordBatchFileReaderE" title="arrow::ipc::RecordBatchFileReader"><span class="n"><span class="pre">RecordBatchFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">file</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileERK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a <a class="reference internal" href="#classarrow_1_1ipc_1_1_record_batch_file_reader"><span class="std std-ref">RecordBatchFileReader</span></a>. </p>
<p>Open a file-like object that is assumed to be self-contained; i.e., the end of the file interface is the end of the Arrow file. Note that there can be any amount of data preceding the Arrow-formatted data, because we need only locate the end of the Arrow file stream to discover the metadata and then proceed to read the data into memory. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileE7int64_tRK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileE7int64_tRK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileE7int64_tRK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchFileReader::Open__io::RandomAccessFileP.int64_t.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a01a15be3b2898c6c8c1e6c1466f39dd4"></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="#_CPPv4N5arrow3ipc21RecordBatchFileReaderE" title="arrow::ipc::RecordBatchFileReader"><span class="n"><span class="pre">RecordBatchFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">file</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">footer_offset</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenEPN2io16RandomAccessFileE7int64_tRK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a <a class="reference internal" href="#classarrow_1_1ipc_1_1_record_batch_file_reader"><span class="std std-ref">RecordBatchFileReader</span></a> If the file is embedded within some larger file or memory region, you can pass the absolute memory offset to the end of the file (which contains the metadata footer). </p>
<p>The metadata must have been written with memory offsets relative to the start of the containing file</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> the data source </p></li>
<li><p><strong>footer_offset</strong><strong>[in]</strong> the position of the end of the Arrow file </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for IPC reading </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the returned reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEERK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEERK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEERK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchFileReader::Open__std::shared_ptr:io::RandomAccessFile:CR.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a8588ab178da86959fd9e8759baf78005"></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="#_CPPv4N5arrow3ipc21RecordBatchFileReaderE" title="arrow::ipc::RecordBatchFileReader"><span class="n"><span class="pre">RecordBatchFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">file</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEERK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Version of Open that retains ownership of file. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> the data source </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for IPC reading </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the returned reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEE7int64_tRK14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEE7int64_tRK14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEE7int64_tRK14IpcReadOptions"></span><span id="arrow::ipc::RecordBatchFileReader::Open__std::shared_ptr:io::RandomAccessFile:CR.int64_t.IpcReadOptionsCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_file_reader_1a2c4fd24d1b172be479d16a50ea16d2fb"></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="#_CPPv4N5arrow3ipc21RecordBatchFileReaderE" title="arrow::ipc::RecordBatchFileReader"><span class="n"><span class="pre">RecordBatchFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">file</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">footer_offset</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc21RecordBatchFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEE7int64_tRK14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Version of Open that retains ownership of file. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> the data source </p></li>
<li><p><strong>footer_offset</strong><strong>[in]</strong> the position of the end of the Arrow file </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for IPC reading </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the returned reader </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="event-driven-api">
<h3>Event-driven API<a class="headerlink" href="#event-driven-api" title="Permalink to this headline"></a></h3>
<p>To read an IPC stream in event-driven fashion, you must implement a
<a class="reference internal" href="#_CPPv4N5arrow3ipc8ListenerE" title="arrow::ipc::Listener"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">Listener</span></code></a> subclass that you will pass to
<a class="reference internal" href="#_CPPv4N5arrow3ipc13StreamDecoderE" title="arrow::ipc::StreamDecoder"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">StreamDecoder</span></code></a>.</p>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc8ListenerE">
<span id="_CPPv3N5arrow3ipc8ListenerE"></span><span id="_CPPv2N5arrow3ipc8ListenerE"></span><span id="arrow::ipc::Listener"></span><span class="target" id="classarrow_1_1ipc_1_1_listener"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">Listener</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc8ListenerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>A general listener class to receive events. </p>
<p>You must implement callback methods for interested events.</p>
<p>This API is EXPERIMENTAL.</p>
<p><dl class="simple">
<dt><strong>Since</strong></dt><dd><p>0.17.0 </p>
</dd>
</dl>
</p>
<p>Subclassed by arrow::ipc::CollectListener</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="_CPPv4N5arrow3ipc8Listener5OnEOSEv">
<span id="_CPPv3N5arrow3ipc8Listener5OnEOSEv"></span><span id="_CPPv2N5arrow3ipc8Listener5OnEOSEv"></span><span id="arrow::ipc::Listener::OnEOS"></span><span class="target" id="classarrow_1_1ipc_1_1_listener_1a4484c1f30a7873c8c9db24180ab68915"></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">OnEOS</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc8Listener5OnEOSEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Called when end-of-stream is received. </p>
<p>The default implementation just returns <a class="reference internal" href="support.html#classarrow_1_1_status_1a5c0b0031db6eeec3dcc70485d24cfe03"><span class="std std-ref">arrow::Status::OK()</span></a>.</p>
<p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder"><span class="std std-ref">StreamDecoder</span></a> </p>
</dd>
</dl>
</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</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="_CPPv4N5arrow3ipc8Listener20OnRecordBatchDecodedENSt10shared_ptrI11RecordBatchEE">
<span id="_CPPv3N5arrow3ipc8Listener20OnRecordBatchDecodedENSt10shared_ptrI11RecordBatchEE"></span><span id="_CPPv2N5arrow3ipc8Listener20OnRecordBatchDecodedENSt10shared_ptrI11RecordBatchEE"></span><span id="arrow::ipc::Listener::OnRecordBatchDecoded__std::shared_ptr:RecordBatch:"></span><span class="target" id="classarrow_1_1ipc_1_1_listener_1aee30e5b08a255a8a8be87f59b3e17417"></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">OnRecordBatchDecoded</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="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">record_batch</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc8Listener20OnRecordBatchDecodedENSt10shared_ptrI11RecordBatchEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Called when a record batch is decoded. </p>
<p>The default implementation just returns <a class="reference internal" href="support.html#classarrow_1_1_status_1ae63ddaaa7db5edef4e75a26b693351a1"><span class="std std-ref">arrow::Status::NotImplemented()</span></a>.</p>
<p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder"><span class="std std-ref">StreamDecoder</span></a> </p>
</dd>
</dl>
</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>record_batch</strong><strong>[in]</strong> a record batch decoded </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc8Listener15OnSchemaDecodedENSt10shared_ptrI6SchemaEE">
<span id="_CPPv3N5arrow3ipc8Listener15OnSchemaDecodedENSt10shared_ptrI6SchemaEE"></span><span id="_CPPv2N5arrow3ipc8Listener15OnSchemaDecodedENSt10shared_ptrI6SchemaEE"></span><span id="arrow::ipc::Listener::OnSchemaDecoded__std::shared_ptr:Schema:"></span><span class="target" id="classarrow_1_1ipc_1_1_listener_1a18aa14c248dcc36fae10854f38f8c71e"></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">OnSchemaDecoded</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#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">schema</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc8Listener15OnSchemaDecodedENSt10shared_ptrI6SchemaEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Called when a schema is decoded. </p>
<p>The default implementation just returns <a class="reference internal" href="support.html#classarrow_1_1_status_1a5c0b0031db6eeec3dcc70485d24cfe03"><span class="std std-ref">arrow::Status::OK()</span></a>.</p>
<p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder"><span class="std std-ref">StreamDecoder</span></a> </p>
</dd>
</dl>
</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>schema</strong><strong>[in]</strong> a schema decoded </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc13StreamDecoderE">
<span id="_CPPv3N5arrow3ipc13StreamDecoderE"></span><span id="_CPPv2N5arrow3ipc13StreamDecoderE"></span><span id="arrow::ipc::StreamDecoder"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">StreamDecoder</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc13StreamDecoderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Push style stream decoder that receives data from user. </p>
<p>This class decodes the Apache Arrow IPC streaming format data.</p>
<p>This API is EXPERIMENTAL.</p>
<p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference external" href="https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format">https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format</a></p>
</dd>
<dt><strong>Since</strong></dt><dd><p>0.17.0 </p>
</dd>
</dl>
</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="_CPPv4N5arrow3ipc13StreamDecoder13StreamDecoderENSt10shared_ptrI8ListenerEE14IpcReadOptions">
<span id="_CPPv3N5arrow3ipc13StreamDecoder13StreamDecoderENSt10shared_ptrI8ListenerEE14IpcReadOptions"></span><span id="_CPPv2N5arrow3ipc13StreamDecoder13StreamDecoderENSt10shared_ptrI8ListenerEE14IpcReadOptions"></span><span id="arrow::ipc::StreamDecoder::StreamDecoder__std::shared_ptr:Listener:.IpcReadOptions"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1a3011f9acb0aa2525af282bb2b49aaf10"></span><span class="sig-name descname"><span class="n"><span class="pre">StreamDecoder</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="#_CPPv4N5arrow3ipc8ListenerE" title="arrow::ipc::Listener"><span class="n"><span class="pre">Listener</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">listener</span></span>, <a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc14IpcReadOptionsE" title="arrow::ipc::IpcReadOptions"><span class="n"><span class="pre">IpcReadOptions</span></span></a><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><a class="headerlink" href="#_CPPv4N5arrow3ipc13StreamDecoder13StreamDecoderENSt10shared_ptrI8ListenerEE14IpcReadOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Construct a stream decoder. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>listener</strong><strong>[in]</strong> a <a class="reference internal" href="#classarrow_1_1ipc_1_1_listener"><span class="std std-ref">Listener</span></a> that must implement <a class="reference internal" href="#classarrow_1_1ipc_1_1_listener_1aee30e5b08a255a8a8be87f59b3e17417"><span class="std std-ref">Listener::OnRecordBatchDecoded()</span></a> to receive decoded record batches </p></li>
<li><p><strong>options</strong><strong>[in]</strong> any IPC reading options (optional) </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc13StreamDecoder7ConsumeEPK7uint8_t7int64_t">
<span id="_CPPv3N5arrow3ipc13StreamDecoder7ConsumeEPK7uint8_t7int64_t"></span><span id="_CPPv2N5arrow3ipc13StreamDecoder7ConsumeEPK7uint8_t7int64_t"></span><span id="arrow::ipc::StreamDecoder::Consume__uint8_tCP.int64_t"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1a2b05c37f754e13c194878e8d240542b8"></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">Consume</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">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc13StreamDecoder7ConsumeEPK7uint8_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Feed data to the decoder as a raw data. </p>
<p>If the decoder can read one or more record batches by the data, the decoder calls listener-&gt;OnRecordBatchDecoded() with a decoded record batch multiple times.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>data</strong><strong>[in]</strong> a raw data to be processed. This data isn’t copied. The passed memory must be kept alive through record batch processing. </p></li>
<li><p><strong>size</strong><strong>[in]</strong> raw data size. </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc13StreamDecoder7ConsumeENSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow3ipc13StreamDecoder7ConsumeENSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow3ipc13StreamDecoder7ConsumeENSt10shared_ptrI6BufferEE"></span><span id="arrow::ipc::StreamDecoder::Consume__std::shared_ptr:Buffer:"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1a79715886a8a5e3efc71b7e9107eddc98"></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">Consume</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc13StreamDecoder7ConsumeENSt10shared_ptrI6BufferEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Feed data to the decoder as a <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
<p>If the decoder can read one or more record batches by the <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>, the decoder calls listener-&gt;RecordBatchReceived() with a decoded record batch multiple times.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>buffer</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> to be processed. </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc13StreamDecoder6schemaEv">
<span id="_CPPv3NK5arrow3ipc13StreamDecoder6schemaEv"></span><span id="_CPPv2NK5arrow3ipc13StreamDecoder6schemaEv"></span><span id="arrow::ipc::StreamDecoder::schemaC"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1a1432cd43d83730480d2241e13835ce74"></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#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</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">schema</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="#_CPPv4NK5arrow3ipc13StreamDecoder6schemaEv" title="Permalink to this definition"></a><br /></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>the shared schema of the record batches in the stream </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc13StreamDecoder18next_required_sizeEv">
<span id="_CPPv3NK5arrow3ipc13StreamDecoder18next_required_sizeEv"></span><span id="_CPPv2NK5arrow3ipc13StreamDecoder18next_required_sizeEv"></span><span id="arrow::ipc::StreamDecoder::next_required_sizeC"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1aa8c7ac5a806a8cc89306015095b098d2"></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">next_required_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc13StreamDecoder18next_required_sizeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the number of bytes needed to advance the state of the decoder. </p>
<p>This method is provided for users who want to optimize performance. Normal users don’t need to use this method.</p>
<p>Here is an example usage for normal users:</p>
<p><div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">buffer1</span><span class="p">);</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">buffer2</span><span class="p">);</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">buffer3</span><span class="p">);</span>
</pre></div>
</div>
</p>
<p>Decoder has internal buffer. If consumed data isn’t enough to advance the state of the decoder, consumed data is buffered to the internal buffer. It causes performance overhead.</p>
<p>If you pass <a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder_1aa8c7ac5a806a8cc89306015095b098d2"><span class="std std-ref">next_required_size()</span></a> size data to each <a class="reference internal" href="#classarrow_1_1ipc_1_1_stream_decoder_1a2b05c37f754e13c194878e8d240542b8"><span class="std std-ref">Consume()</span></a> call, the decoder doesn’t use its internal buffer. It improves performance.</p>
<p>Here is an example usage to avoid using internal buffer:</p>
<p><div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">buffer1</span> <span class="o">=</span> <span class="n">get_data</span><span class="p">(</span><span class="n">decoder</span><span class="p">.</span><span class="n">next_required_size</span><span class="p">());</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">buffer1</span><span class="p">);</span>
<span class="n">buffer2</span> <span class="o">=</span> <span class="n">get_data</span><span class="p">(</span><span class="n">decoder</span><span class="p">.</span><span class="n">next_required_size</span><span class="p">());</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">buffer2</span><span class="p">);</span>
</pre></div>
</div>
</p>
<p>Users can use this method to avoid creating small chunks. Record batch data must be contiguous data. If users pass small chunks to the decoder, the decoder needs concatenate small chunks internally. It causes performance overhead.</p>
<p>Here is an example usage to reduce small chunks:</p>
<p><div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">buffer</span> <span class="o">=</span> <span class="n">AllocateResizableBuffer</span><span class="p">();</span>
<span class="k">while</span> <span class="p">((</span><span class="n">small_chunk</span> <span class="o">=</span> <span class="n">get_data</span><span class="p">(</span><span class="o">&amp;</span><span class="n">small_chunk_size</span><span class="p">)))</span> <span class="p">{</span>
<span class="k">auto</span> <span class="n">current_buffer_size</span> <span class="o">=</span> <span class="n">buffer</span><span class="o">-&gt;</span><span class="n">size</span><span class="p">();</span>
<span class="n">buffer</span><span class="o">-&gt;</span><span class="n">Resize</span><span class="p">(</span><span class="n">current_buffer_size</span> <span class="o">+</span> <span class="n">small_chunk_size</span><span class="p">);</span>
<span class="n">memcpy</span><span class="p">(</span><span class="n">buffer</span><span class="o">-&gt;</span><span class="n">mutable_data</span><span class="p">()</span> <span class="o">+</span> <span class="n">current_buffer_size</span><span class="p">,</span>
<span class="n">small_chunk</span><span class="p">,</span>
<span class="n">small_chunk_size</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">buffer</span><span class="o">-&gt;</span><span class="n">size</span><span class="p">()</span> <span class="o">&lt;</span> <span class="n">decoder</span><span class="p">.</span><span class="n">next_required_size</span><span class="p">())</span> <span class="p">{</span>
<span class="k">continue</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">arrow</span><span class="o">::</span><span class="n">Buffer</span><span class="o">&gt;</span> <span class="n">chunk</span><span class="p">(</span><span class="n">buffer</span><span class="p">.</span><span class="n">release</span><span class="p">());</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">chunk</span><span class="p">);</span>
<span class="n">buffer</span> <span class="o">=</span> <span class="n">AllocateResizableBuffer</span><span class="p">();</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="n">buffer</span><span class="o">-&gt;</span><span class="n">size</span><span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">arrow</span><span class="o">::</span><span class="n">Buffer</span><span class="o">&gt;</span> <span class="n">chunk</span><span class="p">(</span><span class="n">buffer</span><span class="p">.</span><span class="n">release</span><span class="p">());</span>
<span class="n">decoder</span><span class="p">.</span><span class="n">Consume</span><span class="p">(</span><span class="n">chunk</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
</div>
</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>the number of bytes needed to advance the state of the decoder </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3ipc13StreamDecoder5statsEv">
<span id="_CPPv3NK5arrow3ipc13StreamDecoder5statsEv"></span><span id="_CPPv2NK5arrow3ipc13StreamDecoder5statsEv"></span><span id="arrow::ipc::StreamDecoder::statsC"></span><span class="target" id="classarrow_1_1ipc_1_1_stream_decoder_1a238b8fa539c479cb970c07fbf546db0e"></span><a class="reference internal" href="#_CPPv4N5arrow3ipc9ReadStatsE" title="arrow::ipc::ReadStats"><span class="n"><span class="pre">ReadStats</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stats</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="#_CPPv4NK5arrow3ipc13StreamDecoder5statsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return current read statistics. </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="statistics">
<h3>Statistics<a class="headerlink" href="#statistics" title="Permalink to this headline"></a></h3>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStatsE">
<span id="_CPPv3N5arrow3ipc9ReadStatsE"></span><span id="_CPPv2N5arrow3ipc9ReadStatsE"></span><span id="arrow::ipc::ReadStats"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">ReadStats</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc9ReadStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStats12num_messagesE">
<span id="_CPPv3N5arrow3ipc9ReadStats12num_messagesE"></span><span id="_CPPv2N5arrow3ipc9ReadStats12num_messagesE"></span><span id="arrow::ipc::ReadStats::num_messages__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats_1a831c5940243fe2f5db6055d1c2693b0e"></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">num_messages</span></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="#_CPPv4N5arrow3ipc9ReadStats12num_messagesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of IPC messages read. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStats18num_record_batchesE">
<span id="_CPPv3N5arrow3ipc9ReadStats18num_record_batchesE"></span><span id="_CPPv2N5arrow3ipc9ReadStats18num_record_batchesE"></span><span id="arrow::ipc::ReadStats::num_record_batches__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats_1a1985ac978e931ee853b6ad36b442679e"></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">num_record_batches</span></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="#_CPPv4N5arrow3ipc9ReadStats18num_record_batchesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of record batches read. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStats22num_dictionary_batchesE">
<span id="_CPPv3N5arrow3ipc9ReadStats22num_dictionary_batchesE"></span><span id="_CPPv2N5arrow3ipc9ReadStats22num_dictionary_batchesE"></span><span id="arrow::ipc::ReadStats::num_dictionary_batches__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats_1ab31b8bd214938ee8ed08ecdba237715c"></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">num_dictionary_batches</span></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="#_CPPv4N5arrow3ipc9ReadStats22num_dictionary_batchesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of dictionary batches read. </p>
<p>Note: num_dictionary_batches &gt;= num_dictionary_deltas + num_replaced_dictionaries </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStats21num_dictionary_deltasE">
<span id="_CPPv3N5arrow3ipc9ReadStats21num_dictionary_deltasE"></span><span id="_CPPv2N5arrow3ipc9ReadStats21num_dictionary_deltasE"></span><span id="arrow::ipc::ReadStats::num_dictionary_deltas__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats_1a97cddf894f39f4b708353786314641dd"></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">num_dictionary_deltas</span></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="#_CPPv4N5arrow3ipc9ReadStats21num_dictionary_deltasE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of dictionary deltas read. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc9ReadStats25num_replaced_dictionariesE">
<span id="_CPPv3N5arrow3ipc9ReadStats25num_replaced_dictionariesE"></span><span id="_CPPv2N5arrow3ipc9ReadStats25num_replaced_dictionariesE"></span><span id="arrow::ipc::ReadStats::num_replaced_dictionaries__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_read_stats_1afaa0eeffe0b58e206e7d710726e566d2"></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">num_replaced_dictionaries</span></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="#_CPPv4N5arrow3ipc9ReadStats25num_replaced_dictionariesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of replaced dictionaries (i.e. </p>
<p>where a dictionary batch replaces an existing dictionary with an unrelated new dictionary). </p>
</dd></dl>
</div>
</dd></dl>
</div>
</div>
<div class="section" id="writing-ipc-streams-and-files">
<h2>Writing IPC streams and files<a class="headerlink" href="#writing-ipc-streams-and-files" title="Permalink to this headline"></a></h2>
<div class="section" id="id1">
<h3>Blocking API<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h3>
<p>The IPC stream format is only optionally terminated, whereas the IPC file format
must include a terminating footer. Thus a writer of the IPC file format must be
explicitly finalized with <a class="reference internal" href="#_CPPv4N5arrow3ipc17RecordBatchWriter5CloseEv" title="arrow::ipc::RecordBatchWriter::Close"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">Close()</span></code></a> or the resulting
file will be corrupt.</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416MakeStreamWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions">
<span id="_CPPv316MakeStreamWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions"></span><span id="_CPPv216MakeStreamWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions"></span><span id="MakeStreamWriter__io::OutputStreamP.std::shared_ptr:Schema:CR.IpcWriteOptionsCR"></span><span class="target" id="group__record-batch-writer-factories_1ga2b514aa25a5d0954b026dd7bd3b973f4"></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">RecordBatchWriter</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">MakeStreamWriter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">sink</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><span class="n"><span class="pre">Schema</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">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</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><a class="headerlink" href="#_CPPv416MakeStreamWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a new IPC stream writer from stream sink and schema. </p>
<p>User is responsible for closing the actual OutputStream.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416MakeStreamWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions">
<span id="_CPPv316MakeStreamWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions"></span><span id="_CPPv216MakeStreamWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions"></span><span id="MakeStreamWriter__std::shared_ptr:io::OutputStream:.std::shared_ptr:Schema:CR.IpcWriteOptionsCR"></span><span class="target" id="group__record-batch-writer-factories_1ga3a85310e2402e59650cc7b13f7989a51"></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">RecordBatchWriter</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">MakeStreamWriter</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">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sink</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><span class="n"><span class="pre">Schema</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">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</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><a class="headerlink" href="#_CPPv416MakeStreamWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptions" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a new IPC stream writer from stream sink and schema. </p>
<p>User is responsible for closing the actual OutputStream.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv414MakeFileWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE">
<span id="_CPPv314MakeFileWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE"></span><span id="_CPPv214MakeFileWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE"></span><span id="MakeFileWriter__io::OutputStreamP.std::shared_ptr:Schema:CR.IpcWriteOptionsCR.std::shared_ptr:KeyValueMetadataC:CR"></span><span class="target" id="group__record-batch-writer-factories_1gaa2cfff8a11418dcdd6bb3a6ce94b3344"></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">RecordBatchWriter</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">MakeFileWriter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">sink</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><span class="n"><span class="pre">Schema</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">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</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="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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">KeyValueMetadata</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">metadata</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="#_CPPv414MakeFileWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a new IPC file writer from stream sink and schema. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization, optional </p></li>
<li><p><strong>metadata</strong><strong>[in]</strong> custom metadata for File Footer, optional </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv414MakeFileWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE">
<span id="_CPPv314MakeFileWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE"></span><span id="_CPPv214MakeFileWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE"></span><span id="MakeFileWriter__std::shared_ptr:io::OutputStream:.std::shared_ptr:Schema:CR.IpcWriteOptionsCR.std::shared_ptr:KeyValueMetadataC:CR"></span><span class="target" id="group__record-batch-writer-factories_1ga69581a387ad6bfa8e66d7be8d725ddfd"></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">RecordBatchWriter</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">MakeFileWriter</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">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sink</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><span class="n"><span class="pre">Schema</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">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">IpcWriteOptions</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="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="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">KeyValueMetadata</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">metadata</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="#_CPPv414MakeFileWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK15IpcWriteOptionsRKNSt10shared_ptrIK16KeyValueMetadataEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a new IPC file writer from stream sink and schema. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization, optional </p></li>
<li><p><strong>metadata</strong><strong>[in]</strong> custom metadata for File Footer, optional </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc17RecordBatchWriterE">
<span id="_CPPv3N5arrow3ipc17RecordBatchWriterE"></span><span id="_CPPv2N5arrow3ipc17RecordBatchWriterE"></span><span id="arrow::ipc::RecordBatchWriter"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">RecordBatchWriter</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc17RecordBatchWriterE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Abstract interface for writing a stream of record batches. </p>
<p>Subclassed by arrow::flight::MetadataRecordBatchWriter</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="_CPPv4N5arrow3ipc17RecordBatchWriter16WriteRecordBatchERK11RecordBatch">
<span id="_CPPv3N5arrow3ipc17RecordBatchWriter16WriteRecordBatchERK11RecordBatch"></span><span id="_CPPv2N5arrow3ipc17RecordBatchWriter16WriteRecordBatchERK11RecordBatch"></span><span id="arrow::ipc::RecordBatchWriter::WriteRecordBatch__RecordBatchCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer_1a9f8bf7d6a2fa74a05e345097aa171e6e"></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">WriteRecordBatch</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="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">batch</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc17RecordBatchWriter16WriteRecordBatchERK11RecordBatch" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write a record batch to the stream. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>batch</strong><strong>[in]</strong> the record batch to write to the stream </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table">
<span id="_CPPv3N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table"></span><span id="_CPPv2N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table"></span><span id="arrow::ipc::RecordBatchWriter::WriteTable__TableCR"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer_1ad1d588a01d6e03df40baa283d207d00c"></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">WriteTable</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="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write possibly-chunked table by creating sequence of record batches. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>table</strong><strong>[in]</strong> table to write </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table7int64_t">
<span id="_CPPv3N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table7int64_t"></span><span id="_CPPv2N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table7int64_t"></span><span id="arrow::ipc::RecordBatchWriter::WriteTable__TableCR.int64_t"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer_1a06c89fb76b176bcc4574dcdfc359f541"></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">WriteTable</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="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">max_chunksize</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3ipc17RecordBatchWriter10WriteTableERK5Table7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a> with a particular chunksize. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>table</strong><strong>[in]</strong> table to write </p></li>
<li><p><strong>max_chunksize</strong><strong>[in]</strong> maximum length of table chunks. To indicate that no maximum should be enforced, pass -1. </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc17RecordBatchWriter5CloseEv">
<span id="_CPPv3N5arrow3ipc17RecordBatchWriter5CloseEv"></span><span id="_CPPv2N5arrow3ipc17RecordBatchWriter5CloseEv"></span><span id="arrow::ipc::RecordBatchWriter::Close"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer_1ad1706dac64039b5e46bf03458d65ed1a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc17RecordBatchWriter5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Perform any logic necessary to finish the stream. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns</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="_CPPv4NK5arrow3ipc17RecordBatchWriter5statsEv">
<span id="_CPPv3NK5arrow3ipc17RecordBatchWriter5statsEv"></span><span id="_CPPv2NK5arrow3ipc17RecordBatchWriter5statsEv"></span><span id="arrow::ipc::RecordBatchWriter::statsC"></span><span class="target" id="classarrow_1_1ipc_1_1_record_batch_writer_1a2cf6f4aaf8852e7b51c754f95237c3d7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3ipc10WriteStatsE" title="arrow::ipc::WriteStats"><span class="n"><span class="pre">WriteStats</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stats</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3ipc17RecordBatchWriter5statsEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return current write statistics. </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="id2">
<h3>Statistics<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h3>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStatsE">
<span id="_CPPv3N5arrow3ipc10WriteStatsE"></span><span id="_CPPv2N5arrow3ipc10WriteStatsE"></span><span id="arrow::ipc::WriteStats"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">WriteStats</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3ipc10WriteStatsE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStats12num_messagesE">
<span id="_CPPv3N5arrow3ipc10WriteStats12num_messagesE"></span><span id="_CPPv2N5arrow3ipc10WriteStats12num_messagesE"></span><span id="arrow::ipc::WriteStats::num_messages__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats_1ac0a5d4660cfdbcf8a7ffc9ed9b8ac2a2"></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">num_messages</span></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="#_CPPv4N5arrow3ipc10WriteStats12num_messagesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of IPC messages written. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStats18num_record_batchesE">
<span id="_CPPv3N5arrow3ipc10WriteStats18num_record_batchesE"></span><span id="_CPPv2N5arrow3ipc10WriteStats18num_record_batchesE"></span><span id="arrow::ipc::WriteStats::num_record_batches__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats_1a30965e160abbff184dc43b60d5e910dc"></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">num_record_batches</span></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="#_CPPv4N5arrow3ipc10WriteStats18num_record_batchesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of record batches written. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStats22num_dictionary_batchesE">
<span id="_CPPv3N5arrow3ipc10WriteStats22num_dictionary_batchesE"></span><span id="_CPPv2N5arrow3ipc10WriteStats22num_dictionary_batchesE"></span><span id="arrow::ipc::WriteStats::num_dictionary_batches__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats_1af2eb900815d2aaecdd432c5f82521d3f"></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">num_dictionary_batches</span></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="#_CPPv4N5arrow3ipc10WriteStats22num_dictionary_batchesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of dictionary batches written. </p>
<p>Note: num_dictionary_batches &gt;= num_dictionary_deltas + num_replaced_dictionaries </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStats21num_dictionary_deltasE">
<span id="_CPPv3N5arrow3ipc10WriteStats21num_dictionary_deltasE"></span><span id="_CPPv2N5arrow3ipc10WriteStats21num_dictionary_deltasE"></span><span id="arrow::ipc::WriteStats::num_dictionary_deltas__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats_1a6af4385abbf241efa18fd4412f633b62"></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">num_dictionary_deltas</span></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="#_CPPv4N5arrow3ipc10WriteStats21num_dictionary_deltasE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of dictionary deltas written. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3ipc10WriteStats25num_replaced_dictionariesE">
<span id="_CPPv3N5arrow3ipc10WriteStats25num_replaced_dictionariesE"></span><span id="_CPPv2N5arrow3ipc10WriteStats25num_replaced_dictionariesE"></span><span id="arrow::ipc::WriteStats::num_replaced_dictionaries__int64_t"></span><span class="target" id="structarrow_1_1ipc_1_1_write_stats_1a2b661ba006fdee4583331605e14c5a1a"></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">num_replaced_dictionaries</span></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="#_CPPv4N5arrow3ipc10WriteStats25num_replaced_dictionariesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Number of replaced dictionaries (i.e. </p>
<p>where a dictionary batch replaces an existing dictionary with an unrelated new dictionary). </p>
</dd></dl>
</div>
</dd></dl>
</div>
</div>
</div>
</div>
<div class='prev-next-bottom'>
<a class='left-prev' id="prev-link" href="io.html" title="previous page">Input / output</a>
<a class='right-next' id="next-link" href="formats.html" title="next page">File Formats</a>
</div>
</main>
</div>
</div>
<script src="../../_static/js/index.1c5a1a01449ed65a7b51.js"></script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '20']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<footer class="footer mt-5 mt-md-0">
<div class="container">
<div class="footer-item">
<p class="copyright">
&copy; Copyright 2016-2019 Apache Software Foundation.<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.0.2.<br/>
</p>
</div>
</div>
</footer>
<script type="text/javascript" src="/docs/_static/versionwarning.js"></script> </body>
</html>