This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 014c31c  update documentation for tag dev
014c31c is described below

commit 014c31c6463dcf97c0e9a436e095d076d69f8bc0
Author: GitHub Actions <[email protected]>
AuthorDate: Fri Apr 21 19:27:21 2023 +0000

    update documentation for tag dev
---
 dev/_sources/index.rst.txt                     |   1 +
 dev/_sources/{index.rst.txt => ipc.rst.txt}    |  14 +-
 dev/c.html                                     |  14 +
 dev/cpp.html                                   |  24 +
 dev/genindex.html                              | 140 +++-
 dev/index.html                                 |  15 +
 dev/ipc.html                                   | 862 +++++++++++++++++++++++++
 dev/objects.inv                                | Bin 13155 -> 15992 bytes
 dev/r/pkgdown.yml                              |   2 +-
 dev/r/reference/as_nanoarrow_array.html        |   4 +-
 dev/r/reference/as_nanoarrow_array_stream.html |   2 +-
 dev/r/reference/as_nanoarrow_buffer.html       |   4 +-
 dev/r/search.json                              |   2 +-
 dev/search.html                                |  14 +
 dev/searchindex.js                             |   2 +-
 15 files changed, 1079 insertions(+), 21 deletions(-)

diff --git a/dev/_sources/index.rst.txt b/dev/_sources/index.rst.txt
index 747e97a..8700738 100644
--- a/dev/_sources/index.rst.txt
+++ b/dev/_sources/index.rst.txt
@@ -25,3 +25,4 @@ Contents
 
    C API Reference <c>
    C++ API Reference <cpp>
+   IPC Extension Reference <ipc>
diff --git a/dev/_sources/index.rst.txt b/dev/_sources/ipc.rst.txt
similarity index 85%
copy from dev/_sources/index.rst.txt
copy to dev/_sources/ipc.rst.txt
index 747e97a..8bc7214 100644
--- a/dev/_sources/index.rst.txt
+++ b/dev/_sources/ipc.rst.txt
@@ -15,13 +15,9 @@
 .. specific language governing permissions and limitations
 .. under the License.
 
-.. include:: README_generated.rst
+IPC Extension Reference
+=======================
 
