summaryrefslogtreecommitdiffstats
path: root/src/arrow/docs/source/cpp/api
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/docs/source/cpp/api
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/docs/source/cpp/api')
-rw-r--r--src/arrow/docs/source/cpp/api/array.rst80
-rw-r--r--src/arrow/docs/source/cpp/api/builder.rst56
-rw-r--r--src/arrow/docs/source/cpp/api/c_abi.rst48
-rw-r--r--src/arrow/docs/source/cpp/api/compute.rst56
-rw-r--r--src/arrow/docs/source/cpp/api/cuda.rst74
-rw-r--r--src/arrow/docs/source/cpp/api/dataset.rst71
-rw-r--r--src/arrow/docs/source/cpp/api/datatype.rst102
-rw-r--r--src/arrow/docs/source/cpp/api/filesystem.rst64
-rw-r--r--src/arrow/docs/source/cpp/api/flight.rst202
-rw-r--r--src/arrow/docs/source/cpp/api/formats.rst109
-rw-r--r--src/arrow/docs/source/cpp/api/io.rst95
-rw-r--r--src/arrow/docs/source/cpp/api/ipc.rst90
-rw-r--r--src/arrow/docs/source/cpp/api/memory.rst124
-rw-r--r--src/arrow/docs/source/cpp/api/scalar.rst38
-rw-r--r--src/arrow/docs/source/cpp/api/support.rst57
-rw-r--r--src/arrow/docs/source/cpp/api/table.rst45
-rw-r--r--src/arrow/docs/source/cpp/api/tensor.rst57
-rw-r--r--src/arrow/docs/source/cpp/api/utilities.rst52
18 files changed, 1420 insertions, 0 deletions
diff --git a/src/arrow/docs/source/cpp/api/array.rst b/src/arrow/docs/source/cpp/api/array.rst
new file mode 100644
index 000000000..7f4e71158
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/array.rst
@@ -0,0 +1,80 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+======
+Arrays
+======
+
+.. doxygenclass:: arrow::ArrayData
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::Array
+ :project: arrow_cpp
+ :members:
+
+Concrete array subclasses
+=========================
+
+Primitive and temporal
+----------------------
+
+.. doxygenclass:: arrow::NullArray
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::BooleanArray
+ :project: arrow_cpp
+ :members:
+
+.. doxygengroup:: numeric-arrays
+ :content-only:
+ :members:
+
+Binary-like
+-----------
+
+.. doxygengroup:: binary-arrays
+ :content-only:
+ :members:
+
+Nested
+------
+
+.. doxygengroup:: nested-arrays
+ :content-only:
+ :members:
+
+Dictionary-encoded
+------------------
+
+.. doxygenclass:: arrow::DictionaryArray
+ :members:
+
+Extension arrays
+----------------
+
+.. doxygenclass:: arrow::ExtensionArray
+ :members:
+
+
+Chunked Arrays
+==============
+
+.. doxygenclass:: arrow::ChunkedArray
+ :project: arrow_cpp
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/builder.rst b/src/arrow/docs/source/cpp/api/builder.rst
new file mode 100644
index 000000000..9e6540aa5
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/builder.rst
@@ -0,0 +1,56 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+==============
+Array Builders
+==============
+
+.. doxygenclass:: arrow::ArrayBuilder
+ :members:
+
+Concrete builder subclasses
+===========================
+
+.. doxygenclass:: arrow::NullBuilder
+ :members:
+
+.. doxygenclass:: arrow::BooleanBuilder
+ :members:
+
+.. doxygenclass:: arrow::NumericBuilder
+ :members:
+
+.. doxygenclass:: arrow::BinaryBuilder
+ :members:
+
+.. doxygenclass:: arrow::StringBuilder
+ :members:
+
+.. doxygenclass:: arrow::FixedSizeBinaryBuilder
+ :members:
+
+.. doxygenclass:: arrow::Decimal128Builder
+ :members:
+
+.. doxygenclass:: arrow::ListBuilder
+ :members:
+
+.. doxygenclass:: arrow::StructBuilder
+ :members:
+
+.. doxygenclass:: arrow::DictionaryBuilder
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/c_abi.rst b/src/arrow/docs/source/cpp/api/c_abi.rst
new file mode 100644
index 000000000..4e451c3ec
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/c_abi.rst
@@ -0,0 +1,48 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+============
+C Interfaces
+============
+
+.. seealso::
+ The :ref:`C data interface <c-data-interface>` and
+ :ref:`C stream interface <c-stream-interface>` specifications.
+
+ABI Structures
+==============
+
+.. doxygenstruct:: ArrowSchema
+ :project: arrow_cpp
+
+.. doxygenstruct:: ArrowArray
+ :project: arrow_cpp
+
+.. doxygenstruct:: ArrowArrayStream
+ :project: arrow_cpp
+
+C Data Interface
+================
+
+.. doxygengroup:: c-data-interface
+ :content-only:
+
+C Stream Interface
+==================
+
+.. doxygengroup:: c-stream-interface
+ :content-only:
diff --git a/src/arrow/docs/source/cpp/api/compute.rst b/src/arrow/docs/source/cpp/api/compute.rst
new file mode 100644
index 000000000..3b0a89f83
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/compute.rst
@@ -0,0 +1,56 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+Compute Functions
+=================
+
+Datum class
+-----------
+
+.. doxygenclass:: arrow::Datum
+ :members:
+
+Abstract Function classes
+-------------------------
+
+.. doxygengroup:: compute-functions
+ :content-only:
+ :members:
+
+Function registry
+-----------------
+
+.. doxygenclass:: arrow::compute::FunctionRegistry
+ :members:
+
+.. doxygenfunction:: arrow::compute::GetFunctionRegistry
+
+Convenience functions
+---------------------
+
+.. doxygengroup:: compute-call-function
+ :content-only:
+
+Concrete options classes
+------------------------
+
+.. doxygengroup:: compute-concrete-options
+ :content-only:
+ :members:
+ :undoc-members:
+
+.. TODO: List concrete function invocation shortcuts?
diff --git a/src/arrow/docs/source/cpp/api/cuda.rst b/src/arrow/docs/source/cpp/api/cuda.rst
new file mode 100644
index 000000000..caeb5be31
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/cuda.rst
@@ -0,0 +1,74 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+============
+CUDA support
+============
+
+Contexts
+========
+
+.. doxygenclass:: arrow::cuda::CudaDeviceManager
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::cuda::CudaContext
+ :project: arrow_cpp
+ :members:
+
+Devices
+=======
+
+.. doxygenclass:: arrow::cuda::CudaDevice
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::cuda::CudaMemoryManager
+ :project: arrow_cpp
+ :members:
+
+Buffers
+=======
+
+.. doxygenclass:: arrow::cuda::CudaBuffer
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::cuda::CudaHostBuffer
+ :project: arrow_cpp
+ :members:
+
+Memory Input / Output
+=====================
+
+.. doxygenclass:: arrow::cuda::CudaBufferReader
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::cuda::CudaBufferWriter
+ :project: arrow_cpp
+ :members:
+
+IPC
+===
+
+.. doxygenclass:: arrow::cuda::CudaIpcMemHandle
+ :project: arrow_cpp
+ :members:
+
+.. doxygengroup:: cuda-ipc-functions
+ :content-only:
diff --git a/src/arrow/docs/source/cpp/api/dataset.rst b/src/arrow/docs/source/cpp/api/dataset.rst
new file mode 100644
index 000000000..3f0df8a45
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/dataset.rst
@@ -0,0 +1,71 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=======
+Dataset
+=======
+
+Interface
+=========
+
+.. doxygenclass:: arrow::dataset::Fragment
+ :members:
+
+.. doxygenclass:: arrow::dataset::Dataset
+ :members:
+
+Partitioning
+============
+
+.. doxygengroup:: dataset-partitioning
+ :content-only:
+ :members:
+
+Dataset discovery/factories
+===========================
+
+.. doxygengroup:: dataset-discovery
+ :content-only:
+ :members:
+
+Scanning
+========
+
+.. doxygengroup:: dataset-scanning
+ :content-only:
+ :members:
+
+Concrete implementations
+========================
+
+.. doxygengroup:: dataset-implementations
+ :content-only:
+ :members:
+
+File System Datasets
+--------------------
+
+.. doxygengroup:: dataset-filesystem
+ :content-only:
+ :members:
+
+File Formats
+------------
+
+.. doxygengroup:: dataset-file-formats
+ :content-only:
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/datatype.rst b/src/arrow/docs/source/cpp/api/datatype.rst
new file mode 100644
index 000000000..2cbe1cf4d
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/datatype.rst
@@ -0,0 +1,102 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+==========
+Data Types
+==========
+
+.. doxygenenum:: arrow::Type::type
+
+.. doxygenclass:: arrow::DataType
+ :members:
+
+.. _api-type-factories:
+
+Factory functions
+=================
+
+These functions are recommended for creating data types. They may return
+new objects or existing singletons, depending on the type requested.
+
+.. doxygengroup:: type-factories
+ :project: arrow_cpp
+ :content-only:
+
+Concrete type subclasses
+========================
+
+Primitive
+---------
+
+.. doxygenclass:: arrow::NullType
+ :members:
+
+.. doxygenclass:: arrow::BooleanType
+ :members:
+
+.. doxygengroup:: numeric-datatypes
+ :content-only:
+ :members:
+
+Temporal
+--------
+
+.. doxygenenum:: arrow::TimeUnit::type
+
+.. doxygengroup:: temporal-datatypes
+ :content-only:
+ :members:
+
+Binary-like
+-----------
+
+.. doxygengroup:: binary-datatypes
+ :content-only:
+ :members:
+
+Nested
+------
+
+.. doxygengroup:: nested-datatypes
+ :content-only:
+ :members:
+
+Dictionary-encoded
+------------------
+
+.. doxygenclass:: arrow::DictionaryType
+ :members:
+
+Extension types
+---------------
+
+.. doxygenclass:: arrow::ExtensionType
+ :members:
+
+
+Fields and Schemas
+==================
+
+.. doxygengroup:: schema-factories
+ :project: arrow_cpp
+ :content-only:
+
+.. doxygenclass:: arrow::Field
+ :members:
+
+.. doxygenclass:: arrow::Schema
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/filesystem.rst b/src/arrow/docs/source/cpp/api/filesystem.rst
new file mode 100644
index 000000000..02fff9a6c
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/filesystem.rst
@@ -0,0 +1,64 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+===========
+Filesystems
+===========
+
+Interface
+=========
+
+.. doxygenenum:: arrow::fs::FileType
+
+.. doxygenstruct:: arrow::fs::FileInfo
+ :members:
+
+.. doxygenstruct:: arrow::fs::FileSelector
+ :members:
+
+.. doxygenclass:: arrow::fs::FileSystem
+ :members:
+
+High-level factory function
+===========================
+
+.. doxygengroup:: filesystem-factories
+ :content-only:
+
+Concrete implementations
+========================
+
+.. doxygenclass:: arrow::fs::SubTreeFileSystem
+ :members:
+
+.. doxygenstruct:: arrow::fs::LocalFileSystemOptions
+ :members:
+
+.. doxygenclass:: arrow::fs::LocalFileSystem
+ :members:
+
+.. doxygenstruct:: arrow::fs::S3Options
+ :members:
+
+.. doxygenclass:: arrow::fs::S3FileSystem
+ :members:
+
+.. doxygenstruct:: arrow::fs::HdfsOptions
+ :members:
+
+.. doxygenclass:: arrow::fs::HadoopFileSystem
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/flight.rst b/src/arrow/docs/source/cpp/api/flight.rst
new file mode 100644
index 000000000..7cefd66ef
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/flight.rst
@@ -0,0 +1,202 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. default-domain:: cpp
+.. highlight:: cpp
+
+================
+Arrow Flight RPC
+================
+
+.. note:: Flight is currently unstable. APIs are subject to change,
+ though we don't expect drastic changes.
+
+Common Types
+============
+
+.. doxygenstruct:: arrow::flight::Action
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::ActionType
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::AddCallHeaders
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::CallInfo
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::Criteria
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::FlightDescriptor
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::FlightEndpoint
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightInfo
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::FlightPayload
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightListing
+ :project: arrow_cpp
+ :members:
+
+.. doxygenenum:: arrow::flight::FlightMethod
+ :project: arrow_cpp
+
+.. doxygenstruct:: arrow::flight::Location
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::MetadataRecordBatchReader
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::Result
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ResultStream
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::Ticket
+ :project: arrow_cpp
+ :members:
+
+Clients
+=======
+
+.. doxygenclass:: arrow::flight::FlightClient
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::FlightClientOptions
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightCallOptions
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ClientAuthHandler
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ClientMiddleware
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ClientMiddlewareFactory
+ :project: arrow_cpp
+ :members:
+
+.. doxygentypedef:: arrow::flight::TimeoutDuration
+ :project: arrow_cpp
+
+.. doxygenclass:: arrow::flight::FlightStreamReader
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightStreamWriter
+ :project: arrow_cpp
+ :members:
+
+Servers
+=======
+
+.. doxygenclass:: arrow::flight::FlightServerBase
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightServerOptions
+ :project: arrow_cpp
+ :members:
+
+.. doxygenstruct:: arrow::flight::CertKeyPair
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightDataStream
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightMessageReader
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::FlightMetadataWriter
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::RecordBatchStream
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ServerAuthHandler
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ServerCallContext
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ServerMiddleware
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::ServerMiddlewareFactory
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::SimpleFlightListing
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::flight::SimpleResultStream
+ :project: arrow_cpp
+ :members:
+
+Error Handling
+==============
+
+Error handling uses the normal :class:`arrow::Status` class, combined
+with a custom :class:`arrow::StatusDetail` object for Flight-specific
+error codes.
+
+.. doxygenenum:: arrow::flight::FlightStatusCode
+ :project: arrow_cpp
+
+.. doxygenclass:: arrow::flight::FlightStatusDetail
+ :project: arrow_cpp
+ :members:
+
+.. doxygenfunction:: arrow::flight::MakeFlightError
+ :project: arrow_cpp
diff --git a/src/arrow/docs/source/cpp/api/formats.rst b/src/arrow/docs/source/cpp/api/formats.rst
new file mode 100644
index 000000000..2f6b24802
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/formats.rst
@@ -0,0 +1,109 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+============
+File Formats
+============
+
+.. _cpp-api-csv:
+
+CSV
+===
+
+.. doxygenstruct:: arrow::csv::ConvertOptions
+ :members:
+
+.. doxygenstruct:: arrow::csv::ParseOptions
+ :members:
+
+.. doxygenstruct:: arrow::csv::ReadOptions
+ :members:
+
+.. doxygenstruct:: arrow::csv::WriteOptions
+ :members:
+
+.. doxygenclass:: arrow::csv::TableReader
+ :members:
+
+.. doxygenfunction:: arrow::csv::MakeCSVWriter(io::OutputStream *, const std::shared_ptr<Schema>&, const WriteOptions&)
+
+.. doxygenfunction:: arrow::csv::MakeCSVWriter(std::shared_ptr<io::OutputStream>, const std::shared_ptr<Schema>&, const WriteOptions&)
+
+.. doxygenfunction:: arrow::csv::WriteCSV(const RecordBatch&, const WriteOptions&, arrow::io::OutputStream *)
+
+.. doxygenfunction:: arrow::csv::WriteCSV(const Table&, const WriteOptions&, arrow::io::OutputStream *)
+
+.. _cpp-api-json:
+
+Line-separated JSON
+===================
+
+.. doxygenenum:: arrow::json::UnexpectedFieldBehavior
+
+.. doxygenstruct:: arrow::json::ReadOptions
+ :members:
+
+.. doxygenstruct:: arrow::json::ParseOptions
+ :members:
+
+.. doxygenclass:: arrow::json::TableReader
+ :members:
+
+.. _cpp-api-parquet:
+
+Parquet reader
+==============
+
+.. doxygenclass:: parquet::ReaderProperties
+ :members:
+
+.. doxygenclass:: parquet::ArrowReaderProperties
+ :members:
+
+.. doxygenclass:: parquet::ParquetFileReader
+ :members:
+
+.. doxygenclass:: parquet::arrow::FileReader
+ :members:
+
+.. doxygenclass:: parquet::arrow::FileReaderBuilder
+ :members:
+
+.. doxygengroup:: parquet-arrow-reader-factories
+ :content-only:
+
+.. doxygenclass:: parquet::StreamReader
+ :members:
+
+Parquet writer
+==============
+
+.. doxygenclass:: parquet::WriterProperties
+ :members:
+
+.. doxygenclass:: parquet::ArrowWriterProperties
+ :members:
+
+.. doxygenclass:: parquet::arrow::FileWriter
+ :members:
+
+.. doxygenfunction:: parquet::arrow::WriteTable
+
+.. doxygenclass:: parquet::StreamWriter
+ :members:
+
+.. TODO ORC
diff --git a/src/arrow/docs/source/cpp/api/io.rst b/src/arrow/docs/source/cpp/api/io.rst
new file mode 100644
index 000000000..735136a0d
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/io.rst
@@ -0,0 +1,95 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+==============
+Input / output
+==============
+
+Interfaces
+==========
+
+.. doxygenclass:: arrow::io::FileInterface
+ :members:
+
+.. doxygenclass:: arrow::io::Readable
+ :members:
+
+.. doxygenclass:: arrow::io::Seekable
+ :members:
+
+.. doxygenclass:: arrow::io::Writable
+ :members:
+
+.. doxygenclass:: arrow::io::InputStream
+ :members:
+
+.. doxygenclass:: arrow::io::RandomAccessFile
+ :members:
+
+.. doxygenclass:: arrow::io::OutputStream
+ :members:
+
+.. doxygenclass:: arrow::io::ReadWriteFileInterface
+ :members:
+
+Concrete implementations
+========================
+
+In-memory streams
+-----------------
+
+.. doxygenclass:: arrow::io::BufferReader
+ :members:
+
+.. doxygenclass:: arrow::io::MockOutputStream
+ :members:
+
+.. doxygenclass:: arrow::io::BufferOutputStream
+ :members:
+
+.. doxygenclass:: arrow::io::FixedSizeBufferWriter
+ :members:
+
+Local files
+-----------
+
+.. doxygenclass:: arrow::io::ReadableFile
+ :members:
+
+.. doxygenclass:: arrow::io::FileOutputStream
+ :members:
+
+.. doxygenclass:: arrow::io::MemoryMappedFile
+ :members:
+
+Buffering input / output wrappers
+---------------------------------
+
+.. doxygenclass:: arrow::io::BufferedInputStream
+ :members:
+
+.. doxygenclass:: arrow::io::BufferedOutputStream
+ :members:
+
+Compressed input / output wrappers
+----------------------------------
+
+.. doxygenclass:: arrow::io::CompressedInputStream
+ :members:
+
+.. doxygenclass:: arrow::io::CompressedOutputStream
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/ipc.rst b/src/arrow/docs/source/cpp/api/ipc.rst
new file mode 100644
index 000000000..6822b986a
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/ipc.rst
@@ -0,0 +1,90 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. default-domain:: cpp
+.. highlight:: cpp
+
+=========
+Arrow IPC
+=========
+
+IPC options
+===========
+
+.. doxygenstruct:: arrow::ipc::IpcReadOptions
+ :members:
+
+.. doxygenstruct:: arrow::ipc::IpcWriteOptions
+ :members:
+
+Reading IPC streams and files
+=============================
+
+Blocking API
+------------
+
+Use either of these two classes, depending on which IPC format you want
+to read. The file format requires a random-access file, while the stream
+format only requires a sequential input stream.
+
+.. doxygenclass:: arrow::ipc::RecordBatchStreamReader
+ :members:
+
+.. doxygenclass:: arrow::ipc::RecordBatchFileReader
+ :members:
+
+Event-driven API
+----------------
+
+To read an IPC stream in event-driven fashion, you must implement a
+:class:`~arrow::ipc::Listener` subclass that you will pass to
+:class:`~arrow::ipc::StreamDecoder`.
+
+.. doxygenclass:: arrow::ipc::Listener
+ :members:
+
+.. doxygenclass:: arrow::ipc::StreamDecoder
+ :members:
+
+Statistics
+----------
+
+.. doxygenstruct:: arrow::ipc::ReadStats
+ :members:
+
+Writing IPC streams and files
+=============================
+
+Blocking API
+------------
+
+The IPC stream format is only optionally terminated, whereas the IPC file format
+must include a terminating footer. Thus a writer of the IPC file format must be
+explicitly finalized with :func:`~arrow::ipc::RecordBatchWriter::Close()` or the resulting
+file will be corrupt.
+
+.. doxygengroup:: record-batch-writer-factories
+ :content-only:
+
+.. doxygenclass:: arrow::ipc::RecordBatchWriter
+ :members:
+
+Statistics
+----------
+
+.. doxygenstruct:: arrow::ipc::WriteStats
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/memory.rst b/src/arrow/docs/source/cpp/api/memory.rst
new file mode 100644
index 000000000..807a4e2f7
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/memory.rst
@@ -0,0 +1,124 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+Memory (management)
+===================
+
+Devices
+-------
+
+.. doxygenclass:: arrow::Device
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::CPUDevice
+ :project: arrow_cpp
+ :members:
+
+.. doxygenfunction:: arrow::default_cpu_memory_manager
+ :project: arrow_cpp
+
+Memory Managers
+---------------
+
+.. doxygenclass:: arrow::MemoryManager
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::CPUMemoryManager
+ :project: arrow_cpp
+ :members:
+
+Buffers
+-------
+
+.. doxygenclass:: arrow::Buffer
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::MutableBuffer
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::ResizableBuffer
+ :project: arrow_cpp
+ :members:
+
+Memory Pools
+------------
+
+.. doxygenfunction:: arrow::default_memory_pool
+ :project: arrow_cpp
+
+.. doxygenfunction:: arrow::jemalloc_memory_pool
+ :project: arrow_cpp
+
+.. doxygenfunction:: arrow::mimalloc_memory_pool
+ :project: arrow_cpp
+
+.. doxygenfunction:: arrow::system_memory_pool
+ :project: arrow_cpp
+
+.. doxygenclass:: arrow::MemoryPool
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::LoggingMemoryPool
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::ProxyMemoryPool
+ :project: arrow_cpp
+ :members:
+
+Allocation Functions
+--------------------
+
+These functions allocate a buffer from a particular memory pool.
+
+.. doxygengroup:: buffer-allocation-functions
+ :project: arrow_cpp
+ :content-only:
+
+Slicing
+-------
+
+.. doxygengroup:: buffer-slicing-functions
+ :project: arrow_cpp
+ :content-only:
+
+Buffer Builders
+---------------
+
+.. doxygenclass:: arrow::BufferBuilder
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::TypedBufferBuilder
+ :project: arrow_cpp
+ :members:
+
+STL Integration
+---------------
+
+.. doxygenclass:: arrow::stl::allocator
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::stl::STLMemoryPool
+ :project: arrow_cpp
+ :members:
diff --git a/src/arrow/docs/source/cpp/api/scalar.rst b/src/arrow/docs/source/cpp/api/scalar.rst
new file mode 100644
index 000000000..391c9d57b
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/scalar.rst
@@ -0,0 +1,38 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=======
+Scalars
+=======
+
+.. doxygenstruct:: arrow::Scalar
+ :project: arrow_cpp
+ :members:
+
+Factory functions
+=================
+
+.. doxygengroup:: scalar-factories
+ :content-only:
+
+Concrete scalar subclasses
+==========================
+
+.. doxygengroup:: concrete-scalar-classes
+ :content-only:
+ :members:
+ :undoc-members:
diff --git a/src/arrow/docs/source/cpp/api/support.rst b/src/arrow/docs/source/cpp/api/support.rst
new file mode 100644
index 000000000..c3310e5d8
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/support.rst
@@ -0,0 +1,57 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+===================
+Programming Support
+===================
+
+General information
+-------------------
+
+.. doxygenfunction:: arrow::GetBuildInfo
+ :project: arrow_cpp
+
+.. doxygenstruct:: arrow::BuildInfo
+ :project: arrow_cpp
+ :members:
+
+Error return and reporting
+--------------------------
+
+.. doxygenclass:: arrow::Status
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::StatusDetail
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::Result
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: parquet::ParquetException
+ :project: arrow_cpp
+ :members:
+
+.. doxygendefine:: ARROW_RETURN_NOT_OK
+
+.. doxygendefine:: ARROW_ASSIGN_OR_RAISE
+
+.. doxygendefine:: PARQUET_THROW_NOT_OK
+
+.. doxygendefine:: PARQUET_ASSIGN_OR_THROW
diff --git a/src/arrow/docs/source/cpp/api/table.rst b/src/arrow/docs/source/cpp/api/table.rst
new file mode 100644
index 000000000..53e2d72e6
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/table.rst
@@ -0,0 +1,45 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+========================
+Two-dimensional Datasets
+========================
+
+Record Batches
+==============
+
+.. doxygenclass:: arrow::RecordBatch
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::RecordBatchReader
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::TableBatchReader
+ :project: arrow_cpp
+ :members:
+
+Tables
+======
+
+.. doxygenclass:: arrow::Table
+ :project: arrow_cpp
+ :members:
+
+.. doxygenfunction:: arrow::ConcatenateTables
+ :project: arrow_cpp
diff --git a/src/arrow/docs/source/cpp/api/tensor.rst b/src/arrow/docs/source/cpp/api/tensor.rst
new file mode 100644
index 000000000..1d51786db
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/tensor.rst
@@ -0,0 +1,57 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=======
+Tensors
+=======
+
+Dense Tensors
+=============
+
+.. doxygenclass:: arrow::Tensor
+ :members:
+
+.. doxygenclass:: arrow::NumericTensor
+ :members:
+
+Sparse Tensors
+==============
+
+.. doxygenenum:: arrow::SparseTensorFormat::type
+
+.. doxygenclass:: arrow::SparseIndex
+ :members:
+
+.. doxygenclass:: arrow::SparseCOOIndex
+ :members:
+
+.. doxygenclass:: arrow::SparseCSRIndex
+ :members:
+
+.. doxygenclass:: arrow::SparseTensor
+ :members:
+
+.. doxygenclass:: arrow::SparseTensorImpl
+ :members:
+
+.. doxygentypedef:: arrow::SparseCOOTensor
+
+.. doxygentypedef:: arrow::SparseCSCMatrix
+
+.. doxygentypedef:: arrow::SparseCSFTensor
+
+.. doxygentypedef:: arrow::SparseCSRMatrix
diff --git a/src/arrow/docs/source/cpp/api/utilities.rst b/src/arrow/docs/source/cpp/api/utilities.rst
new file mode 100644
index 000000000..87c5a3bbe
--- /dev/null
+++ b/src/arrow/docs/source/cpp/api/utilities.rst
@@ -0,0 +1,52 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=========
+Utilities
+=========
+
+Decimal Numbers
+===============
+
+.. doxygenclass:: arrow::Decimal128
+ :project: arrow_cpp
+ :members:
+
+Abstract Sequences
+==================
+
+.. doxygenclass:: arrow::Iterator
+ :project: arrow_cpp
+ :members:
+
+.. doxygenclass:: arrow::VectorIterator
+ :project: arrow_cpp
+ :members:
+
+Compression
+===========
+
+.. doxygenenum:: arrow::Compression::type
+
+.. doxygenclass:: arrow::util::Codec
+ :members:
+
+.. doxygenclass:: arrow::util::Compressor
+ :members:
+
+.. doxygenclass:: arrow::util::Decompressor
+ :members: