blob: 9142348af188ead94e1e4634dc245aacb24ac3fd [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Input / output &#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/io.html" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/api/io.html" />
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Arrow IPC" href="ipc.html" />
<link rel="prev" title="Utilities" href="utilities.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 current active">
<a class="current reference internal" href="#">
Input / output
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="ipc.html">
Arrow IPC
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="formats.html">
File Formats
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="cuda.html">
CUDA support
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="flight.html">
Arrow Flight RPC
</a>
</li>
<li class="toctree-l3">
<a class="reference internal" href="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="#interfaces">
Interfaces
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#concrete-implementations">
Concrete implementations
</a>
<ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#in-memory-streams">
In-memory streams
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#local-files">
Local files
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#buffering-input-output-wrappers">
Buffering input / output wrappers
</a>
</li>
<li class="toc-h3 nav-item toc-entry">
<a class="reference internal nav-link" href="#compressed-input-output-wrappers">
Compressed input / output wrappers
</a>
</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="input-output">
<h1>Input / output<a class="headerlink" href="#input-output" title="Permalink to this headline"></a></h1>
<div class="section" id="interfaces">
<h2>Interfaces<a class="headerlink" href="#interfaces" title="Permalink to this headline"></a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterfaceE">
<span id="_CPPv3N5arrow2io13FileInterfaceE"></span><span id="_CPPv2N5arrow2io13FileInterfaceE"></span><span id="arrow::io::FileInterface"></span><span class="target" id="classarrow_1_1io_1_1_file_interface"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">FileInterface</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterfaceE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">arrow::io::InputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">arrow::io::OutputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterface5CloseEv">
<span id="_CPPv3N5arrow2io13FileInterface5CloseEv"></span><span id="_CPPv2N5arrow2io13FileInterface5CloseEv"></span><span id="arrow::io::FileInterface::Close"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterface5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io13FileInterface5AbortEv">
<span id="_CPPv3N5arrow2io13FileInterface5AbortEv"></span><span id="_CPPv2N5arrow2io13FileInterface5AbortEv"></span><span id="arrow::io::FileInterface::Abort"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1a0fa59fe92d3c99c9d9701210626aac60"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io13FileInterface5AbortEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a0fa59fe92d3c99c9d9701210626aac60"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io13FileInterface4TellEv">
<span id="_CPPv3NK5arrow2io13FileInterface4TellEv"></span><span id="_CPPv2NK5arrow2io13FileInterface4TellEv"></span><span id="arrow::io::FileInterface::TellC"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1ac6c6709147a46cd7f45d0779c1819ce6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io13FileInterface4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io13FileInterface6closedEv">
<span id="_CPPv3NK5arrow2io13FileInterface6closedEv"></span><span id="_CPPv2NK5arrow2io13FileInterface6closedEv"></span><span id="arrow::io::FileInterface::closedC"></span><span class="target" id="classarrow_1_1io_1_1_file_interface_1a5ba1d2c3cec2e05e7b0018624f19c10b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io13FileInterface6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8ReadableE">
<span id="_CPPv3N5arrow2io8ReadableE"></span><span id="_CPPv2N5arrow2io8ReadableE"></span><span id="arrow::io::Readable"></span><span class="target" id="classarrow_1_1io_1_1_readable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">Readable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8ReadableE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">arrow::io::InputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Readable4ReadE7int64_tPv">
<span id="_CPPv3N5arrow2io8Readable4ReadE7int64_tPv"></span><span id="_CPPv2N5arrow2io8Readable4ReadE7int64_tPv"></span><span id="arrow::io::Readable::Read__int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_readable_1ab94d6d47006df39f6cf77c078a61b8d8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_tPv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position into <code class="docutils literal notranslate"><span class="pre">out</span></code>. The number of bytes read is returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Readable4ReadE7int64_t">
<span id="_CPPv3N5arrow2io8Readable4ReadE7int64_t"></span><span id="_CPPv2N5arrow2io8Readable4ReadE7int64_t"></span><span id="arrow::io::Readable::Read__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_readable_1aca2d005299c3af1092bedff34b5b015b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Readable4ReadE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position. Less bytes may be read if EOF is reached. This method updates the current file position.</p>
<p>In some cases (e.g. a memory-mapped file), this method may avoid a memory copy. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io8Readable10io_contextEv">
<span id="_CPPv3NK5arrow2io8Readable10io_contextEv"></span><span id="_CPPv2NK5arrow2io8Readable10io_contextEv"></span><span id="arrow::io::Readable::io_contextC"></span><span class="target" id="classarrow_1_1io_1_1_readable_1aa38b59cf3b63ca620d96679ef77bd96f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">io_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io8Readable10io_contextEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: The IOContext associated with this file. </p>
<p>By default, this is the same as default_io_context(), but it may be overriden by subclasses. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8SeekableE">
<span id="_CPPv3N5arrow2io8SeekableE"></span><span id="_CPPv2N5arrow2io8SeekableE"></span><span id="arrow::io::Seekable"></span><span class="target" id="classarrow_1_1io_1_1_seekable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Seekable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8SeekableE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">arrow::io::RandomAccessFile</span></a>, arrow::io::WritableFile</p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8WritableE">
<span id="_CPPv3N5arrow2io8WritableE"></span><span id="_CPPv2N5arrow2io8WritableE"></span><span id="arrow::io::Writable"></span><span class="target" id="classarrow_1_1io_1_1_writable"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">Writable</span></span></span><a class="headerlink" href="#_CPPv4N5arrow2io8WritableE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">arrow::io::OutputStream</span></a></p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io8Writable5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io8Writable5WriteEPKv7int64_t"></span><span id="arrow::io::Writable::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a51d9feed73c33f095ca4b9f35dede84d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::Writable::Write__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a048bbc5e85b1d739bc49c57553e85069"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5WriteERKNSt10shared_ptrI6BufferEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>Since the <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> owns its memory, this method can avoid a copy if buffering is required. See <a class="reference internal" href="#classarrow_1_1io_1_1_writable_1a51d9feed73c33f095ca4b9f35dede84d"><span class="std std-ref">Write(const void*, int64_t)</span></a> for details. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io8Writable5FlushEv">
<span id="_CPPv3N5arrow2io8Writable5FlushEv"></span><span id="_CPPv2N5arrow2io8Writable5FlushEv"></span><span id="arrow::io::Writable::Flush"></span><span class="target" id="classarrow_1_1io_1_1_writable_1a06e513a551f68603013c1586ba8b939f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io8Writable5FlushEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStreamE">
<span id="_CPPv3N5arrow2io11InputStreamE"></span><span id="_CPPv2N5arrow2io11InputStreamE"></span><span id="arrow::io::InputStream"></span><span class="target" id="classarrow_1_1io_1_1_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">InputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io13FileInterfaceE" title="arrow::io::FileInterface"><span class="n"><span class="pre">FileInterface</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8ReadableE" title="arrow::io::Readable"><span class="n"><span class="pre">Readable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io11InputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by arrow::io::internal::InputStreamConcurrencyWrapper&lt; Derived &gt;, <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">arrow::io::RandomAccessFile</span></a>, arrow::io::StdinStream, arrow::io::TransformInputStream, arrow::io::internal::InputStreamConcurrencyWrapper&lt; BufferedInputStream &gt;, arrow::io::internal::InputStreamConcurrencyWrapper&lt; CompressedInputStream &gt;, arrow::io::SlowInputStreamBase&lt; InputStream &gt;</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io11InputStream7AdvanceE7int64_t">
<span id="_CPPv3N5arrow2io11InputStream7AdvanceE7int64_t"></span><span id="_CPPv2N5arrow2io11InputStream7AdvanceE7int64_t"></span><span id="arrow::io::InputStream::Advance__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1ab5e2e1bdb05f7847363461bc3b90d386"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Advance</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream7AdvanceE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Advance or skip stream indicated number of bytes. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>nbytes</strong><strong>[in]</strong> the number to move forward </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="_CPPv4N5arrow2io11InputStream4PeekE7int64_t">
<span id="_CPPv3N5arrow2io11InputStream4PeekE7int64_t"></span><span id="_CPPv2N5arrow2io11InputStream4PeekE7int64_t"></span><span id="arrow::io::InputStream::Peek__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1aba80e2518abc166625077bd065ae3721"></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">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string_view</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Peek</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io11InputStream4PeekE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return zero-copy string_view to upcoming bytes. </p>
<p>Do not modify the stream position. The view becomes invalid after any operation on the stream. May trigger buffering if the requested size is larger than the number of buffered bytes.</p>
<p>May return NotImplemented on streams that don’t support it.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>nbytes</strong><strong>[in]</strong> the maximum number of bytes to see </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io11InputStream18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io11InputStream18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io11InputStream18supports_zero_copyEv"></span><span id="arrow::io::InputStream::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_input_stream_1a2b9978739db7fa75ba81e794bfba2a64"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io11InputStream18supports_zero_copyEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="#classarrow_1_1io_1_1_readable_1ab94d6d47006df39f6cf77c078a61b8d8"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFileE">
<span id="_CPPv3N5arrow2io16RandomAccessFileE"></span><span id="_CPPv2N5arrow2io16RandomAccessFileE"></span><span id="arrow::io::RandomAccessFile"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">RandomAccessFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">enable_shared_from_this</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_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="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8SeekableE" title="arrow::io::Seekable"><span class="n"><span class="pre">Seekable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by arrow::io::HdfsReadableFile, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; Derived &gt;, <a class="reference internal" href="#classarrow_1_1io_1_1_read_write_file_interface"><span class="std std-ref">arrow::io::ReadWriteFileInterface</span></a>, arrow::py::PyReadableFile, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; BufferReader &gt;, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; CudaBufferReader &gt;, arrow::io::internal::RandomAccessFileConcurrencyWrapper&lt; ReadableFile &gt;, arrow::io::SlowInputStreamBase&lt; RandomAccessFile &gt;</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFileD0Ev">
<span id="_CPPv3N5arrow2io16RandomAccessFileD0Ev"></span><span id="_CPPv2N5arrow2io16RandomAccessFileD0Ev"></span><span id="arrow::io::RandomAccessFile::~RandomAccessFile"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a30c6917dfe0b6e508dac2ecc81917187"></span><span class="sig-name descname"><span class="n"><span class="pre">~RandomAccessFile</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFileD0Ev" title="Permalink to this definition"></a><br /></dt>
<dd><p>Necessary because we hold a std::unique_ptr. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile7GetSizeEv">
<span id="_CPPv3N5arrow2io16RandomAccessFile7GetSizeEv"></span><span id="_CPPv2N5arrow2io16RandomAccessFile7GetSizeEv"></span><span id="arrow::io::RandomAccessFile::GetSize"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a2a476c2a6ad474e123d1aab20be289c4"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile7GetSizeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the total file size in bytes. </p>
<p>This method does not read or move the current file position, so is safe to call concurrently with e.g. <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1adb9d40656e516d6b77ee2bdfc00126f3"><span class="std std-ref">ReadAt()</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv">
<span id="_CPPv3N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv"></span><span id="_CPPv2N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv"></span><span id="arrow::io::RandomAccessFile::ReadAt__int64_t.int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1adb9d40656e516d6b77ee2bdfc00126f3"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_tPv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read. The number of bytes read is returned (it can be less than <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> if EOF is reached).</p>
<p>This method can be safely called from multiple threads concurrently. It is unspecified whether this method updates the file position or not.</p>
<p>The default RandomAccessFile-provided implementation uses Seek() and <a class="reference internal" href="#classarrow_1_1io_1_1_readable_1ab94d6d47006df39f6cf77c078a61b8d8"><span class="std std-ref">Read()</span></a>, but subclasses may override it with a more efficient implementation that doesn’t depend on implicit file positioning.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
<li><p><strong>out</strong><strong>[out]</strong> The buffer to read bytes into </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The number of bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAt__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a562433f2be06021acb9abd20bd5a8219"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile6ReadAtE7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read, but it can be less if EOF is reached.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A buffer containing the bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a1b91bcc59335ae5cc681254429e2b9a6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">Future</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncERK9IOContext7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::ReadAsync__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a8e4829346289cb8359e15ff680a7b07d"></span><span class="n"><span class="pre">Future</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9ReadAsyncE7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously, using the file’s IOContext. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::RandomAccessFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1ad65764b247e8f999c330aa106d72a988"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1adb9d40656e516d6b77ee2bdfc00126f3"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a1b91bcc59335ae5cc681254429e2b9a6"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t"></span><span id="arrow::io::RandomAccessFile::GetStream__std::shared_ptr:RandomAccessFile:.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_random_access_file_1a077348c5eb5ad0147582a3e5aa073847"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetStream</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file_offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16RandomAccessFile9GetStreamENSt10shared_ptrI16RandomAccessFileEE7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create an isolated <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> that reads a segment of a <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file"><span class="std std-ref">RandomAccessFile</span></a>. </p>
<p>Multiple such stream can be created and used independently without interference </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> a file instance </p></li>
<li><p><strong>file_offset</strong><strong>[in]</strong> the starting position in the file </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> the extent of bytes to read. The file should have sufficient bytes available </p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12OutputStreamE">
<span id="_CPPv3N5arrow2io12OutputStreamE"></span><span id="_CPPv2N5arrow2io12OutputStreamE"></span><span id="arrow::io::OutputStream"></span><span class="target" id="classarrow_1_1io_1_1_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io13FileInterfaceE" title="arrow::io::FileInterface"><span class="n"><span class="pre">FileInterface</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io8WritableE" title="arrow::io::Writable"><span class="n"><span class="pre">Writable</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io12OutputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream"><span class="std std-ref">arrow::io::BufferedOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_output_stream"><span class="std std-ref">arrow::io::BufferOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream"><span class="std std-ref">arrow::io::CompressedOutputStream</span></a>, <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">arrow::io::FileOutputStream</span></a>, arrow::io::HdfsOutputStream, <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream"><span class="std std-ref">arrow::io::MockOutputStream</span></a>, arrow::io::StderrStream, arrow::io::StdoutStream, arrow::io::WritableFile, arrow::py::PyOutputStream</p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22ReadWriteFileInterfaceE">
<span id="_CPPv3N5arrow2io22ReadWriteFileInterfaceE"></span><span id="_CPPv2N5arrow2io22ReadWriteFileInterfaceE"></span><span id="arrow::io::ReadWriteFileInterface"></span><span class="target" id="classarrow_1_1io_1_1_read_write_file_interface"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadWriteFileInterface</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">WritableFile</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22ReadWriteFileInterfaceE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Subclassed by <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file"><span class="std std-ref">arrow::io::MemoryMappedFile</span></a></p>
</dd></dl>
</div>
<div class="section" id="concrete-implementations">
<h2>Concrete implementations<a class="headerlink" href="#concrete-implementations" title="Permalink to this headline"></a></h2>
<div class="section" id="in-memory-streams">
<h3>In-memory streams<a class="headerlink" href="#in-memory-streams" title="Permalink to this headline"></a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReaderE">
<span id="_CPPv3N5arrow2io12BufferReaderE"></span><span id="_CPPv2N5arrow2io12BufferReaderE"></span><span id="arrow::io::BufferReader"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">BufferReader</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RandomAccessFileConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12BufferReaderE" title="arrow::io::BufferReader"><span class="n"><span class="pre">BufferReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReaderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Random access zero-copy reads on an <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">arrow::Buffer</span></a>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader12BufferReaderERKN4util11string_viewE">
<span id="_CPPv3N5arrow2io12BufferReader12BufferReaderERKN4util11string_viewE"></span><span id="_CPPv2N5arrow2io12BufferReader12BufferReaderERKN4util11string_viewE"></span><span id="arrow::io::BufferReader::BufferReader__util::string_viewCR"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a82646c45f8e663997b40a671141654a5"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BufferReader</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string_view</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader12BufferReaderERKN4util11string_viewE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Instantiate from std::string or arrow::util::string_view. </p>
<p>Does not own data </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12BufferReader6closedEv">
<span id="_CPPv3NK5arrow2io12BufferReader6closedEv"></span><span id="_CPPv2NK5arrow2io12BufferReader6closedEv"></span><span id="arrow::io::BufferReader::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a1f3192bdac4ac4739c26ef041f6387ee"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12BufferReader6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12BufferReader18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io12BufferReader18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io12BufferReader18supports_zero_copyEv"></span><span id="arrow::io::BufferReader::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a3807b37ca7cbb78635b9f4acc2bb27d0"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12BufferReader18supports_zero_copyEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning Read() overloads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::BufferReader::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1a46c439cae821d279db63446d3cf1e90c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">Future</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader9ReadAsyncERK9IOContext7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::BufferReader::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_buffer_reader_1aa6955b1df534b42b207f62dad3370791"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12BufferReader8WillNeedERKNSt6vectorI9ReadRangeEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use ReadAt() or <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_reader_1a46c439cae821d279db63446d3cf1e90c"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStreamE">
<span id="_CPPv3N5arrow2io16MockOutputStreamE"></span><span id="_CPPv2N5arrow2io16MockOutputStreamE"></span><span id="arrow::io::MockOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">MockOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>A helper class to tracks the size of allocations. </p>
<p>Writes to this stream do not copy or retain any data, they just bump a size counter that can be later used to know exactly which data size needs to be allocated for actual writing. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io16MockOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io16MockOutputStream5CloseEv"></span><span id="arrow::io::MockOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1ace3c697a51836d1d9ac31cda18089843"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStream5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream_1ace3c697a51836d1d9ac31cda18089843"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_mock_output_stream_1a15c20485d58b06a8c82ee71af1d4bfa6"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MockOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io16MockOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io16MockOutputStream6closedEv"></span><span id="arrow::io::MockOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1a15c20485d58b06a8c82ee71af1d4bfa6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MockOutputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MockOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io16MockOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io16MockOutputStream4TellEv"></span><span id="arrow::io::MockOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1ad37eeb46671d5b246372bafcf848e797"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MockOutputStream4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MockOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16MockOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MockOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::MockOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_mock_output_stream_1a1eaec4069a49129bed7af3476128526f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MockOutputStream5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStreamE">
<span id="_CPPv3N5arrow2io18BufferOutputStreamE"></span><span id="_CPPv2N5arrow2io18BufferOutputStreamE"></span><span id="arrow::io::BufferOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">BufferOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An output stream that writes to a resizable buffer. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io18BufferOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5CloseEv"></span><span id="arrow::io::BufferOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1aae54be3eb7dcb37dabe7618623c52e94"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream, preserving the buffer (retrieve it with <a class="reference internal" href="#classarrow_1_1io_1_1_buffer_output_stream_1a2134ef7ac4fe7913f954e69929a7010a"><span class="std std-ref">Finish()</span></a>). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io18BufferOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io18BufferOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io18BufferOutputStream6closedEv"></span><span id="arrow::io::BufferOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1ab87ed9577b7ab013e072f98628d3def4"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io18BufferOutputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io18BufferOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io18BufferOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io18BufferOutputStream4TellEv"></span><span id="arrow::io::BufferOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a040dc81f53967d471cb8fad3b53fb088"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io18BufferOutputStream4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io18BufferOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::BufferOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a8e637f158713cbc254e714d83a5710d9"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream6FinishEv">
<span id="_CPPv3N5arrow2io18BufferOutputStream6FinishEv"></span><span id="_CPPv2N5arrow2io18BufferOutputStream6FinishEv"></span><span id="arrow::io::BufferOutputStream::Finish"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a2134ef7ac4fe7913f954e69929a7010a"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Finish</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream6FinishEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream and return the buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool">
<span id="_CPPv3N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool"></span><span id="_CPPv2N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool"></span><span id="arrow::io::BufferOutputStream::Reset__int64_t.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1ab091b19b1d87cfcc5586f7d31773a74d"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Reset</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">initial_capacity</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream5ResetE7int64_tP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Initialize state of <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a> with newly allocated memory and set position to 0. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>initial_capacity</strong><strong>[in]</strong> the starting allocated capacity </p></li>
<li><p><strong>pool</strong><strong>[inout]</strong> the memory pool to use for allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool">
<span id="_CPPv3N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool"></span><span id="_CPPv2N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool"></span><span id="arrow::io::BufferOutputStream::Create__int64_t.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_buffer_output_stream_1a8e587b9472f17f89760aa1ea26c8bd6c"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io18BufferOutputStreamE" title="arrow::io::BufferOutputStream"><span class="n"><span class="pre">BufferOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">initial_capacity</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">4096</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io18BufferOutputStream6CreateE7int64_tP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create in-memory output stream with indicated capacity using a memory pool. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>initial_capacity</strong><strong>[in]</strong> the initial allocated internal capacity of the <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a> </p></li>
<li><p><strong>pool</strong><strong>[inout]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created stream </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriterE">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriterE"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriterE"></span><span id="arrow::io::FixedSizeBufferWriter"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">FixedSizeBufferWriter</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">WritableFile</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriterE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An output stream that writes into a fixed-size mutable buffer. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::FixedSizeBufferWriter::FixedSizeBufferWriter__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a54aacd40e26b32dbe6bc52669adf1045"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FixedSizeBufferWriter</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter21FixedSizeBufferWriterERKNSt10shared_ptrI6BufferEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Input buffer must be mutable, will abort if not. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter5CloseEv">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter5CloseEv"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter5CloseEv"></span><span id="arrow::io::FixedSizeBufferWriter::Close"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a23897d9eb4988d489f7e8a444211a54f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_fixed_size_buffer_writer_1a23897d9eb4988d489f7e8a444211a54f"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_fixed_size_buffer_writer_1a2058a1392d03ff754f3fbe00c5f84263"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21FixedSizeBufferWriter6closedEv">
<span id="_CPPv3NK5arrow2io21FixedSizeBufferWriter6closedEv"></span><span id="_CPPv2NK5arrow2io21FixedSizeBufferWriter6closedEv"></span><span id="arrow::io::FixedSizeBufferWriter::closedC"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a2058a1392d03ff754f3fbe00c5f84263"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21FixedSizeBufferWriter4TellEv">
<span id="_CPPv3NK5arrow2io21FixedSizeBufferWriter4TellEv"></span><span id="_CPPv2NK5arrow2io21FixedSizeBufferWriter4TellEv"></span><span id="arrow::io::FixedSizeBufferWriter::TellC"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a5bcd09d7754b10701b091098c4762711"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21FixedSizeBufferWriter4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t"></span><span id="arrow::io::FixedSizeBufferWriter::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_fixed_size_buffer_writer_1a5b4d5f27023b1e90fa33c72c867bf88b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21FixedSizeBufferWriter5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="local-files">
<h3>Local files<a class="headerlink" href="#local-files" title="Permalink to this headline"></a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFileE">
<span id="_CPPv3N5arrow2io12ReadableFileE"></span><span id="_CPPv2N5arrow2io12ReadableFileE"></span><span id="arrow::io::ReadableFile"></span><span class="target" id="classarrow_1_1io_1_1_readable_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">ReadableFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RandomAccessFileConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFileE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An operating system file open in read-only mode. </p>
<p>Reads through this implementation are unbuffered. If many small reads need to be issued, it is recommended to use a buffering layer for good performance. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io12ReadableFile6closedEv">
<span id="_CPPv3NK5arrow2io12ReadableFile6closedEv"></span><span id="_CPPv2NK5arrow2io12ReadableFile6closedEv"></span><span id="arrow::io::ReadableFile::closedC"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1aeb1f2f17a1373e4bd9ae6e38e84d12d2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io12ReadableFile6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::ReadableFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1ab1b809276c99b47399d5d7072ccaf71b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1adb9d40656e516d6b77ee2bdfc00126f3"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_random_access_file_1a1b91bcc59335ae5cc681254429e2b9a6"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool">
<span id="_CPPv3N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool"></span><span id="_CPPv2N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool"></span><span id="arrow::io::ReadableFile::Open__ssCR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1a8ea5d570ce650efc53904dc42819afce"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile4OpenERKNSt6stringEP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a local file for reading. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>path</strong><strong>[in]</strong> with UTF8 encoding </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> for memory allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a> instance </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io12ReadableFile4OpenEiP10MemoryPool">
<span id="_CPPv3N5arrow2io12ReadableFile4OpenEiP10MemoryPool"></span><span id="_CPPv2N5arrow2io12ReadableFile4OpenEiP10MemoryPool"></span><span id="arrow::io::ReadableFile::Open__i.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_readable_file_1a4f5392048d135e7df52eb74738136e97"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12ReadableFileE" title="arrow::io::ReadableFile"><span class="n"><span class="pre">ReadableFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">fd</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io12ReadableFile4OpenEiP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a local file for reading. </p>
<p>
The file descriptor becomes owned by the <a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a>, and will be closed on <a class="reference internal" href="#classarrow_1_1io_1_1_file_interface_1ae0f46d227a430af180576715e7aa0b78"><span class="std std-ref">Close()</span></a> or destruction. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>fd</strong><strong>[in]</strong> file descriptor </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> for memory allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="#classarrow_1_1io_1_1_readable_file"><span class="std std-ref">ReadableFile</span></a> instance</p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStreamE">
<span id="_CPPv3N5arrow2io16FileOutputStreamE"></span><span id="_CPPv2N5arrow2io16FileOutputStreamE"></span><span id="arrow::io::FileOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">FileOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An operating system file open in write-only mode. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io16FileOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io16FileOutputStream5CloseEv"></span><span id="arrow::io::FileOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a94f90b0171ff2a53d80394165cf58d4a"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16FileOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io16FileOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io16FileOutputStream6closedEv"></span><span id="arrow::io::FileOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a94f90b0171ff2a53d80394165cf58d4a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16FileOutputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16FileOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io16FileOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io16FileOutputStream4TellEv"></span><span id="arrow::io::FileOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a270bfa60011624aebf9cec2b619cf6e8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16FileOutputStream4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16FileOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16FileOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::FileOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a0f696e1c6827955c6306337b930247ca"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream4OpenERKNSt6stringEb">
<span id="_CPPv3N5arrow2io16FileOutputStream4OpenERKNSt6stringEb"></span><span id="_CPPv2N5arrow2io16FileOutputStream4OpenERKNSt6stringEb"></span><span id="arrow::io::FileOutputStream::Open__ssCR.b"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a27363f7b230b20768be6d2f606667829"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="arrow::io::FileOutputStream"><span class="n"><span class="pre">FileOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">append</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream4OpenERKNSt6stringEb" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a local file for writing, truncating any existing file. </p>
<p>
When opening a new file, any existing file with the indicated path is truncated to 0 bytes, deleting any existing data </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>path</strong><strong>[in]</strong> with UTF8 encoding </p></li>
<li><p><strong>append</strong><strong>[in]</strong> append to existing file, otherwise truncate to 0 bytes </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>an open <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16FileOutputStream4OpenEi">
<span id="_CPPv3N5arrow2io16FileOutputStream4OpenEi"></span><span id="_CPPv2N5arrow2io16FileOutputStream4OpenEi"></span><span id="arrow::io::FileOutputStream::Open__i"></span><span class="target" id="classarrow_1_1io_1_1_file_output_stream_1a6096b1b7a24724e32fb6aa078f9fdd12"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16FileOutputStreamE" title="arrow::io::FileOutputStream"><span class="n"><span class="pre">FileOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">fd</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16FileOutputStream4OpenEi" title="Permalink to this definition"></a><br /></dt>
<dd><p>Open a file descriptor for writing. </p>
<p><p>The underlying file isn’t truncated.</p>
<p>The file descriptor becomes owned by the</p>
<a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>, and will be closed on <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream_1a4fdfa45d3271c43096508d09c30e08c2"><span class="std std-ref">Close()</span></a> or destruction. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>fd</strong><strong>[in]</strong> file descriptor </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>an open <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFileE">
<span id="_CPPv3N5arrow2io16MemoryMappedFileE"></span><span id="_CPPv2N5arrow2io16MemoryMappedFileE"></span><span id="arrow::io::MemoryMappedFile"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">MemoryMappedFile</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io22ReadWriteFileInterfaceE" title="arrow::io::ReadWriteFileInterface"><span class="n"><span class="pre">ReadWriteFileInterface</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFileE" title="Permalink to this definition"></a><br /></dt>
<dd><p>A file interface that uses memory-mapped files for memory interactions. </p>
<p>This implementation supports zero-copy reads. The same class is used for both reading and writing.</p>
<p>If opening a file in a writable mode, it is not truncated first as with <a class="reference internal" href="#classarrow_1_1io_1_1_file_output_stream"><span class="std std-ref">FileOutputStream</span></a>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile5CloseEv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile5CloseEv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile5CloseEv"></span><span id="arrow::io::MemoryMappedFile::Close"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a344ef060df35e0aad557946193119a05"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream cleanly. </p>
<p>For writable streams, this will attempt to flush any pending data before releasing the underlying resource.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a344ef060df35e0aad557946193119a05"><span class="std std-ref">Close()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1ad1ed6c7dc1f2acc2b60bb6126cf144f5"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile6closedEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile6closedEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile6closedEv"></span><span id="arrow::io::MemoryMappedFile::closedC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1ad1ed6c7dc1f2acc2b60bb6126cf144f5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile4TellEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile4TellEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile4TellEv"></span><span id="arrow::io::MemoryMappedFile::TellC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a588a0a68a01f581ba9bfcaa7140b942e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_tPv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile4ReadE7int64_tPv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile4ReadE7int64_tPv"></span><span id="arrow::io::MemoryMappedFile::Read__int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a83be46ee28680723283ba22c11fc7c41"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_tPv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position into <code class="docutils literal notranslate"><span class="pre">out</span></code>. The number of bytes read is returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile4ReadE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile4ReadE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Read__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a2e9d0c63e19ef1148d5f5dfb976e6fbf"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile4ReadE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from current file position. </p>
<p>Read at most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> from the current file position. Less bytes may be read if EOF is reached. This method updates the current file position.</p>
<p>In some cases (e.g. a memory-mapped file), this method may avoid a memory copy. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t"></span><span id="arrow::io::MemoryMappedFile::ReadAt__int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a511e515662f65b931ed181d6865f7629"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read, but it can be less if EOF is reached.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A buffer containing the bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv"></span><span id="arrow::io::MemoryMappedFile::ReadAt__int64_t.int64_t.voidP"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a862f6eb20f0da6bf429c708de3d035ba"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ReadAtE7int64_t7int64_tPv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Read data from given file position. </p>
<p>At most <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> bytes are read. The number of bytes read is returned (it can be less than <code class="docutils literal notranslate"><span class="pre">nbytes</span></code> if EOF is reached).</p>
<p>This method can be safely called from multiple threads concurrently. It is unspecified whether this method updates the file position or not.</p>
<p>The default RandomAccessFile-provided implementation uses Seek() and <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a83be46ee28680723283ba22c11fc7c41"><span class="std std-ref">Read()</span></a>, but subclasses may override it with a more efficient implementation that doesn’t depend on implicit file positioning.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>position</strong><strong>[in]</strong> Where to read bytes from </p></li>
<li><p><strong>nbytes</strong><strong>[in]</strong> The number of bytes to read </p></li>
<li><p><strong>out</strong><strong>[out]</strong> The buffer to read bytes into </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The number of bytes read, or an error </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t"></span><span id="arrow::io::MemoryMappedFile::ReadAsync__IOContextCR.int64_t.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1adecbce8667bbe48df7c99b776186004a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">Future</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">IOContext</span></span><span class="p"><span class="pre">&amp;</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile9ReadAsyncERK9IOContext7int64_t7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Read data asynchronously. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE">
<span id="_CPPv3N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE"></span><span id="arrow::io::MemoryMappedFile::WillNeed__std::vector:ReadRange:CR"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a9e3146e36382b4d8bf4728aca28cc4cc"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WillNeed</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ReadRange</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ranges</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile8WillNeedERKNSt6vectorI9ReadRangeEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>EXPERIMENTAL: Inform that the given ranges may be read soon. </p>
<p>Some implementations might arrange to prefetch some of the data. However, no guarantee is made and the default implementation does nothing. For robust prefetching, use <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a511e515662f65b931ed181d6865f7629"><span class="std std-ref">ReadAt()</span></a> or <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1adecbce8667bbe48df7c99b776186004a"><span class="std std-ref">ReadAsync()</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io16MemoryMappedFile18supports_zero_copyEv">
<span id="_CPPv3NK5arrow2io16MemoryMappedFile18supports_zero_copyEv"></span><span id="_CPPv2NK5arrow2io16MemoryMappedFile18supports_zero_copyEv"></span><span id="arrow::io::MemoryMappedFile::supports_zero_copyC"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a6b0d674e00a742b563c092a3175d79eb"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supports_zero_copy</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io16MemoryMappedFile18supports_zero_copyEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return true if <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> is capable of zero copy <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> reads. </p>
<p>Zero copy reads imply the use of Buffer-returning <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a83be46ee28680723283ba22c11fc7c41"><span class="std std-ref">Read()</span></a> overloads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t"></span><span id="arrow::io::MemoryMappedFile::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a8010d2df9fe39e6bd977f62cc9fab57b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write data at the current position in the file. Thread-safe. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6ResizeE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6ResizeE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6ResizeE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Resize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a9858f77facb1cad90de5cf083b003b09"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Resize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6ResizeE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set the size of the map to new_size. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t"></span><span id="arrow::io::MemoryMappedFile::WriteAt__int64_t.voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1afae233e4bc2f99f985a0b44f07f92f2f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteAt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">position</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile7WriteAtE7int64_tPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write data at a particular position in the file. Thread-safe. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile7GetSizeEv">
<span id="_CPPv3N5arrow2io16MemoryMappedFile7GetSizeEv"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile7GetSizeEv"></span><span id="arrow::io::MemoryMappedFile::GetSize"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1afa7949f86824b7f48064d172949248f2"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile7GetSizeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the total file size in bytes. </p>
<p>This method does not read or move the current file position, so is safe to call concurrently with e.g. <a class="reference internal" href="#classarrow_1_1io_1_1_memory_mapped_file_1a511e515662f65b931ed181d6865f7629"><span class="std std-ref">ReadAt()</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t">
<span id="_CPPv3N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t"></span><span id="_CPPv2N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t"></span><span id="arrow::io::MemoryMappedFile::Create__ssCR.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_memory_mapped_file_1a8a8e0c3030ade61b1fd013b999796afe"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io16MemoryMappedFileE" title="arrow::io::MemoryMappedFile"><span class="n"><span class="pre">MemoryMappedFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io16MemoryMappedFile6CreateERKNSt6stringE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create new file with indicated size, return in read/write mode. </p>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="buffering-input-output-wrappers">
<h3>Buffering input / output wrappers<a class="headerlink" href="#buffering-input-output-wrappers" title="Permalink to this headline"></a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStreamE">
<span id="_CPPv3N5arrow2io19BufferedInputStreamE"></span><span id="_CPPv2N5arrow2io19BufferedInputStreamE"></span><span id="arrow::io::BufferedInputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">BufferedInputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">InputStreamConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="arrow::io::BufferedInputStream"><span class="n"><span class="pre">BufferedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> that performs buffered reads from an unbuffered <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>, which can mitigate the overhead of many small reads in some cases. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t">
<span id="_CPPv3N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t"></span><span id="_CPPv2N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t"></span><span id="arrow::io::BufferedInputStream::SetBufferSize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a3b07e80e7c81f57cc04cc4eeb310aac4"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SetBufferSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_buffer_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream13SetBufferSizeE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Resize internal read buffer; calls to Read(…) will read at least. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>new_buffer_size</strong><strong>[in]</strong> the new read buffer size </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream14bytes_bufferedEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream14bytes_bufferedEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream14bytes_bufferedEv"></span><span id="arrow::io::BufferedInputStream::bytes_bufferedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a7f4072b96ce0f3b1ead0e5392399ba17"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_buffered</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream14bytes_bufferedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the number of remaining bytes in the read buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream11buffer_sizeEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream11buffer_sizeEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream11buffer_sizeEv"></span><span id="arrow::io::BufferedInputStream::buffer_sizeC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1ab5ebda44de23a2a8fd3ec0a2e6832aea"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream11buffer_sizeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the current size of the internal buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream6DetachEv">
<span id="_CPPv3N5arrow2io19BufferedInputStream6DetachEv"></span><span id="_CPPv2N5arrow2io19BufferedInputStream6DetachEv"></span><span id="arrow::io::BufferedInputStream::Detach"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a089e65582532e9a786aab243b9b113bc"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Detach</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream6DetachEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Release the raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
<p>Any data buffered will be discarded. Further operations on this object are invalid </p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>raw the underlying <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream3rawEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream3rawEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream3rawEv"></span><span id="arrow::io::BufferedInputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1ae2d0f3caa78eed05bc39f152deb43e8d"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream3rawEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the unbuffered <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io19BufferedInputStream6closedEv">
<span id="_CPPv3NK5arrow2io19BufferedInputStream6closedEv"></span><span id="_CPPv2NK5arrow2io19BufferedInputStream6closedEv"></span><span id="arrow::io::BufferedInputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a5e40d419e1d91264f0535c047243c540"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io19BufferedInputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t">
<span id="_CPPv3N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t"></span><span id="_CPPv2N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t"></span><span id="arrow::io::BufferedInputStream::Create__int64_t.MemoryPoolP.std::shared_ptr:InputStream:.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_input_stream_1a8921a8ed2fb2cea91a5943484338723c"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io19BufferedInputStreamE" title="arrow::io::BufferedInputStream"><span class="n"><span class="pre">BufferedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer_size</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw_read_bound</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="o"><span class="pre">-</span></span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io19BufferedInputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI11InputStreamEE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_input_stream"><span class="std std-ref">BufferedInputStream</span></a> from a raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>buffer_size</strong><strong>[in]</strong> the size of the temporary read buffer </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
<li><p><strong>raw</strong><strong>[in]</strong> a raw <a class="reference internal" href="#classarrow_1_1io_1_1_input_stream"><span class="std std-ref">InputStream</span></a> </p></li>
<li><p><strong>raw_read_bound</strong><strong>[in]</strong> a bound on the maximum number of bytes to read from the raw input stream. The default -1 indicates that it is unbounded </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_input_stream"><span class="std std-ref">BufferedInputStream</span></a> </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStreamE">
<span id="_CPPv3N5arrow2io20BufferedOutputStreamE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStreamE"></span><span id="arrow::io::BufferedOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">BufferedOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStreamE" title="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-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t">
<span id="_CPPv3N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t"></span><span id="arrow::io::BufferedOutputStream::SetBufferSize__int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ae18b5e1a2cc3569b6e24fa6c3b140a3d"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SetBufferSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_buffer_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream13SetBufferSizeE7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Resize internal buffer. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>new_buffer_size</strong><strong>[in]</strong> the new buffer size </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream11buffer_sizeEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream11buffer_sizeEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream11buffer_sizeEv"></span><span id="arrow::io::BufferedOutputStream::buffer_sizeC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a5de98a16d40e25305b71a4716a1132b2"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream11buffer_sizeEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the current size of the internal buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream14bytes_bufferedEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream14bytes_bufferedEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream14bytes_bufferedEv"></span><span id="arrow::io::BufferedOutputStream::bytes_bufferedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1acfb508c7a0b77382e4fbaa86b73f5e56"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_buffered</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream14bytes_bufferedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the number of remaining bytes that have not been flushed to the raw <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream6DetachEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream6DetachEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream6DetachEv"></span><span id="arrow::io::BufferedOutputStream::Detach"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a9112ecd103ac47cc8d5513dc43d9c1ce"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Detach</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream6DetachEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flush any buffered writes and release the raw <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a>. </p>
<p>Further operations on this object are invalid </p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>the underlying <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5CloseEv"></span><span id="arrow::io::BufferedOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1aa0421fd0d9031a8491cb00d67e90a0b1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the buffered output stream. </p>
<p>This implicitly closes the underlying raw output stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5AbortEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5AbortEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5AbortEv"></span><span id="arrow::io::BufferedOutputStream::Abort"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a915a615b0f366addbec2daa6415e24b6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5AbortEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1a915a615b0f366addbec2daa6415e24b6"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1ac07e74957c892a21d94819f069424e2d"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream6closedEv"></span><span id="arrow::io::BufferedOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ac07e74957c892a21d94819f069424e2d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream4TellEv"></span><span id="arrow::io::BufferedOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1ade612281d5c3d1fbe74db0b24017c6b1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::BufferedOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a5668ed55058204e0235f58e036621a45"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE"></span><span id="arrow::io::BufferedOutputStream::Write__std::shared_ptr:Buffer:CR"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1aabc285ebb13d48a41e21efbaa1a98487"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow6BufferE" title="arrow::Buffer"><span class="n"><span class="pre">Buffer</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5WriteERKNSt10shared_ptrI6BufferEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>Since the <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a> owns its memory, this method can avoid a copy if buffering is required. See <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream_1a5668ed55058204e0235f58e036621a45"><span class="std std-ref">Write(const void*, int64_t)</span></a> for details. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream5FlushEv">
<span id="_CPPv3N5arrow2io20BufferedOutputStream5FlushEv"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream5FlushEv"></span><span id="arrow::io::BufferedOutputStream::Flush"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a31c9b6cdaad2df77af04bf7214e4b7b3"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream5FlushEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io20BufferedOutputStream3rawEv">
<span id="_CPPv3NK5arrow2io20BufferedOutputStream3rawEv"></span><span id="_CPPv2NK5arrow2io20BufferedOutputStream3rawEv"></span><span id="arrow::io::BufferedOutputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a927549cfa3852a6e8089a4053b414770"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io20BufferedOutputStream3rawEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the underlying raw output stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE">
<span id="_CPPv3N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE"></span><span id="_CPPv2N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE"></span><span id="arrow::io::BufferedOutputStream::Create__int64_t.MemoryPoolP.std::shared_ptr:OutputStream:"></span><span class="target" id="classarrow_1_1io_1_1_buffered_output_stream_1a3518c650f23bc2fe7ed7c1f54c2c5800"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io20BufferedOutputStreamE" title="arrow::io::BufferedOutputStream"><span class="n"><span class="pre">BufferedOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Create</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">buffer_size</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">raw</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io20BufferedOutputStream6CreateE7int64_tP10MemoryPoolNSt10shared_ptrI12OutputStreamEE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a buffered output stream wrapping the given output stream. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>buffer_size</strong><strong>[in]</strong> the size of the temporary write buffer </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for allocations </p></li>
<li><p><strong>raw</strong><strong>[in]</strong> another <a class="reference internal" href="#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">OutputStream</span></a> </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the created <a class="reference internal" href="#classarrow_1_1io_1_1_buffered_output_stream"><span class="std std-ref">BufferedOutputStream</span></a> </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</div>
<div class="section" id="compressed-input-output-wrappers">
<h3>Compressed input / output wrappers<a class="headerlink" href="#compressed-input-output-wrappers" title="Permalink to this headline"></a></h3>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStreamE">
<span id="_CPPv3N5arrow2io21CompressedInputStreamE"></span><span id="_CPPv2N5arrow2io21CompressedInputStreamE"></span><span id="arrow::io::CompressedInputStream"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">CompressedInputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">InputStreamConcurrencyWrapper</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="arrow::io::CompressedInputStream"><span class="n"><span class="pre">CompressedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="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-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21CompressedInputStream6closedEv">
<span id="_CPPv3NK5arrow2io21CompressedInputStream6closedEv"></span><span id="_CPPv2NK5arrow2io21CompressedInputStream6closedEv"></span><span id="arrow::io::CompressedInputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1a24019d6b106bc10545df7cac52b0b63b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21CompressedInputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io21CompressedInputStream3rawEv">
<span id="_CPPv3NK5arrow2io21CompressedInputStream3rawEv"></span><span id="_CPPv2NK5arrow2io21CompressedInputStream3rawEv"></span><span id="arrow::io::CompressedInputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1af2cf43c34ee53d259c3791501b508879"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io21CompressedInputStream3rawEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the underlying raw input stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool">
<span id="_CPPv3N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool"></span><span id="_CPPv2N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool"></span><span id="arrow::io::CompressedInputStream::Make__util::CodecP.std::shared_ptr:InputStream:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_compressed_input_stream_1a7d49cc6d0c2f7582cf5e963e54fc4db0"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io21CompressedInputStreamE" title="arrow::io::CompressedInputStream"><span class="n"><span class="pre">CompressedInputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow4util5CodecE" title="arrow::util::Codec"><span class="n"><span class="pre">Codec</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">codec</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">raw</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io21CompressedInputStream4MakeEPN4util5CodecERKNSt10shared_ptrI11InputStreamEEP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a compressed input stream wrapping the given input stream. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStreamE">
<span id="_CPPv3N5arrow2io22CompressedOutputStreamE"></span><span id="_CPPv2N5arrow2io22CompressedOutputStreamE"></span><span id="arrow::io::CompressedOutputStream"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-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">io</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">CompressedOutputStream</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStreamE" title="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-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5CloseEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5CloseEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5CloseEv"></span><span id="arrow::io::CompressedOutputStream::Close"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1afeec751d63627cc8dab11638fa0e1284"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5CloseEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the compressed output stream. </p>
<p>This implicitly closes the underlying raw output stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5AbortEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5AbortEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5AbortEv"></span><span id="arrow::io::CompressedOutputStream::Abort"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a83e7dab2af799ca87073d0e969d8a3f7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Abort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5AbortEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Close the stream abruptly. </p>
<p>This method does not guarantee that any pending data is flushed. It merely releases any underlying resource used by the stream for its operation.</p>
<p>After <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream_1a83e7dab2af799ca87073d0e969d8a3f7"><span class="std std-ref">Abort()</span></a> is called, <a class="reference internal" href="#classarrow_1_1io_1_1_compressed_output_stream_1a691a34b9aae15a7b62bf1ca502b53a7b"><span class="std std-ref">closed()</span></a> returns true and the stream is not available for further operations. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream6closedEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream6closedEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream6closedEv"></span><span id="arrow::io::CompressedOutputStream::closedC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a691a34b9aae15a7b62bf1ca502b53a7b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">closed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream6closedEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return whether the stream is closed. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream4TellEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream4TellEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream4TellEv"></span><span id="arrow::io::CompressedOutputStream::TellC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1ad762275940ca3386af13d9f966141851"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tell</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream4TellEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the position in this stream. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t"></span><span id="arrow::io::CompressedOutputStream::Write__voidCP.int64_t"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1a48b8e0daaf2ea4280238675e023350ef"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">nbytes</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5WriteEPKv7int64_t" title="Permalink to this definition"></a><br /></dt>
<dd><p>Write the given data to the stream. </p>
<p>This method always processes the bytes in full. Depending on the semantics of the stream, the data may be written out immediately, held in a buffer, or written asynchronously. In the case where the stream buffers the data, it will be copied. To avoid potentially large copies, use the Write variant that takes an owned <a class="reference internal" href="memory.html#classarrow_1_1_buffer"><span class="std std-ref">Buffer</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream5FlushEv">
<span id="_CPPv3N5arrow2io22CompressedOutputStream5FlushEv"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream5FlushEv"></span><span id="arrow::io::CompressedOutputStream::Flush"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1af80e3bf7dc0b484060b9d0831d7a53c8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Flush</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">override</span></span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream5FlushEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Flush buffered bytes, if any. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow2io22CompressedOutputStream3rawEv">
<span id="_CPPv3NK5arrow2io22CompressedOutputStream3rawEv"></span><span id="_CPPv2NK5arrow2io22CompressedOutputStream3rawEv"></span><span id="arrow::io::CompressedOutputStream::rawC"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1ad20c12765373498eff8c7723e6ae278f"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">raw</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow2io22CompressedOutputStream3rawEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Return the underlying raw output stream. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool">
<span id="_CPPv3N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool"></span><span id="_CPPv2N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool"></span><span id="arrow::io::CompressedOutputStream::Make__util::CodecP.std::shared_ptr:OutputStream:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1io_1_1_compressed_output_stream_1adc0dd58be8cb0311219b4878a1ee0875"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io22CompressedOutputStreamE" title="arrow::io::CompressedOutputStream"><span class="n"><span class="pre">CompressedOutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow4util5CodecE" title="arrow::util::Codec"><span class="n"><span class="pre">Codec</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">codec</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">raw</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="memory.html#_CPPv4N5arrow19default_memory_poolEv" title="arrow::default_memory_pool"><span class="n"><span class="pre">default_memory_pool</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow2io22CompressedOutputStream4MakeEPN4util5CodecERKNSt10shared_ptrI12OutputStreamEEP10MemoryPool" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a compressed output stream wrapping the given output stream. </p>
</dd></dl>
</div>
</dd></dl>
</div>
</div>
</div>
</div>
<div class='prev-next-bottom'>
<a class='left-prev' id="prev-link" href="utilities.html" title="previous page">Utilities</a>
<a class='right-next' id="next-link" href="ipc.html" title="next page">Arrow IPC</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>