-Contents
---------
-
-.. toctree::
-   :maxdepth: 2
-
-   C API Reference <c>
-   C++ API Reference <cpp>
+.. doxygengroup:: nanoarrow_ipc
+   :project: nanoarrow_ipc
+   :members:
diff --git a/dev/c.html b/dev/c.html
index c454ad0..aebf98f 100644
--- a/dev/c.html
+++ b/dev/c.html
@@ -138,6 +138,13 @@
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -235,6 +242,13 @@ document.write(`
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
diff --git a/dev/cpp.html b/dev/cpp.html
index 8951f99..18bfcd8 100644
--- a/dev/cpp.html
+++ b/dev/cpp.html
@@ -41,6 +41,7 @@
     <script>DOCUMENTATION_OPTIONS.pagename = 'cpp';</script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="IPC Extension Reference" href="ipc.html" />
     <link rel="prev" title="C API Reference" href="c.html" />
   <meta name="viewport" content="width=device-width, initial-scale=1"/>
   <meta name="docsearch:language" content="en"/>
@@ -137,6 +138,13 @@
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -234,6 +242,13 @@ document.write(`
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -630,6 +645,15 @@ document.write(`
         <p class="prev-next-title">C API Reference</p>
       </div>
     </a>
+    <a class="right-next"
+       href="ipc.html"
+       title="next page">
+      <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">IPC Extension Reference</p>
+      </div>
+      <i class="fa-solid fa-angle-right"></i>
+    </a>
 </div></div>
   
 </div>
diff --git a/dev/genindex.html b/dev/genindex.html
index 3d2fe7e..5e40186 100644
--- a/dev/genindex.html
+++ b/dev/genindex.html
@@ -135,6 +135,13 @@
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -228,6 +235,13 @@ document.write(`
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -586,8 +600,6 @@ document.write(`
 </li>
       <li><a href="c.html#_CPPv412ArrowDecimal">ArrowDecimal (C++ struct)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="c.html#_CPPv4N12ArrowDecimal15high_word_indexE">ArrowDecimal::high_word_index
 (C++ member)</a>
 </li>
       <li><a 
href="c.html#_CPPv4N12ArrowDecimal14low_word_indexE">ArrowDecimal::low_word_index
 (C++ member)</a>
@@ -621,6 +633,122 @@ document.write(`
       <li><a 
href="c.html#_CPPv413ArrowErrorSetP10ArrowErrorPKcz">ArrowErrorSet (C++ 
function)</a>
 </li>
       <li><a href="c.html#_CPPv49ArrowFreePv">ArrowFree (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv429ArrowIpcArrayStreamReaderInitP16ArrowArrayStreamP19ArrowIpcInputStreamP32ArrowIpcArrayStreamReaderOptions">ArrowIpcArrayStreamReaderInit
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv432ArrowIpcArrayStreamReaderOptions">ArrowIpcArrayStreamReaderOptions
 (C++ struct)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N32ArrowIpcArrayStreamReaderOptions11field_indexE">ArrowIpcArrayStreamReaderOptions::field_index
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N32ArrowIpcArrayStreamReaderOptions18use_shared_buffersE">ArrowIpcArrayStreamReaderOptions::use_shared_buffers
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv420ArrowIpcCheckRuntimeP10ArrowError">ArrowIpcCheckRuntime 
(C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv423ArrowIpcCompressionType">ArrowIpcCompressionType (C++ 
enum)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcCompressionType40NANOARROW_IPC_COMPRESSION_TYPE_LZ4_FRAMEE">ArrowIpcCompressionType::NANOARROW_IPC_COMPRESSION_TYPE_LZ4_FRAME
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_NONEE">ArrowIpcCompressionType::NANOARROW_IPC_COMPRESSION_TYPE_NONE
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_ZSTDE">ArrowIpcCompressionType::NANOARROW_IPC_COMPRESSION_TYPE_ZSTD
 (C++ enumerator)</a>
+</li>
+      <li><a href="ipc.html#_CPPv415ArrowIpcDecoder">ArrowIpcDecoder (C++ 
struct)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder15body_size_bytesE">ArrowIpcDecoder::body_size_bytes
 (C++ member)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder5codecE">ArrowIpcDecoder::codec (C++ 
member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder10endiannessE">ArrowIpcDecoder::endianness
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder13feature_flagsE">ArrowIpcDecoder::feature_flags
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder17header_size_bytesE">ArrowIpcDecoder::header_size_bytes
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder12message_typeE">ArrowIpcDecoder::message_type
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder16metadata_versionE">ArrowIpcDecoder::metadata_version
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N15ArrowIpcDecoder12private_dataE">ArrowIpcDecoder::private_data
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv426ArrowIpcDecoderDecodeArrayP15ArrowIpcDecoder15ArrowBufferView7int64_tP10ArrowArrayP10ArrowError">ArrowIpcDecoderDecodeArray
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv436ArrowIpcDecoderDecodeArrayFromSharedP15ArrowIpcDecoderP20ArrowIpcSharedBuffer7int64_tP10ArrowArrayP10ArrowError">ArrowIpcDecoderDecodeArrayFromShared
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv427ArrowIpcDecoderDecodeHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">ArrowIpcDecoderDecodeHeader
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv427ArrowIpcDecoderDecodeSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError">ArrowIpcDecoderDecodeSchema
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv419ArrowIpcDecoderInitP15ArrowIpcDecoder">ArrowIpcDecoderInit
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv425ArrowIpcDecoderPeekHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">ArrowIpcDecoderPeekHeader
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv420ArrowIpcDecoderResetP15ArrowIpcDecoder">ArrowIpcDecoderReset
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv428ArrowIpcDecoderSetEndiannessP15ArrowIpcDecoder18ArrowIpcEndianness">ArrowIpcDecoderSetEndianness
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv424ArrowIpcDecoderSetSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError">ArrowIpcDecoderSetSchema
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv428ArrowIpcDecoderValidateArrayP10ArrowArray20ArrowValidationLevelP10ArrowError">ArrowIpcDecoderValidateArray
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv427ArrowIpcDecoderVerifyHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">ArrowIpcDecoderVerifyHeader
 (C++ function)</a>
+</li>
+      <li><a href="ipc.html#_CPPv418ArrowIpcEndianness">ArrowIpcEndianness 
(C++ enum)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N18ArrowIpcEndianness28NANOARROW_IPC_ENDIANNESS_BIGE">ArrowIpcEndianness::NANOARROW_IPC_ENDIANNESS_BIG
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N18ArrowIpcEndianness31NANOARROW_IPC_ENDIANNESS_LITTLEE">ArrowIpcEndianness::NANOARROW_IPC_ENDIANNESS_LITTLE
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N18ArrowIpcEndianness38NANOARROW_IPC_ENDIANNESS_UNINITIALIZEDE">ArrowIpcEndianness::NANOARROW_IPC_ENDIANNESS_UNINITIALIZED
 (C++ enumerator)</a>
+</li>
+      <li><a href="ipc.html#_CPPv419ArrowIpcInputStream">ArrowIpcInputStream 
(C++ struct)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcInputStream12private_dataE">ArrowIpcInputStream::private_data
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcInputStream4readE">ArrowIpcInputStream::read 
(C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcInputStream7releaseE">ArrowIpcInputStream::release
 (C++ member)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv429ArrowIpcInputStreamInitBufferP19ArrowIpcInputStreamP11ArrowBuffer">ArrowIpcInputStreamInitBuffer
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv427ArrowIpcInputStreamInitFileP19ArrowIpcInputStreamPvi">ArrowIpcInputStreamInitFile
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv423ArrowIpcInputStreamMoveP19ArrowIpcInputStreamP19ArrowIpcInputStream">ArrowIpcInputStreamMove
 (C++ function)</a>
+</li>
+      <li><a href="ipc.html#_CPPv419ArrowIpcMessageType">ArrowIpcMessageType 
(C++ enum)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType43NANOARROW_IPC_MESSAGE_TYPE_DICTIONARY_BATCHE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_DICTIONARY_BATCH
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType39NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCHE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCH
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_SCHEMAE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_SCHEMA
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSORE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSOR
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_TENSORE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_TENSOR
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZEDE">ArrowIpcMessageType::NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZED
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv423ArrowIpcMetadataVersion">ArrowIpcMetadataVersion (C++ 
enum)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V1E">ArrowIpcMetadataVersion::NANOARROW_IPC_METADATA_VERSION_V1
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V2E">ArrowIpcMetadataVersion::NANOARROW_IPC_METADATA_VERSION_V2
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V3E">ArrowIpcMetadataVersion::NANOARROW_IPC_METADATA_VERSION_V3
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V4E">ArrowIpcMetadataVersion::NANOARROW_IPC_METADATA_VERSION_V4
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V5E">ArrowIpcMetadataVersion::NANOARROW_IPC_METADATA_VERSION_V5
 (C++ enumerator)</a>
+</li>
+      <li><a href="ipc.html#_CPPv420ArrowIpcSharedBuffer">ArrowIpcSharedBuffer 
(C++ struct)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv424ArrowIpcSharedBufferInitP20ArrowIpcSharedBufferP11ArrowBuffer">ArrowIpcSharedBufferInit
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv432ArrowIpcSharedBufferIsThreadSafev">ArrowIpcSharedBufferIsThreadSafe
 (C++ function)</a>
+</li>
+      <li><a 
href="ipc.html#_CPPv425ArrowIpcSharedBufferResetP20ArrowIpcSharedBuffer">ArrowIpcSharedBufferReset
 (C++ function)</a>
 </li>
       <li><a href="c.html#_CPPv411ArrowLayout">ArrowLayout (C++ struct)</a>
 </li>
@@ -892,15 +1020,19 @@ document.write(`
 </li>
       <li><a 
href="cpp.html#_CPPv4N9nanoarrow8internal6UniqueptEv">nanoarrow::internal::Unique::operator-&gt;
 (C++ function)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="cpp.html#_CPPv4N9nanoarrow8internal6Unique5resetEP1T">nanoarrow::internal::Unique::reset
 (C++ function)</a>, <a 
href="cpp.html#_CPPv4N9nanoarrow8internal6Unique5resetEv">[1]</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="cpp.html#_CPPv4N9nanoarrow8internal6Unique6UniqueEP1T">nanoarrow::internal::Unique::Unique
 (C++ function)</a>, <a 
href="cpp.html#_CPPv4N9nanoarrow8internal6Unique6UniqueERR6Unique">[1]</a>, <a 
href="cpp.html#_CPPv4N9nanoarrow8internal6Unique6UniqueEv">[2]</a>
 </li>
       <li><a 
href="cpp.html#_CPPv4N9nanoarrow17VectorArrayStreamE">nanoarrow::VectorArrayStream
 (C++ class)</a>
 </li>
       <li><a 
href="cpp.html#_CPPv4N9nanoarrow17VectorArrayStream10MakeUniqueEP11ArrowSchemaNSt6vectorI11UniqueArrayEE">nanoarrow::VectorArrayStream::MakeUnique
 (C++ function)</a>, <a 
href="cpp.html#_CPPv4N9nanoarrow17VectorArrayStream10MakeUniqueEP11ArrowSchemaP10ArrowArray">[1]</a>
+</li>
+      <li><a 
href="ipc.html#c.NANOARROW_IPC_FEATURE_COMPRESSED_BODY">NANOARROW_IPC_FEATURE_COMPRESSED_BODY
 (C macro)</a>
+</li>
+      <li><a 
href="ipc.html#c.NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT">NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT
 (C macro)</a>
 </li>
       <li><a href="c.html#c.NANOARROW_OK">NANOARROW_OK (C macro)</a>
 </li>
diff --git a/dev/index.html b/dev/index.html
index 295622c..e18ffe1 100644
--- a/dev/index.html
+++ b/dev/index.html
@@ -137,6 +137,13 @@
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -234,6 +241,13 @@ document.write(`
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -422,6 +436,7 @@ repository.</p>
 <li class="toctree-l2"><a class="reference internal" 
href="cpp.html#base-classes-and-utilities">Base classes and utilities</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="ipc.html">IPC 
Extension Reference</a></li>
 </ul>
 </div>
 </section>
diff --git a/dev/ipc.html b/dev/ipc.html
new file mode 100644
index 0000000..7ce05fc
--- /dev/null
+++ b/dev/ipc.html
@@ -0,0 +1,862 @@
+
+
+<!DOCTYPE html>
+
+
+<html lang="en" >
+
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="generator" content="Docutils 0.19: 
https://docutils.sourceforge.io/"; />
+
+    <title>IPC Extension Reference &#8212; nanoarrow  documentation</title>
+  
+  
+  
+  <script data-cfasync="false">
+    document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
+    document.documentElement.dataset.theme = localStorage.getItem("theme") || 
"light";
+  </script>
+  
+  <!-- Loaded before other Sphinx assets -->
+  <link href="_static/styles/theme.css?digest=e353d410970836974a52" 
rel="stylesheet" />
+<link href="_static/styles/bootstrap.css?digest=e353d410970836974a52" 
rel="stylesheet" />
+<link 
href="_static/styles/pydata-sphinx-theme.css?digest=e353d410970836974a52" 
rel="stylesheet" />
+
+  
+  <link 
href="_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=e353d410970836974a52"
 rel="stylesheet" />
+  <link rel="preload" as="font" type="font/woff2" crossorigin 
href="_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
+<link rel="preload" as="font" type="font/woff2" crossorigin 
href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
+<link rel="preload" as="font" type="font/woff2" crossorigin 
href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
+
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+  
+  <!-- Pre-loaded scripts that we'll load fully later -->
+  <link rel="preload" as="script" 
href="_static/scripts/bootstrap.js?digest=e353d410970836974a52" />
+<link rel="preload" as="script" 
href="_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52" />
+
+    <script data-url_root="./" id="documentation_options" 
src="_static/documentation_options.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
+    <script>DOCUMENTATION_OPTIONS.pagename = 'ipc';</script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="C++ API Reference" href="cpp.html" />
+  <meta name="viewport" content="width=device-width, initial-scale=1"/>
+  <meta name="docsearch:language" content="en"/>
+  </head>
+  
+  
+  <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" 
data-bs-root-margin="0px 0px -60%" data-default-mode="">
+
+  
+  
+  <a class="skip-link" href="#main-content">Skip to main content</a>
+  
+  <input type="checkbox"
+          class="sidebar-toggle"
+          name="__primary"
+          id="__primary"/>
+  <label class="overlay overlay-primary" for="__primary"></label>
+  
+  <input type="checkbox"
+          class="sidebar-toggle"
+          name="__secondary"
+          id="__secondary"/>
+  <label class="overlay overlay-secondary" for="__secondary"></label>
+  
+  <div class="search-button__wrapper">
+    <div class="search-button__overlay"></div>
+    <div class="search-button__search-container">
+<form class="bd-search d-flex align-items-center"
+      action="search.html"
+      method="get">
+  <i class="fa-solid fa-magnifying-glass"></i>
+  <input type="search"
+         class="form-control"
+         name="q"
+         id="search-input"
+         placeholder="Search the docs ..."
+         aria-label="Search the docs ..."
+         autocomplete="off"
+         autocorrect="off"
+         autocapitalize="off"
+         spellcheck="false"/>
+  <span class="search-button__kbd-shortcut"><kbd 
class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
+</form></div>
+  </div>
+  
+    <nav class="bd-header navbar navbar-expand-lg bd-navbar">
+<div class="bd-header__inner bd-page-width">
+  <label class="sidebar-toggle primary-toggle" for="__primary">
+    <span class="fa-solid fa-bars"></span>
+  </label>
+  
+  <div class="navbar-header-items__start">
+    
+      <div class="navbar-item">
+  
+
+<a class="navbar-brand logo" href="index.html">
+  
+  
+  
+  
+  
+    <p class="title logo__title">nanoarrow  documentation</p>
+  
+</a></div>
+    
+  </div>
+  
+  
+  <div class="col-lg-9 navbar-header-items">
+    
+    <div class="me-auto navbar-header-items__center">
+      
+        <div class="navbar-item"><nav class="navbar-nav">
+  <p class="sidebar-header-items__title"
+     role="heading"
+     aria-level="1"
+     aria-label="Site Navigation">
+    Site Navigation
+  </p>
+  <ul class="bd-navbar-elements navbar-nav">
+    
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="c.html">
+                        C API Reference
+                      </a>
+                    </li>
+                
+
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="cpp.html">
+                        C++ API Reference
+                      </a>
+                    </li>
+                
+
+                    <li class="nav-item current active">
+                      <a class="nav-link nav-internal" href="#">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
+                <li class="nav-item">
+                  <a class="nav-link nav-external" href="r/index.html">
+                    R Package
+                  </a>
+                </li>
+                
+  </ul>
+</nav></div>
+      
+    </div>
+    
+    
+    <div class="navbar-header-items__end">
+      
+        <div class="navbar-item navbar-persistent--container">
+          
+<script>
+document.write(`
+  <button class="btn btn-sm navbar-btn search-button search-button__button" 
title="Search" aria-label="Search" data-bs-placement="bottom" 
data-bs-toggle="tooltip">
+    <i class="fa-solid fa-magnifying-glass"></i>
+  </button>
+`);
+</script>
+        </div>
+      
+      
+        <div class="navbar-item">
+<script>
+document.write(`
+  <button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn 
rounded-circle" title="light/dark" aria-label="light/dark" 
data-bs-placement="bottom" data-bs-toggle="tooltip">
+    <span class="theme-switch" data-mode="light"><i class="fa-solid 
fa-sun"></i></span>
+    <span class="theme-switch" data-mode="dark"><i class="fa-solid 
fa-moon"></i></span>
+    <span class="theme-switch" data-mode="auto"><i class="fa-solid 
fa-circle-half-stroke"></i></span>
+  </button>
+`);
+</script></div>
+      
+    </div>
+    
+  </div>
+  
+  
+    <div class="navbar-persistent--mobile">
+<script>
+document.write(`
+  <button class="btn btn-sm navbar-btn search-button search-button__button" 
title="Search" aria-label="Search" data-bs-placement="bottom" 
data-bs-toggle="tooltip">
+    <i class="fa-solid fa-magnifying-glass"></i>
+  </button>
+`);
+</script>
+    </div>
+  
+
+  
+    <label class="sidebar-toggle secondary-toggle" for="__secondary">
+      <span class="fa-solid fa-outdent"></span>
+    </label>
+  
+</div>
+
+    </nav>
+  
+  <div class="bd-container">
+    <div class="bd-container__inner bd-page-width">
+      
+      <div class="bd-sidebar-primary bd-sidebar">
+        
+
+  
+  <div class="sidebar-header-items sidebar-primary__section">
+    
+    
+      <div class="sidebar-header-items__center">
+        
+          <div class="navbar-item"><nav class="navbar-nav">
+  <p class="sidebar-header-items__title"
+     role="heading"
+     aria-level="1"
+     aria-label="Site Navigation">
+    Site Navigation
+  </p>
+  <ul class="bd-navbar-elements navbar-nav">
+    
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="c.html">
+                        C API Reference
+                      </a>
+                    </li>
+                
+
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="cpp.html">
+                        C++ API Reference
+                      </a>
+                    </li>
+                
+
+                    <li class="nav-item current active">
+                      <a class="nav-link nav-internal" href="#">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
+                <li class="nav-item">
+                  <a class="nav-link nav-external" href="r/index.html">
+                    R Package
+                  </a>
+                </li>
+                
+  </ul>
+</nav></div>
+        
+      </div>
+    
+    
+    
+      <div class="sidebar-header-items__end">
+        
+          <div class="navbar-item">
+<script>
+document.write(`
+  <button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn 
rounded-circle" title="light/dark" aria-label="light/dark" 
data-bs-placement="bottom" data-bs-toggle="tooltip">
+    <span class="theme-switch" data-mode="light"><i class="fa-solid 
fa-sun"></i></span>
+    <span class="theme-switch" data-mode="dark"><i class="fa-solid 
fa-moon"></i></span>
+    <span class="theme-switch" data-mode="auto"><i class="fa-solid 
fa-circle-half-stroke"></i></span>
+  </button>
+`);
+</script></div>
+        
+      </div>
+    
+  </div>
+  
+    <div class="sidebar-primary-items__start sidebar-primary__section">
+        <div class="sidebar-primary-item">
+<form class="bd-search d-flex align-items-center"
+      action="search.html"
+      method="get">
+  <i class="fa-solid fa-magnifying-glass"></i>
+  <input type="search"
+         class="form-control"
+         name="q"
+         id="search-input"
+         placeholder="Search the docs ..."
+         aria-label="Search the docs ..."
+         autocomplete="off"
+         autocorrect="off"
+         autocapitalize="off"
+         spellcheck="false"/>
+  <span class="search-button__kbd-shortcut"><kbd 
class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
+</form></div>
+    </div>
+  
+  
+  <div class="sidebar-primary-items__end sidebar-primary__section">
+  </div>
+  
+  <div id="rtd-footer-container"></div>
+
+
+      </div>
+      
+      <main id="main-content" class="bd-main">
+        
+        
+          <div class="bd-content">
+            <div class="bd-article-container">
+              
+              <div class="bd-header-article">
+<div class="header-article-items header-article__inner">
+  
+    <div class="header-article-items__start">
+      
+        <div class="header-article-item">
+
+
+
+<nav aria-label="Breadcrumbs">
+  <ul class="bd-breadcrumbs" role="navigation" aria-label="Breadcrumb">
+    
+    <li class="breadcrumb-item breadcrumb-home">
+      <a href="index.html" class="nav-link" aria-label="Home">
+        <i class="fa-solid fa-home"></i>
+      </a>
+    </li>
+    <li class="breadcrumb-item active" aria-current="page">IPC Extension 
Reference</li>
+  </ul>
+</nav>
+</div>
+      
+    </div>
+  
+  
+</div>
+</div>
+              
+              
+              
+                
+<div id="searchbox"></div>
+                <article class="bd-article" role="main">
+                  
+  <section id="ipc-extension-reference">
+<h1>IPC Extension Reference<a class="headerlink" 
href="#ipc-extension-reference" title="Permalink to this heading">#</a></h1>
+<dl>
+<dt class="sig sig-object cpp">
+<span class="target" id="group__nanoarrow__ipc"></span><em><span 
class="pre">group</span></em> <span class="sig-name descname"><span 
class="pre">nanoarrow_ipc</span></span></dt>
+<dd><p>Except where noted, objects are not thread-safe and clients should take 
care to serialize accesses to methods.</p>
+<p>Because this library is intended to be vendored, it provides full type 
definitions and encourages clients to stack or statically allocate where 
convenient. </p>
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-defines">Defines</p>
+<dl class="cpp macro">
+<dt class="sig sig-object cpp" 
id="c.NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT">
+<span class="target" 
id="group__nanoarrow__ipc_1ga41f4d1a0c7c57547d44b7f5bb904757d"></span><span 
class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT</span></span></span><a 
class="headerlink" href="#c.NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT" 
title="Permalink to this definition">#</a><br /></dt>
+<dd><p>Feature flag for a stream that uses dictionary replacement. </p>
+</dd></dl>
+
+<dl class="cpp macro">
+<dt class="sig sig-object cpp" id="c.NANOARROW_IPC_FEATURE_COMPRESSED_BODY">
+<span class="target" 
id="group__nanoarrow__ipc_1ga83f4b5032cac3fcd4b7b83fe68a7af7d"></span><span 
class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_FEATURE_COMPRESSED_BODY</span></span></span><a 
class="headerlink" href="#c.NANOARROW_IPC_FEATURE_COMPRESSED_BODY" 
title="Permalink to this definition">#</a><br /></dt>
+<dd><p>Feature flag for a stream that uses compression. </p>
+</dd></dl>
+
+</div>
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-enums">Enums</p>
+<dl class="cpp enum">
+<dt class="sig sig-object cpp" id="_CPPv423ArrowIpcMetadataVersion">
+<span id="_CPPv323ArrowIpcMetadataVersion"></span><span 
id="_CPPv223ArrowIpcMetadataVersion"></span><span class="target" 
id="group__nanoarrow__ipc_1ga455a3ecd9a26f7bae6434d43a48a7cab"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcMetadataVersion</span></span></span><a class="headerlink" 
href="#_CPPv423ArrowIpcMetadataVersion" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><p>Metadata version enumerator. </p>
+<p><em>Values:</em></p>
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V1E">
+<span 
id="_CPPv3N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V1E"></span><span
 
id="_CPPv2N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V1E"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga455a3ecd9a26f7bae6434d43a48a7caba43115da114ccee834fbd62203c701db2"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V1</span></spa [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V2E">
+<span 
id="_CPPv3N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V2E"></span><span
 
id="_CPPv2N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V2E"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga455a3ecd9a26f7bae6434d43a48a7caba9dbb5707e79fba252dedfdfe76a9ecda"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V2</span></spa [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V3E">
+<span 
id="_CPPv3N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V3E"></span><span
 
id="_CPPv2N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V3E"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga455a3ecd9a26f7bae6434d43a48a7cabab42c486bc1a66bb0a387104e1aab63e1"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V3</span></spa [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V4E">
+<span 
id="_CPPv3N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V4E"></span><span
 
id="_CPPv2N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V4E"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga455a3ecd9a26f7bae6434d43a48a7cabaae04e760519c11d2dee948a18c40552b"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V4</span></spa [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V5E">
+<span 
id="_CPPv3N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V5E"></span><span
 
id="_CPPv2N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V5E"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga455a3ecd9a26f7bae6434d43a48a7caba24704d53c946a411d60682e0af8dde56"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V5</span></spa [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="cpp enum">
+<dt class="sig sig-object cpp" id="_CPPv419ArrowIpcMessageType">
+<span id="_CPPv319ArrowIpcMessageType"></span><span 
id="_CPPv219ArrowIpcMessageType"></span><span class="target" 
id="group__nanoarrow__ipc_1ga1f8ab8cd75a6d060f75e52cccc593226"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcMessageType</span></span></span><a class="headerlink" 
href="#_CPPv419ArrowIpcMessageType" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><p>Message type enumerator. </p>
+<p><em>Values:</em></p>
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZEDE">
+<span 
id="_CPPv3N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZEDE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZEDE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226a0b13e7490424f660c8f693e0037f8cd8"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_UNINITIALIZE [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_SCHEMAE">
+<span 
id="_CPPv3N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_SCHEMAE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_SCHEMAE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226ad4be209718ef598834cc90d86f43c774"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_SCHEMA</span></span></span [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType43NANOARROW_IPC_MESSAGE_TYPE_DICTIONARY_BATCHE">
+<span 
id="_CPPv3N19ArrowIpcMessageType43NANOARROW_IPC_MESSAGE_TYPE_DICTIONARY_BATCHE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType43NANOARROW_IPC_MESSAGE_TYPE_DICTIONARY_BATCHE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226ac6eabad4b08ea879536c2034dd439c45"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_DICTIO [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType39NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCHE">
+<span 
id="_CPPv3N19ArrowIpcMessageType39NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCHE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType39NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCHE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226a39db028e7d33077cd8d7f0a5dfbbb88b"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCH</ [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_TENSORE">
+<span 
id="_CPPv3N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_TENSORE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType33NANOARROW_IPC_MESSAGE_TYPE_TENSORE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226ab12dc67effb5019fe18093e771e92efd"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_TENSOR</span></span></span [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSORE">
+<span 
id="_CPPv3N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSORE"></span><span
 
id="_CPPv2N19ArrowIpcMessageType40NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSORE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga1f8ab8cd75a6d060f75e52cccc593226ab196004ecbe280a05e72d42892b881db"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_MESSAGE_TYPE_SPARSE_TENSO [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="cpp enum">
+<dt class="sig sig-object cpp" id="_CPPv418ArrowIpcEndianness">
+<span id="_CPPv318ArrowIpcEndianness"></span><span 
id="_CPPv218ArrowIpcEndianness"></span><span class="target" 
id="group__nanoarrow__ipc_1ga67fe7b1ec726dbd6258e359da43951b2"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcEndianness</span></span></span><a class="headerlink" 
href="#_CPPv418ArrowIpcEndianness" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><p>Endianness enumerator. </p>
+<p><em>Values:</em></p>
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N18ArrowIpcEndianness38NANOARROW_IPC_ENDIANNESS_UNINITIALIZEDE">
+<span 
id="_CPPv3N18ArrowIpcEndianness38NANOARROW_IPC_ENDIANNESS_UNINITIALIZEDE"></span><span
 
id="_CPPv2N18ArrowIpcEndianness38NANOARROW_IPC_ENDIANNESS_UNINITIALIZEDE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gga67fe7b1ec726dbd6258e359da43951b2a9473f53fa21d8e5ae59b21f123046498"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_ENDIANNESS_UNINITIALIZED</span> [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N18ArrowIpcEndianness31NANOARROW_IPC_ENDIANNESS_LITTLEE">
+<span 
id="_CPPv3N18ArrowIpcEndianness31NANOARROW_IPC_ENDIANNESS_LITTLEE"></span><span 
id="_CPPv2N18ArrowIpcEndianness31NANOARROW_IPC_ENDIANNESS_LITTLEE"></span><span 
class="target" 
id="group__nanoarrow__ipc_1gga67fe7b1ec726dbd6258e359da43951b2ad9a01f7d56d07930003f17232f639a77"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_ENDIANNESS_LITTLE</span></span></span><a clas [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N18ArrowIpcEndianness28NANOARROW_IPC_ENDIANNESS_BIGE">
+<span 
id="_CPPv3N18ArrowIpcEndianness28NANOARROW_IPC_ENDIANNESS_BIGE"></span><span 
id="_CPPv2N18ArrowIpcEndianness28NANOARROW_IPC_ENDIANNESS_BIGE"></span><span 
class="target" 
id="group__nanoarrow__ipc_1gga67fe7b1ec726dbd6258e359da43951b2aff5abf2e0c065514febbc5beeb09a28e"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_ENDIANNESS_BIG</span></span></span><a class="header 
[...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="cpp enum">
+<dt class="sig sig-object cpp" id="_CPPv423ArrowIpcCompressionType">
+<span id="_CPPv323ArrowIpcCompressionType"></span><span 
id="_CPPv223ArrowIpcCompressionType"></span><span class="target" 
id="group__nanoarrow__ipc_1gad7618ff0b7eaebe315248fc317877d85"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcCompressionType</span></span></span><a class="headerlink" 
href="#_CPPv423ArrowIpcCompressionType" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><p>Compression type enumerator. </p>
+<p><em>Values:</em></p>
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_NONEE">
+<span 
id="_CPPv3N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_NONEE"></span><span
 
id="_CPPv2N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_NONEE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ggad7618ff0b7eaebe315248fc317877d85a340305efc456cce48aa03e41a65e5035"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_COMPRESSION_TYPE_NONE</span [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcCompressionType40NANOARROW_IPC_COMPRESSION_TYPE_LZ4_FRAMEE">
+<span 
id="_CPPv3N23ArrowIpcCompressionType40NANOARROW_IPC_COMPRESSION_TYPE_LZ4_FRAMEE"></span><span
 
id="_CPPv2N23ArrowIpcCompressionType40NANOARROW_IPC_COMPRESSION_TYPE_LZ4_FRAMEE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ggad7618ff0b7eaebe315248fc317877d85ab12e42ff16edebcee4a007d56f1a2a0e"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_COMPRESSION_TYPE_ [...]
+<dd></dd></dl>
+
+<dl class="cpp enumerator">
+<dt class="sig sig-object cpp" 
id="_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_ZSTDE">
+<span 
id="_CPPv3N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_ZSTDE"></span><span
 
id="_CPPv2N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_ZSTDE"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ggad7618ff0b7eaebe315248fc317877d85adba37a865ab148a2a2b2edcedfff88e4"></span><span
 class="k"><span class="pre">enumerator</span></span><span class="w"> 
</span><span class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_COMPRESSION_TYPE_ZSTD</span [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-functions">Functions</p>
+<dl class="cpp function">
+<dt class="sig sig-object cpp" id="_CPPv420ArrowIpcCheckRuntimeP10ArrowError">
+<span id="_CPPv320ArrowIpcCheckRuntimeP10ArrowError"></span><span 
id="_CPPv220ArrowIpcCheckRuntimeP10ArrowError"></span><span 
id="ArrowIpcCheckRuntime__ArrowErrorP"></span><span class="target" 
id="group__nanoarrow__ipc_1ga15c2f5e02a100fdc951083a47c70f2be"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </span><span 
class="sig-name descname"><span class="n">< [...]
+<dd><p>Checks the nanoarrow runtime to make sure the run/build versions match. 
</p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv424ArrowIpcSharedBufferInitP20ArrowIpcSharedBufferP11ArrowBuffer">
+<span 
id="_CPPv324ArrowIpcSharedBufferInitP20ArrowIpcSharedBufferP11ArrowBuffer"></span><span
 
id="_CPPv224ArrowIpcSharedBufferInitP20ArrowIpcSharedBufferP11ArrowBuffer"></span><span
 id="ArrowIpcSharedBufferInit__ArrowIpcSharedBufferP.ArrowBufferP"></span><span 
class="target" 
id="group__nanoarrow__ipc_1ga9ee9e1dc573c951f2523883297f8e0b6"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span class="pre">ArrowErrorCode</span>< 
[...]
+<dd><p>Initialize the contents of a <a class="reference internal" 
href="#struct_arrow_ipc_shared_buffer"><span class="std 
std-ref">ArrowIpcSharedBuffer</span></a> struct. </p>
+<p>If NANOARROW_OK is returned, the <a class="reference internal" 
href="#struct_arrow_ipc_shared_buffer"><span class="std 
std-ref">ArrowIpcSharedBuffer</span></a> takes ownership of src. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv425ArrowIpcSharedBufferResetP20ArrowIpcSharedBuffer">
+<span 
id="_CPPv325ArrowIpcSharedBufferResetP20ArrowIpcSharedBuffer"></span><span 
id="_CPPv225ArrowIpcSharedBufferResetP20ArrowIpcSharedBuffer"></span><span 
id="ArrowIpcSharedBufferReset__ArrowIpcSharedBufferP"></span><span 
class="target" 
id="group__nanoarrow__ipc_1ga126d5828e975d2de0ef5dc1162a7085f"></span><span 
class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcSharedBufferReset</span></span></ [...]
+<dd><p>Release the caller’s copy of the shared buffer. </p>
+<p>When finished, the caller must relinquish its own copy of the shared data 
using this function. The original buffer will continue to exist until all 
ArrowArray objects that refer to it have also been released. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" id="_CPPv432ArrowIpcSharedBufferIsThreadSafev">
+<span id="_CPPv332ArrowIpcSharedBufferIsThreadSafev"></span><span 
id="_CPPv232ArrowIpcSharedBufferIsThreadSafev"></span><span 
id="ArrowIpcSharedBufferIsThreadSafe__void"></span><span class="target" 
id="group__nanoarrow__ipc_1ga931c1a3bac83960532864a1e9f280239"></span><span 
class="kt"><span class="pre">int</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcSharedBufferIsThreadSafe</span></span></span><span 
class="sig-paren">(</sp [...]
+<dd><p>Check for shared buffer thread safety. </p>
+<p>Thread-safe shared buffers require C11 and the stdatomic.h header. If 
either are unavailable, shared buffers are still possible but the resulting 
arrays must not be passed to other threads to be released. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv419ArrowIpcDecoderInitP15ArrowIpcDecoder">
+<span id="_CPPv319ArrowIpcDecoderInitP15ArrowIpcDecoder"></span><span 
id="_CPPv219ArrowIpcDecoderInitP15ArrowIpcDecoder"></span><span 
id="ArrowIpcDecoderInit__ArrowIpcDecoderP"></span><span class="target" 
id="group__nanoarrow__ipc_1ga0a0b859bb7e01fc0a0828233f959492e"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </span><span 
class="sig-name descname"><span [...]
+<dd><p>Initialize a decoder. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv420ArrowIpcDecoderResetP15ArrowIpcDecoder">
+<span id="_CPPv320ArrowIpcDecoderResetP15ArrowIpcDecoder"></span><span 
id="_CPPv220ArrowIpcDecoderResetP15ArrowIpcDecoder"></span><span 
id="ArrowIpcDecoderReset__ArrowIpcDecoderP"></span><span class="target" 
id="group__nanoarrow__ipc_1gad74005e3b4915f5354874d8d84b4303f"></span><span 
class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">ArrowIpcDecoderReset</span></span></span><span 
class="sig-paren">(</spa [...]
+<dd><p>Release all resources attached to a decoder. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv425ArrowIpcDecoderPeekHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">
+<span 
id="_CPPv325ArrowIpcDecoderPeekHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="_CPPv225ArrowIpcDecoderPeekHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="ArrowIpcDecoderPeekHeader__ArrowIpcDecoderP.ArrowBufferView.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga02b0a558c785e952737182e04eba936d"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span [...]
+<dd><p>Peek at a message header. </p>
+<p>The first 8 bytes of an Arrow IPC message are 0xFFFFFF followed by the size 
of the header as a little-endian 32-bit integer. <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga02b0a558c785e952737182e04eba936d"><span 
class="std std-ref">ArrowIpcDecoderPeekHeader()</span></a> reads these bytes 
and returns ESPIPE if there are not enough remaining bytes in data to read the 
entire header message, EINVAL if the first 8 bytes are not valid, ENODATA if 
the Arrow end-of-stream indic [...]
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv427ArrowIpcDecoderVerifyHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">
+<span 
id="_CPPv327ArrowIpcDecoderVerifyHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="_CPPv227ArrowIpcDecoderVerifyHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="ArrowIpcDecoderVerifyHeader__ArrowIpcDecoderP.ArrowBufferView.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga5d19acbf708ca5b4b7cbe32fa81378a6"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n" [...]
+<dd><p>Verify a message header. </p>
+<p>Runs <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga02b0a558c785e952737182e04eba936d"><span 
class="std std-ref">ArrowIpcDecoderPeekHeader()</span></a> to ensure data is 
sufficiently large but additionally runs flatbuffer verification to ensure that 
decoding the data will not access memory outside of the buffer specified by 
data. <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga5d19acbf708ca5b4b7cbe32fa81378a6"><span 
class="std std-ref">ArrowIpcDecoderVerify [...]
+<p>Returns as <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga02b0a558c785e952737182e04eba936d"><span 
class="std std-ref">ArrowIpcDecoderPeekHeader()</span></a> and additionally 
will return EINVAL if flatbuffer verification fails. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv427ArrowIpcDecoderDecodeHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError">
+<span 
id="_CPPv327ArrowIpcDecoderDecodeHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="_CPPv227ArrowIpcDecoderDecodeHeaderP15ArrowIpcDecoder15ArrowBufferViewP10ArrowError"></span><span
 
id="ArrowIpcDecoderDecodeHeader__ArrowIpcDecoderP.ArrowBufferView.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gaa4ea4cae2cca86081b9279e481e4dab0"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n" [...]
+<dd><p>Decode a message header. </p>
+<p>Runs <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga02b0a558c785e952737182e04eba936d"><span 
class="std std-ref">ArrowIpcDecoderPeekHeader()</span></a> to ensure data is 
sufficiently large and decodes the content of the message header. If data 
contains a schema message, decoder.endianness and decoder.feature_flags is set 
and <a class="reference internal" 
href="#group__nanoarrow__ipc_1gab56730acfeaad71f0b31e0616c3cac02"><span 
class="std std-ref">ArrowIpcDecoderDecodeSchem [...]
+<p>In almost all cases this should be preceeded by a call to <a 
class="reference internal" 
href="#group__nanoarrow__ipc_1ga5d19acbf708ca5b4b7cbe32fa81378a6"><span 
class="std std-ref">ArrowIpcDecoderVerifyHeader()</span></a> to ensure decoding 
does not access data outside of the specified buffer.</p>
+<p>Returns EINVAL if the content of the message cannot be decoded or ENOTSUP 
if the content of the message uses features not supported by this library. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv427ArrowIpcDecoderDecodeSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError">
+<span 
id="_CPPv327ArrowIpcDecoderDecodeSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError"></span><span
 
id="_CPPv227ArrowIpcDecoderDecodeSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError"></span><span
 
id="ArrowIpcDecoderDecodeSchema__ArrowIpcDecoderP.ArrowSchemaP.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gab56730acfeaad71f0b31e0616c3cac02"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span cl [...]
+<dd><p>Decode an ArrowSchema. </p>
+<p>After a successful call to <a class="reference internal" 
href="#group__nanoarrow__ipc_1gaa4ea4cae2cca86081b9279e481e4dab0"><span 
class="std std-ref">ArrowIpcDecoderDecodeHeader()</span></a>, retrieve an 
ArrowSchema. The caller is responsible for releasing the schema if NANOARROW_OK 
is returned.</p>
+<p>Returns EINVAL if the decoder did not just decode a schema message or 
NANOARROW_OK otherwise. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv424ArrowIpcDecoderSetSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError">
+<span 
id="_CPPv324ArrowIpcDecoderSetSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError"></span><span
 
id="_CPPv224ArrowIpcDecoderSetSchemaP15ArrowIpcDecoderP11ArrowSchemaP10ArrowError"></span><span
 
id="ArrowIpcDecoderSetSchema__ArrowIpcDecoderP.ArrowSchemaP.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga91e04e3442fdf80c7097693d27b41d2f"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span class="pre" [...]
+<dd><p>Set the ArrowSchema used to decode future record batch messages. </p>
+<p>Prepares the decoder for future record batch messages of this type. The 
decoder takes ownership of schema if NANOARROW_OK is returned. Note that you 
must call this explicitly after decoding a Schema message (i.e., the decoder 
does not assume that the last-decoded schema message applies to future record 
batch messages).</p>
+<p>Returns EINVAL if schema validation fails or NANOARROW_OK otherwise. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv428ArrowIpcDecoderSetEndiannessP15ArrowIpcDecoder18ArrowIpcEndianness">
+<span 
id="_CPPv328ArrowIpcDecoderSetEndiannessP15ArrowIpcDecoder18ArrowIpcEndianness"></span><span
 
id="_CPPv228ArrowIpcDecoderSetEndiannessP15ArrowIpcDecoder18ArrowIpcEndianness"></span><span
 
id="ArrowIpcDecoderSetEndianness__ArrowIpcDecoderP.ArrowIpcEndianness"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gadc1b73928cdbbb07a6287b4847004c3b"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span class="pre">ArrowEr [...]
+<dd><p>Set the endianness used to decode future record batch messages. </p>
+<p>Prepares the decoder for future record batch messages with the specified 
endianness. Note that you must call this explicitly after decoding a Schema 
message (i.e., the decoder does not assume that the last-decoded schema message 
applies to future record batch messages).</p>
+<p>Returns NANOARROW_OK on success. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv426ArrowIpcDecoderDecodeArrayP15ArrowIpcDecoder15ArrowBufferView7int64_tP10ArrowArrayP10ArrowError">
+<span 
id="_CPPv326ArrowIpcDecoderDecodeArrayP15ArrowIpcDecoder15ArrowBufferView7int64_tP10ArrowArrayP10ArrowError"></span><span
 
id="_CPPv226ArrowIpcDecoderDecodeArrayP15ArrowIpcDecoder15ArrowBufferView7int64_tP10ArrowArrayP10ArrowError"></span><span
 
id="ArrowIpcDecoderDecodeArray__ArrowIpcDecoderP.ArrowBufferView.int64_t.ArrowArrayP.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga742cad95c7f6e42d1a1b284133cbfab6"></span><a 
class="reference internal" href="c.html#_CP [...]
+<dd><p>Decode an ArrowArray. </p>
+<p>After a successful call to <a class="reference internal" 
href="#group__nanoarrow__ipc_1gaa4ea4cae2cca86081b9279e481e4dab0"><span 
class="std std-ref">ArrowIpcDecoderDecodeHeader()</span></a>, assemble an 
ArrowArray given a message body and a field index. Note that field index does 
not equate to column index if any columns contain nested types. Use a value of 
-1 to decode the entire array into a struct. The caller is responsible for 
releasing the array if NANOARROW_OK is returned.</p>
+<p>Returns EINVAL if the decoder did not just decode a record batch message, 
ENOTSUP if the message uses features not supported by this library, or or 
NANOARROW_OK otherwise. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv436ArrowIpcDecoderDecodeArrayFromSharedP15ArrowIpcDecoderP20ArrowIpcSharedBuffer7int64_tP10ArrowArrayP10ArrowError">
+<span 
id="_CPPv336ArrowIpcDecoderDecodeArrayFromSharedP15ArrowIpcDecoderP20ArrowIpcSharedBuffer7int64_tP10ArrowArrayP10ArrowError"></span><span
 
id="_CPPv236ArrowIpcDecoderDecodeArrayFromSharedP15ArrowIpcDecoderP20ArrowIpcSharedBuffer7int64_tP10ArrowArrayP10ArrowError"></span><span
 
id="ArrowIpcDecoderDecodeArrayFromShared__ArrowIpcDecoderP.ArrowIpcSharedBufferP.int64_t.ArrowArrayP.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga40bdc88183e82556e89e6e6e48137888"></spa [...]
+<dd><p>Decode an ArrowArray from an owned buffer. </p>
+<p>This implementation takes advantage of the fact that it can avoid copying 
individual buffers. In all cases the caller must <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga126d5828e975d2de0ef5dc1162a7085f"><span 
class="std std-ref">ArrowIpcSharedBufferReset()</span></a> body after one or 
more calls to <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga40bdc88183e82556e89e6e6e48137888"><span 
class="std std-ref">ArrowIpcDecoderDecodeArrayFromShared()</span></a>.  [...]
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv428ArrowIpcDecoderValidateArrayP10ArrowArray20ArrowValidationLevelP10ArrowError">
+<span 
id="_CPPv328ArrowIpcDecoderValidateArrayP10ArrowArray20ArrowValidationLevelP10ArrowError"></span><span
 
id="_CPPv228ArrowIpcDecoderValidateArrayP10ArrowArray20ArrowValidationLevelP10ArrowError"></span><span
 
id="ArrowIpcDecoderValidateArray__ArrowArrayP.ArrowValidationLevel.ArrowErrorP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gaec27831bcc64af1ee92043418a89dd0f"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class= [...]
+<dd><p>Validate a decoded ArrowArray. </p>
+<p>Verifies buffer lengths and contents depending on validation_level. Users 
are reccomended to use NANOARROW_VALIDATION_LEVEL_FULL as any lesser value may 
result in some types of corrupted data crashing a process on read. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv423ArrowIpcInputStreamMoveP19ArrowIpcInputStreamP19ArrowIpcInputStream">
+<span 
id="_CPPv323ArrowIpcInputStreamMoveP19ArrowIpcInputStreamP19ArrowIpcInputStream"></span><span
 
id="_CPPv223ArrowIpcInputStreamMoveP19ArrowIpcInputStreamP19ArrowIpcInputStream"></span><span
 
id="ArrowIpcInputStreamMove__ArrowIpcInputStreamP.ArrowIpcInputStreamP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga301d58fd1a77941ff9ca05f712b30e28"></span><span 
class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><sp [...]
+<dd><p>Transfer ownership of an <a class="reference internal" 
href="#struct_arrow_ipc_input_stream"><span class="std 
std-ref">ArrowIpcInputStream</span></a>. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv429ArrowIpcInputStreamInitBufferP19ArrowIpcInputStreamP11ArrowBuffer">
+<span 
id="_CPPv329ArrowIpcInputStreamInitBufferP19ArrowIpcInputStreamP11ArrowBuffer"></span><span
 
id="_CPPv229ArrowIpcInputStreamInitBufferP19ArrowIpcInputStreamP11ArrowBuffer"></span><span
 
id="ArrowIpcInputStreamInitBuffer__ArrowIpcInputStreamP.ArrowBufferP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1gaaaa9c7ecbbf422341880881287f821ea"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span class="pre">ArrowError [...]
+<dd><p>Create an input stream from an ArrowBuffer. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv427ArrowIpcInputStreamInitFileP19ArrowIpcInputStreamPvi">
+<span 
id="_CPPv327ArrowIpcInputStreamInitFileP19ArrowIpcInputStreamPvi"></span><span 
id="_CPPv227ArrowIpcInputStreamInitFileP19ArrowIpcInputStreamPvi"></span><span 
id="ArrowIpcInputStreamInitFile__ArrowIpcInputStreamP.voidP.i"></span><span 
class="target" 
id="group__nanoarrow__ipc_1ga13229dfcf006367b5efe7ada3232f0e1"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class [...]
+<dd><p>Create an input stream from a C FILE* pointer. </p>
+<p>Note that the <a class="reference internal" 
href="#struct_arrow_ipc_input_stream"><span class="std 
std-ref">ArrowIpcInputStream</span></a> has no mechanism to communicate an 
error if file_ptr fails to close. If this behaviour is needed, pass false to 
close_on_release and handle closing the file independently from stream. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp" 
id="_CPPv429ArrowIpcArrayStreamReaderInitP16ArrowArrayStreamP19ArrowIpcInputStreamP32ArrowIpcArrayStreamReaderOptions">
+<span 
id="_CPPv329ArrowIpcArrayStreamReaderInitP16ArrowArrayStreamP19ArrowIpcInputStreamP32ArrowIpcArrayStreamReaderOptions"></span><span
 
id="_CPPv229ArrowIpcArrayStreamReaderInitP16ArrowArrayStreamP19ArrowIpcInputStreamP32ArrowIpcArrayStreamReaderOptions"></span><span
 
id="ArrowIpcArrayStreamReaderInit__ArrowArrayStreamP.ArrowIpcInputStreamP.ArrowIpcArrayStreamReaderOptionsP"></span><span
 class="target" 
id="group__nanoarrow__ipc_1ga0afe677c571f9bc37449178940392496"></span><a 
class="refer [...]
+<dd><p>Initialize an ArrowArrayStream from an input stream of bytes. </p>
+<p>The stream of bytes must begin with a Schema message and be followed by 
zero or more RecordBatch messages as described in the Arrow IPC stream format 
specification. Returns NANOARROW_OK on success. If NANOARROW_OK is returned, 
the ArrowArrayStream takes ownership of input_stream and the caller is 
responsible for releasing out. </p>
+</dd></dl>
+
+</div>
+<dl class="cpp struct">
+<dt class="sig sig-object cpp" id="_CPPv420ArrowIpcSharedBuffer">
+<span id="_CPPv320ArrowIpcSharedBuffer"></span><span 
id="_CPPv220ArrowIpcSharedBuffer"></span><span 
id="ArrowIpcSharedBuffer"></span><span class="target" 
id="struct_arrow_ipc_shared_buffer"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcSharedBuffer</span></span></span><a class="headerlink" 
href="#_CPPv420ArrowIpcSharedBuffer" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><div class="docutils container">
+<em>#include &lt;nanoarrow_ipc.h&gt;</em></div>
+<p>A structure representing a reference-counted buffer that may be passed to 
<a class="reference internal" 
href="#group__nanoarrow__ipc_1ga40bdc88183e82556e89e6e6e48137888"><span 
class="std std-ref">ArrowIpcDecoderDecodeArrayFromShared()</span></a>. </p>
+</dd></dl>
+
+<dl class="cpp struct">
+<dt class="sig sig-object cpp" id="_CPPv415ArrowIpcDecoder">
+<span id="_CPPv315ArrowIpcDecoder"></span><span 
id="_CPPv215ArrowIpcDecoder"></span><span id="ArrowIpcDecoder"></span><span 
class="target" id="struct_arrow_ipc_decoder"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcDecoder</span></span></span><a class="headerlink" 
href="#_CPPv415ArrowIpcDecoder" title="Permalink to this definition">#</a><br 
/></dt>
+<dd><div class="docutils container">
+<em>#include &lt;nanoarrow_ipc.h&gt;</em></div>
+<p>Decoder for Arrow IPC messages. </p>
+<p>This structure is intended to be allocated by the caller, initialized using 
<a class="reference internal" 
href="#group__nanoarrow__ipc_1ga0a0b859bb7e01fc0a0828233f959492e"><span 
class="std std-ref">ArrowIpcDecoderInit()</span></a>, and released with <a 
class="reference internal" 
href="#group__nanoarrow__ipc_1gad74005e3b4915f5354874d8d84b4303f"><span 
class="std std-ref">ArrowIpcDecoderReset()</span></a>. These fields should not 
be modified by the caller but can be read following a call [...]
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-public-members">Public Members</p>
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder12message_typeE">
+<span id="_CPPv3N15ArrowIpcDecoder12message_typeE"></span><span 
id="_CPPv2N15ArrowIpcDecoder12message_typeE"></span><span 
id="ArrowIpcDecoder::message_type__ArrowIpcMessageType"></span><span 
class="target" 
id="struct_arrow_ipc_decoder_1ab2a1137feb52299e34393045656079c9"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><a 
class="reference internal" href="#_CPPv419ArrowIpcMessageType" 
title="ArrowIpcMessageType"><span class="n"><span class="pre">ArrowIpcMe [...]
+<dd><p>The last verified or decoded message type. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N15ArrowIpcDecoder16metadata_versionE">
+<span id="_CPPv3N15ArrowIpcDecoder16metadata_versionE"></span><span 
id="_CPPv2N15ArrowIpcDecoder16metadata_versionE"></span><span 
id="ArrowIpcDecoder::metadata_version__ArrowIpcMetadataVersion"></span><span 
class="target" 
id="struct_arrow_ipc_decoder_1a8aba38b46c54b94d154cdbc030f1d72a"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><a 
class="reference internal" href="#_CPPv423ArrowIpcMetadataVersion" 
title="ArrowIpcMetadataVersion"><span class="n"><spa [...]
+<dd><p>The metadata version as indicated by the current schema message. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder10endiannessE">
+<span id="_CPPv3N15ArrowIpcDecoder10endiannessE"></span><span 
id="_CPPv2N15ArrowIpcDecoder10endiannessE"></span><span 
id="ArrowIpcDecoder::endianness__ArrowIpcEndianness"></span><span 
class="target" 
id="struct_arrow_ipc_decoder_1a87ef9dfb9fea7a382307dcf2974b30fa"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><a 
class="reference internal" href="#_CPPv418ArrowIpcEndianness" 
title="ArrowIpcEndianness"><span class="n"><span 
class="pre">ArrowIpcEndianness< [...]
+<dd><p>Buffer endianness as indicated by the current schema message. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder13feature_flagsE">
+<span id="_CPPv3N15ArrowIpcDecoder13feature_flagsE"></span><span 
id="_CPPv2N15ArrowIpcDecoder13feature_flagsE"></span><span 
id="ArrowIpcDecoder::feature_flags__int32_t"></span><span class="target" 
id="struct_arrow_ipc_decoder_1a3662565f65066b61291a3e9f6e88bafc"></span><span 
class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">feature_flags</span></span></span><a class="headerlink" 
href="#_CPPv4N15ArrowI [...]
+<dd><p>Arrow IPC Features used as indicated by the current Schema message. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder5codecE">
+<span id="_CPPv3N15ArrowIpcDecoder5codecE"></span><span 
id="_CPPv2N15ArrowIpcDecoder5codecE"></span><span 
id="ArrowIpcDecoder::codec__ArrowIpcCompressionType"></span><span 
class="target" 
id="struct_arrow_ipc_decoder_1a0f3a256c90815aa501b87d94116bc389"></span><span 
class="k"><span class="pre">enum</span></span><span class="w"> </span><a 
class="reference internal" href="#_CPPv423ArrowIpcCompressionType" 
title="ArrowIpcCompressionType"><span class="n"><span 
class="pre">ArrowIpcCompressionTy [...]
+<dd><p>Compression used by the current RecordBatch message. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N15ArrowIpcDecoder17header_size_bytesE">
+<span id="_CPPv3N15ArrowIpcDecoder17header_size_bytesE"></span><span 
id="_CPPv2N15ArrowIpcDecoder17header_size_bytesE"></span><span 
id="ArrowIpcDecoder::header_size_bytes__int32_t"></span><span class="target" 
id="struct_arrow_ipc_decoder_1ad1d226e845192d8af9ff9225a364a9ba"></span><span 
class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">header_size_bytes</span></span></span><a class="headerlink" href=" 
[...]
+<dd><p>The number of bytes in the current header message. </p>
+<p>This value includes the 8 bytes before the start of the header message 
content and any padding bytes required to make the header message size be a 
multiple of 8 bytes. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder15body_size_bytesE">
+<span id="_CPPv3N15ArrowIpcDecoder15body_size_bytesE"></span><span 
id="_CPPv2N15ArrowIpcDecoder15body_size_bytesE"></span><span 
id="ArrowIpcDecoder::body_size_bytes__int64_t"></span><span class="target" 
id="struct_arrow_ipc_decoder_1a69d8c83f127711e7a757936d90c1245e"></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">body_size_bytes</span></span></span><a class="headerlink" 
href="#_CPPv4N [...]
+<dd><p>The number of bytes in the forthcoming body message. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N15ArrowIpcDecoder12private_dataE">
+<span id="_CPPv3N15ArrowIpcDecoder12private_dataE"></span><span 
id="_CPPv2N15ArrowIpcDecoder12private_dataE"></span><span 
id="ArrowIpcDecoder::private_data__voidP"></span><span class="target" 
id="struct_arrow_ipc_decoder_1a9f4ddcdfde8249f3597fa0347189d399"></span><span 
class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="p"><span class="pre">*</span></span><span class="sig-name 
descname"><span class="n"><span class="pre">private_data</span></span></span><a 
 [...]
+<dd><p>Private resources managed by this library. </p>
+</dd></dl>
+
+</div>
+</dd></dl>
+
+<dl class="cpp struct">
+<dt class="sig sig-object cpp" id="_CPPv419ArrowIpcInputStream">
+<span id="_CPPv319ArrowIpcInputStream"></span><span 
id="_CPPv219ArrowIpcInputStream"></span><span 
id="ArrowIpcInputStream"></span><span class="target" 
id="struct_arrow_ipc_input_stream"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcInputStream</span></span></span><a class="headerlink" 
href="#_CPPv419ArrowIpcInputStream" title="Permalink to this 
definition">#</a><br /></dt>
+<dd><div class="docutils container">
+<em>#include &lt;nanoarrow_ipc.h&gt;</em></div>
+<p>An user-extensible input data source. </p>
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-public-members">Public Members</p>
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N19ArrowIpcInputStream4readE">
+<span id="_CPPv3N19ArrowIpcInputStream4readE"></span><span 
id="_CPPv2N19ArrowIpcInputStream4readE"></span><span class="target" 
id="struct_arrow_ipc_input_stream_1a0b30cfac7de35d503c2b8260cd179f8f"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </span><span 
class="p"><span class="pre">(</span></span><span class="p"><span 
class="pre">*</span></span><span clas [...]
+<dd><p>Read up to buf_size_bytes from stream into buf. </p>
+<p>The actual number of bytes read is placed in the value pointed to by 
size_read_out. Returns NANOARROW_OK on success. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N19ArrowIpcInputStream7releaseE">
+<span id="_CPPv3N19ArrowIpcInputStream7releaseE"></span><span 
id="_CPPv2N19ArrowIpcInputStream7releaseE"></span><span class="target" 
id="struct_arrow_ipc_input_stream_1a4a63194b3044296768d9e54dee9c2a71"></span><span
 class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="p"><span class="pre">(</span></span><span class="p"><span 
class="pre">*</span></span><span class="sig-name descname"><span 
class="n"><span class="pre">release</span></span></span><span class=" [...]
+<dd><p>Release the stream and any resources it may be holding. </p>
+<p>Release callback implementations must set the release member to NULL. 
Callers must check that the release callback is not NULL before calling <a 
class="reference internal" 
href="#struct_arrow_ipc_input_stream_1a0b30cfac7de35d503c2b8260cd179f8f"><span 
class="std std-ref">read()</span></a> or <a class="reference internal" 
href="#struct_arrow_ipc_input_stream_1a4a63194b3044296768d9e54dee9c2a71"><span 
class="std std-ref">release()</span></a>. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N19ArrowIpcInputStream12private_dataE">
+<span id="_CPPv3N19ArrowIpcInputStream12private_dataE"></span><span 
id="_CPPv2N19ArrowIpcInputStream12private_dataE"></span><span 
id="ArrowIpcInputStream::private_data__voidP"></span><span class="target" 
id="struct_arrow_ipc_input_stream_1a5510bd133113f69efc020d3513c8175f"></span><span
 class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="p"><span class="pre">*</span></span><span class="sig-name 
descname"><span class="n"><span class="pre">private_data</span> [...]
+<dd><p>Private implementation-defined data. </p>
+</dd></dl>
+
+</div>
+</dd></dl>
+
+<dl class="cpp struct">
+<dt class="sig sig-object cpp" id="_CPPv432ArrowIpcArrayStreamReaderOptions">
+<span id="_CPPv332ArrowIpcArrayStreamReaderOptions"></span><span 
id="_CPPv232ArrowIpcArrayStreamReaderOptions"></span><span 
id="ArrowIpcArrayStreamReaderOptions"></span><span class="target" 
id="struct_arrow_ipc_array_stream_reader_options"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcArrayStreamReaderOptions</span></span></span><a 
class="headerlink" href="#_CPPv432ArrowIpcArr [...]
+<dd><div class="docutils container">
+<em>#include &lt;nanoarrow_ipc.h&gt;</em></div>
+<p>Options for <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga0afe677c571f9bc37449178940392496"><span 
class="std std-ref">ArrowIpcArrayStreamReaderInit()</span></a></p>
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-public-members">Public Members</p>
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N32ArrowIpcArrayStreamReaderOptions11field_indexE">
+<span 
id="_CPPv3N32ArrowIpcArrayStreamReaderOptions11field_indexE"></span><span 
id="_CPPv2N32ArrowIpcArrayStreamReaderOptions11field_indexE"></span><span 
id="ArrowIpcArrayStreamReaderOptions::field_index__int64_t"></span><span 
class="target" 
id="struct_arrow_ipc_array_stream_reader_options_1a544ff267e0aaead4319b49110efebe3d"></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">field_index</ [...]
+<dd><p>The field index to extract. </p>
+<p>Defaults to -1 (i.e., read all fields). Note that this field index refers 
to the flattened tree of children and not necessarily the column index. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N32ArrowIpcArrayStreamReaderOptions18use_shared_buffersE">
+<span 
id="_CPPv3N32ArrowIpcArrayStreamReaderOptions18use_shared_buffersE"></span><span
 
id="_CPPv2N32ArrowIpcArrayStreamReaderOptions18use_shared_buffersE"></span><span
 id="ArrowIpcArrayStreamReaderOptions::use_shared_buffers__i"></span><span 
class="target" 
id="struct_arrow_ipc_array_stream_reader_options_1a415145f089d7244dbc92c2dadea9988b"></span><span
 class="kt"><span class="pre">int</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span class="pre">u [...]
+<dd><p>Set to a non-zero value to share the message body buffer among decoded 
arrays. </p>
+<p>Sharing buffers is a good choice when (1) using memory-mapped IO (since 
unreferenced portions of the file are often not loaded into memory) or (2) if 
all data from all columns are about to be referenced anyway. When loading a 
single field there is probably no advantage to using shared buffers. Defaults 
to the value of <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga931c1a3bac83960532864a1e9f280239"><span 
class="std std-ref">ArrowIpcSharedBufferIsThreadSafe()</span></a>. </p>
+</dd></dl>
+
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+
+                </article>
+              
+              
+              
+                <footer class="bd-footer-article">
+                  
+<div class="footer-article-items footer-article__inner">
+  
+    <div class="footer-article-item"><!-- Previous / next buttons -->
+<div class="prev-next-area">
+    <a class="left-prev"
+       href="cpp.html"
+       title="previous page">
+      <i class="fa-solid fa-angle-left"></i>
+      <div class="prev-next-info">
+        <p class="prev-next-subtitle">previous</p>
+        <p class="prev-next-title">C++ API Reference</p>
+      </div>
+    </a>
+</div></div>
+  
+</div>
+
+                </footer>
+              
+            </div>
+            
+            
+              
+                <div class="bd-sidebar-secondary bd-toc"><div 
class="sidebar-secondary-items sidebar-secondary__inner">
+
+  <div class="sidebar-secondary-item">
+  
+  <div class="tocsection editthispage">
+    <a 
href="https://github.com/apache/arrow-nanoarrow/edit/main/docs/source/ipc.rst";>
+      <i class="fa-solid fa-pencil"></i>
+      
+      
+        
+          Edit on GitHub
+        
+      
+    </a>
+  </div>
+</div>
+
+  <div class="sidebar-secondary-item">
+  <div class="tocsection sourcelink">
+    <a href="_sources/ipc.rst.txt">
+      <i class="fa-solid fa-file-lines"></i> Show Source
+    </a>
+  </div>
+</div>
+
+</div></div>
+              
+            
+          </div>
+          <footer class="bd-footer-content">
+            
+          </footer>
+        
+      </main>
+    </div>
+  </div>
+  
+  <!-- Scripts loaded after <body> so the DOM is not blocked -->
+  <script 
src="_static/scripts/bootstrap.js?digest=e353d410970836974a52"></script>
+<script 
src="_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52"></script>
+
+  <footer class="bd-footer">
+<div class="bd-footer__inner bd-page-width">
+  
+    <div class="footer-items__start">
+      
+        <div class="footer-item">
+  <p class="copyright">
+    
+      © Copyright 2016-2023 Apache Software Foundation.
+      <br/>
+    
+  </p>
+</div>
+      
+        <div class="footer-item">
+  <p class="sphinx-version">
+    Created using <a href="https://www.sphinx-doc.org/";>Sphinx</a> 6.1.3.
+    <br/>
+  </p>
+</div>
+      
+    </div>
+  
+  
+    <div class="footer-items__end">
+      
+        <div class="footer-item"><p class="theme-version">
+  Built with the <a 
href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html";>PyData 
Sphinx Theme</a> 0.13.3.
+</p></div>
+      
+    </div>
+  
+</div>
+
+  </footer>
+  </body>
+</html>
\ No newline at end of file
diff --git a/dev/objects.inv b/dev/objects.inv
index ee5cb65..71d7765 100644
Binary files a/dev/objects.inv and b/dev/objects.inv differ
diff --git a/dev/r/pkgdown.yml b/dev/r/pkgdown.yml
index d3a633c..74e8729 100644
--- a/dev/r/pkgdown.yml
+++ b/dev/r/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 2.9.2.1
 pkgdown: 2.0.7
 pkgdown_sha: ~
 articles: {}
-last_built: 2023-04-21T19:02Z
+last_built: 2023-04-21T19:27Z
 
diff --git a/dev/r/reference/as_nanoarrow_array.html 
b/dev/r/reference/as_nanoarrow_array.html
index 3d62dcb..b38f74c 100644
--- a/dev/r/reference/as_nanoarrow_array.html
+++ b/dev/r/reference/as_nanoarrow_array.html
@@ -97,7 +97,7 @@ type. Defaults to <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schem
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ offset    : int 
0</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ buffers   :List of 
2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
:&lt;nanoarrow_buffer_validity[0 b] at (nil)&gt;</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x55e881f83658&gt;</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>   ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x563bf1766d18&gt;</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ dictionary: 
NULL</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ children  : 
list()</span>
 <span class="r-in"><span><span class="fu"><a 
href="https://rdrr.io/r/base/vector.html"; 
class="external-link">as.vector</a></span><span class="op">(</span><span 
class="va">array</span><span class="op">)</span></span></span>
@@ -117,7 +117,7 @@ type. Defaults to <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schem
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ offset    : 
int 0</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ buffers   
:List of 2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_validity[0 b] at (nil)&gt;</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x55e881f77ae8&gt;</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x563bf0ab2df8&gt;</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ dictionary: 
NULL</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ children  : 
list()</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ dictionary: 
NULL</span>
diff --git a/dev/r/reference/as_nanoarrow_array_stream.html 
b/dev/r/reference/as_nanoarrow_array_stream.html
index 2ecde17..1b660ad 100644
--- a/dev/r/reference/as_nanoarrow_array_stream.html
+++ b/dev/r/reference/as_nanoarrow_array_stream.html
@@ -133,7 +133,7 @@ type. Defaults to <code><a 
href="as_nanoarrow_schema.html">infer_nanoarrow_schem
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ offset    : 
int 0</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ buffers   
:List of 2</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_validity[0 b] at (nil)&gt;</span>
-<span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x55e881e095e8&gt;</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span>   .. .. ..$ 
:&lt;nanoarrow_buffer_data_int32[20 b] at 0x563bf15fa408&gt;</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ dictionary: 
NULL</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>   .. ..$ children  : 
list()</span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  $ dictionary: 
NULL</span>
diff --git a/dev/r/reference/as_nanoarrow_buffer.html 
b/dev/r/reference/as_nanoarrow_buffer.html
index 565a28a..75272a3 100644
--- a/dev/r/reference/as_nanoarrow_buffer.html
+++ b/dev/r/reference/as_nanoarrow_buffer.html
@@ -72,12 +72,12 @@
     <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" 
href="#ref-examples"></a></h2>
     <div class="sourceCode"><pre class="sourceCode r"><code><span 
class="r-in"><span><span class="va">array</span> <span class="op">&lt;-</span> 
<span class="fu"><a 
href="as_nanoarrow_array.html">as_nanoarrow_array</a></span><span 
class="op">(</span><span class="fl">1</span><span class="op">:</span><span 
class="fl">4</span><span class="op">)</span></span></span>
 <span class="r-in"><span><span class="va">array</span><span 
class="op">$</span><span class="va">buffers</span><span 
class="op">[[</span><span class="fl">2</span><span class="op">]</span><span 
class="op">]</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> 
&lt;nanoarrow_buffer_data_int32[16 b] at 0x55e88394a7e8&gt;</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> 
&lt;nanoarrow_buffer_data_int32[16 b] at 0x563bf313d508&gt;</span>
 <span class="r-in"><span><span class="fu"><a 
href="https://rdrr.io/r/base/raw.html"; 
class="external-link">as.raw</a></span><span class="op">(</span><span 
class="va">array</span><span class="op">$</span><span 
class="va">buffers</span><span class="op">[[</span><span 
class="fl">2</span><span class="op">]</span><span class="op">]</span><span 
class="op">)</span></span></span>
 <span class="r-out co"><span class="r-pr">#&gt;</span>  [1] 01 00 00 00 02 00 
00 00 03 00 00 00 04 00 00 00</span>
 <span class="r-in"><span></span></span>
 <span class="r-in"><span><span class="fu">as_nanoarrow_buffer</span><span 
class="op">(</span><span class="fl">1</span><span class="op">:</span><span 
class="fl">5</span><span class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;nanoarrow_buffer[20 
b] at 0x55e883c051f8&gt;</span>
+<span class="r-out co"><span class="r-pr">#&gt;</span> &lt;nanoarrow_buffer[20 
b] at 0x563bf33f7f18&gt;</span>
 <span class="r-in"><span></span></span>
 <span class="r-in"><span><span class="va">buffer</span> <span 
class="op">&lt;-</span> <span class="fu">as_nanoarrow_buffer</span><span 
class="op">(</span><span class="cn">NULL</span><span 
class="op">)</span></span></span>
 <span class="r-in"><span></span></span>
diff --git a/dev/r/search.json b/dev/r/search.json
index 1a31dec..b572e62 100644
--- a/dev/r/search.json
+++ b/dev/r/search.json
@@ -1 +1 @@
-[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title":"Apache License","text":"“License” shall mean terms 
conditions use, reproduction, distribution defined Sections 1 9 [...]
+[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
 License","title":"Apache License","text":"Version 2.0, January 2004 
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"1-definitions","dir":"","previous_headings":"Terms
 and Conditions for use, reproduction, and distribution","what":"1. 
Definitions","title":"Apache License","text":"“License” shall mean terms 
conditions use, reproduction, distribution defined Sections 1 9 [...]
diff --git a/dev/search.html b/dev/search.html
index 1bf463d..581b2ef 100644
--- a/dev/search.html
+++ b/dev/search.html
@@ -137,6 +137,13 @@
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
@@ -230,6 +237,13 @@ document.write(`
                     </li>
                 
 
+                    <li class="nav-item">
+                      <a class="nav-link nav-internal" href="ipc.html">
+                        IPC Extension Reference
+                      </a>
+                    </li>
+                
+
                 <li class="nav-item">
                   <a class="nav-link nav-external" href="r/index.html">
                     R Package
diff --git a/dev/searchindex.js b/dev/searchindex.js
index 8de4487..5b26098 100644
--- a/dev/searchindex.js
+++ b/dev/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["c", "cpp", "index"], "filenames": ["c.rst", 
"cpp.rst", "index.rst"], "titles": ["C API Reference", "C++ API Reference", 
"nanoarrow"], "terms": {"group": [0, 1], "nanoarrow": [0, 1], "except": 0, 
"where": [0, 2], "note": 0, "object": [0, 2], "ar": [0, 1], "thread": 0, 
"safe": 0, "client": [0, 2], "should": [0, 2], "take": [0, 1], "care": 0, 
"serial": 0, "access": [0, 1], "method": [0, 1], "becaus": 0, "thi": [0, 1, 2], 
"librari": [0, 1], "i": [0, 1, 2], "int [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["c", "cpp", "index", "ipc"], "filenames": 
["c.rst", "cpp.rst", "index.rst", "ipc.rst"], "titles": ["C API Reference", 
"C++ API Reference", "nanoarrow", "IPC Extension Reference"], "terms": 
{"group": [0, 1, 3], "nanoarrow": [0, 1, 3], "except": [0, 3], "where": [0, 2, 
3], "note": [0, 3], "object": [0, 2, 3], "ar": [0, 1, 3], "thread": [0, 3], 
"safe": [0, 3], "client": [0, 2, 3], "should": [0, 2, 3], "take": [0, 1, 3], 
"care": [0, 3], "serial": [0, 3], "access [...]
\ No newline at end of file


Reply via email to