You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2026/07/23 02:26:06 UTC
(arrow-erlang) branch asf-site updated (8285e58 -> 1b4c7bd)
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-erlang.git
discard 8285e58 deploy: 89b362910f073ca568428270e89c99621618ecde
new 1b4c7bd deploy: 362871198b1a22ac09c35faea7e08e58dd783be8
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (8285e58)
\
N -- N -- N refs/heads/asf-site (1b4c7bd)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
main/arrow.epub | Bin 57648 -> 57647 bytes
main/arrow_ipc_message.html | 2 +-
main/arrow_offsets.html | 4 +-
main/quick-run-through.html | 100 ++++++++++++++++++++++----------------------
main/readme.html | 2 +-
5 files changed, 54 insertions(+), 54 deletions(-)
(arrow-erlang) 01/01: deploy: 362871198b1a22ac09c35faea7e08e58dd783be8
Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-erlang.git
commit 1b4c7bd6f740ebbe5f85f28f52aec4e43af1f806
Author: kou <ko...@users.noreply.github.com>
AuthorDate: Thu Jul 23 02:26:01 2026 +0000
deploy: 362871198b1a22ac09c35faea7e08e58dd783be8
---
.asf.yaml | 59 +
.htaccess | 20 +
.nojekyll | 0
main/404.html | 123 ++
main/api-reference.html | 289 +++++
main/arrow.epub | Bin 0 -> 57647 bytes
main/arrow.html | 130 +++
main/arrow_array.html | 725 ++++++++++++
main/arrow_bitmap.html | 213 ++++
main/arrow_buffer.html | 426 +++++++
main/arrow_fixed_list_array.html | 213 ++++
main/arrow_fixed_primitive_array.html | 215 ++++
main/arrow_format_nif.html | 278 +++++
main/arrow_ipc_field.html | 354 ++++++
main/arrow_ipc_file.html | 315 +++++
main/arrow_ipc_message.html | 560 +++++++++
main/arrow_ipc_record_batch.html | 342 ++++++
main/arrow_ipc_schema.html | 345 ++++++
main/arrow_ipc_type.html | 440 +++++++
main/arrow_offsets.html | 252 ++++
main/arrow_type.html | 1207 ++++++++++++++++++++
main/arrow_variable_binary_array.html | 243 ++++
main/arrow_variable_list_array.html | 207 ++++
main/dist/html-DPJLHKSM.js | 222 ++++
main/dist/html-erlang-DQDXQC7W.css | 6 +
main/dist/lato-latin-400-normal-W7754I4D.woff2 | Bin 0 -> 23580 bytes
main/dist/lato-latin-700-normal-2XVSBPG4.woff2 | Bin 0 -> 23040 bytes
main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 | Bin 0 -> 5472 bytes
main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 | Bin 0 -> 5368 bytes
main/dist/remixicon-QPNJX265.woff2 | Bin 0 -> 2096 bytes
main/dist/search_data-BE868044.js | 1 +
main/dist/sidebar_items-DDBC4286.js | 1 +
main/index.html | 10 +
main/license.html | 359 ++++++
main/quick-run-through.html | 224 ++++
main/quick-run-through.livemd | 214 ++++
main/readme.html | 161 +++
main/search.html | 121 ++
38 files changed, 8275 insertions(+)
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..0866033
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# https://github.com/apache/infrastructure-asfyaml
+github:
+ description: "Official Erlang implementation of Apache Arrow"
+ homepage: https://arrow.apache.org/erlang/main/
+ labels:
+ - apache-arrow
+ - erlang
+
+ features:
+ issues: true
+ projects: true
+ discussions: true
+
+ enabled_merge_buttons:
+ merge: false
+ rebase: true
+ squash: true
+
+ protected_branches:
+ main:
+ required_linear_history: true
+
+ collaborators:
+ - Benjamin-Philip
+
+ copilot_code_review:
+ enabled: true
+ review_drafts: false
+ review_on_push: true
+
+notifications:
+ commits: commits@arrow.apache.org
+ issues_status: issues@arrow.apache.org
+ issues_comment: github@arrow.apache.org
+ pullrequests: github@arrow.apache.org
+ discussions: user@arrow.apache.org
+
+# publishes the content of the `asf-site` branch to
+# https://arrow.apache.org/erlang/
+publish:
+ whoami: asf-site
+ subdir: erlang
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..08bc1b5
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+ErrorDocument 404 /erlang/main/404.html
+
+RedirectMatch permanent ^/erlang/(?!main/?)(.*)$ https://arrow.hexdocs.pm/$1
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/main/404.html b/main/404.html
new file mode 100644
index 0000000..ad81b9d
--- /dev/null
+++ b/main/404.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <meta name="robots" content="noindex">
+
+ <title>404 — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-extra" id="main" data-type="extras">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<h1>
+ <span>Page not found</span>
+</h1>
+
+<p>Sorry, but the page you were trying to get to, does not exist. You
+may want to try searching this site using the sidebar
+
+ or using our <a href="api-reference.html">API Reference</a> page
+
+to find what you were looking for.</p>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/api-reference.html b/main/api-reference.html
new file mode 100644
index 0000000..617bf07
--- /dev/null
+++ b/main/api-reference.html
@@ -0,0 +1,289 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>API Reference — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-extra" id="main" data-type="extras">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>API Reference <small class="app-vsn">arrow v#0.1.0</small></h1>
+
+ <a href="https://github.com/apache/arrow-erlang" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+ <section class="details-list">
+ <h2 id="modules" class="section-heading">Modules</h2>
+ <div class="summary">
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow.html" translate="no">arrow</a>
+
+ </div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_array.html" translate="no">arrow_array</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides a record, a behaviour, and functions to work with Apache Arrow Arrays.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_bitmap.html" translate="no">arrow_bitmap</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Validity Bitmap implementation for <code class="inline">arrow</code>.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_buffer.html" translate="no">arrow_buffer</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Buffer implementation for <code class="inline">arrow</code>.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_fixed_list_array.html" translate="no">arrow_fixed_list_array</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides support for Arrow's Fixed-Size List Layout.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_fixed_primitive_array.html" translate="no">arrow_fixed_primitive_array</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides support for Arrow's Fixed-Size Primitive Layout. The <a>Primitive
+Layout</a>
+uses the following metadata in the <code class="inline">arrow_array</code></p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_format_nif.html" translate="no">arrow_format_nif</a>
+
+ </div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_field.html" translate="no">arrow_ipc_field</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides a record and functions to deal with individual fields in
+a Schema</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_file.html" translate="no">arrow_ipc_file</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides records and functions to deal with the IPC File. The <a>IPC
+File</a> is an
+extension of the <a>IPC Stream</a> that
+supports random access with the help of a footer which contains the offsets of
+all the messages.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_message.html" translate="no">arrow_ipc_message</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides a record and functions to deal with the Encapsulated Message
+Format.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_record_batch.html" translate="no">arrow_ipc_record_batch</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides a record and functions to deal with RecordBatches.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_schema.html" translate="no">arrow_ipc_schema</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides a record and functions to deal with Schemas.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_ipc_type.html" translate="no">arrow_ipc_type</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides types and functions to work with IPC types. </p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_offsets.html" translate="no">arrow_offsets</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides support for Apache Arrow's Offsets</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_type.html" translate="no">arrow_type</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides representation for as well as functions for working with Arrow
+specific datatypes.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_variable_binary_array.html" translate="no">arrow_variable_binary_array</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides support for Arrow's Variable-Sized Binary Layout.</p></div>
+
+</div>
+<div class="summary-row">
+ <div class="summary-signature">
+ <a href="arrow_variable_list_array.html" translate="no">arrow_variable_list_array</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Provides support for Arrow's Variable-Size List Layout.</p></div>
+
+</div>
+
+ </div>
+ </section>
+
+
+</div>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow.epub b/main/arrow.epub
new file mode 100644
index 0000000..35a43ed
Binary files /dev/null and b/main/arrow.epub differ
diff --git a/main/arrow.html b/main/arrow.html
new file mode 100644
index 0000000..8e77822
--- /dev/null
+++ b/main/arrow.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+</div>
+
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_array.html b/main/arrow_array.html
new file mode 100644
index 0000000..ef83e38
--- /dev/null
+++ b/main/arrow_array.html
@@ -0,0 +1,725 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_array — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-behaviour" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_array</span> <small>behaviour</small>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides a record, a behaviour, and functions to work with Apache Arrow Arrays.</p><p>This module as mentioned, provides conveniences for working with Apache Arrow
+<a href="https://arrow.apache.org/docs/format/Glossary.html#term-array">Arrays</a> of
+different
+<a href="https://arrow.apache.org/docs/format/Glossary.html#term-physical-layout">Layouts</a>.
+Firstly, it provides a record to represent all the Layout. Secondly, it provides
+a behaviour for different layouts to adhere to common functionality. Lastly, it
+provides functions to work with Arrays in a common manner.</p><h1>The Structure of an Array</h1><p><code class="inline">arrow</code>'s implementation of an Array has the following fields in its record
+definition, each corresponding to a field in the Arrow Columnar Format
+specification:</p><table><thead><tr><th style="text-align: left;">Field</th><th style="text-align: left;">Type</th><th style="text-align: left;">Representing</th></tr></thead><tbody><tr><td style="text-align: left;"><code class="inline">layout</code></td><td style="text-align: left;"><a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0"><code class="inline">atom/0</code></a></td><td style="text-align: left;">Layout</td></tr><tr><td style="text-align: left;"><code class="inl [...]
+Fixed-Sized Primitive Layout, the offsets field is not required, in which case
+it is assigned as <code class="inline">undefined</code>. Similarly, the <code class="inline">validity_bitmap</code> is not required
+if there are no null values, in which case it is also assigned as <code class="inline">undefined</code>.</p><h1>The Behaviour of an Array</h1><p>As of right now, a layout needs to implement the <a href="#c:from_erlang/2"><code class="inline">from_erlang/2</code></a> callback.
+This is then used in the <a href="#from_erlang/3"><code class="inline">from_erlang/3</code></a> function to create new arrays.</p><h1>Functions for working with Arrays</h1><p>As of right now, only functions to access the various fields, to create
+new arrays, and to serialize arrays to arrow exist.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:array/0" data-no-tooltip="" translate="no">array()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents an Array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:layout/0" data-no-tooltip="" translate="no">layout()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents the Layout of an Array.</p></div>
+
+ </div>
+
+</div>
+<div class="summary-callbacks summary">
+ <h2>
+ <a href="#callbacks">Callbacks</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#c:from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Value, Opts)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a new array of a certain layout, given its value and options from its
+erlang representation.</p></div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#data/1" data-no-tooltip="" translate="no">data(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the data of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#element_len/1" data-no-tooltip="" translate="no">element_len(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the length of an element in an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/3" data-no-tooltip="" translate="no">from_erlang(Layout, Value, Opts)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>A common way to create a new array, given its layout, value, and options.
+from its erlang representation.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#layout/1" data-no-tooltip="" translate="no">layout(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the layout of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#len/1" data-no-tooltip="" translate="no">len(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the length of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#null_count/1" data-no-tooltip="" translate="no">null_count(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the null count of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#offsets/1" data-no-tooltip="" translate="no">offsets(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the offsets of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_arrow/1" data-no-tooltip="" translate="no">to_arrow(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Serializes an array into the Arrow binary form.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#type/1" data-no-tooltip="" translate="no">type(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the type of an array.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#validity_bitmap/1" data-no-tooltip="" translate="no">validity_bitmap(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the validity bitmap of an array.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:array/0">
+
+ <div class="detail-header">
+ <a href="#t:array/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">array()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L84" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> array() ::
+ #array{layout :: <a href="arrow_array.html#t:layout/0">arrow_array:layout</a>(),
+ type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>() | <a href="arrow_type.html#t:arrow_nested_type/0">arrow_type:arrow_nested_type</a>(),
+ len :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(),
+ element_len :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>() | undefined,
+ null_count :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ validity_bitmap :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | undefined,
+ offsets :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | undefined,
+ data :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | #array{}}.</pre>
+
+ </div>
+
+<p>Represents an Array.</p>
+ </section>
+</section>
+<section class="detail" id="t:layout/0">
+
+ <div class="detail-header">
+ <a href="#t:layout/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">layout()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L87" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> layout() :: fixed_primitive | variable_binary | fixed_list | variable_list.</pre>
+
+ </div>
+
+<p>Represents the Layout of an Array.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="callbacks" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#callbacks">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Callbacks</span>
+ </h1>
+ <div class="callbacks-list">
+<section class="detail" id="c:from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#c:from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this callback">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Value, Opts)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L97" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-callback</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Opts :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>()) -> Array :: <a href="#t:array/0">array</a>().</pre>
+
+ </div>
+
+<p>Creates a new array of a certain layout, given its value and options from its
+erlang representation.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="data/1">
+
+ <div class="detail-header">
+ <a href="#data/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">data(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L159" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> data(Array :: <a href="#t:array/0">array</a>()) -> Data :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | <a href="#t:array/0">array</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the data of an array.</p>
+ </section>
+</section>
+<section class="detail" id="element_len/1">
+
+ <div class="detail-header">
+ <a href="#element_len/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">element_len(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L139" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> element_len(Array :: <a href="#t:array/0">array</a>()) -> Length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the length of an element in an array.</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+ <div class="detail-header">
+ <a href="#from_erlang/3" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Layout, Value, Opts)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L110" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Layout :: <a href="#t:layout/0">layout</a>(),
+ Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+ Opts :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) ->
+ Array :: <a href="#t:array/0">array</a>().</pre>
+
+ </div>
+
+<p>A common way to create a new array, given its layout, value, and options.
+from its erlang representation.</p>
+ </section>
+</section>
+<section class="detail" id="layout/1">
+
+ <div class="detail-header">
+ <a href="#layout/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">layout(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L124" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> layout(Array :: <a href="#t:array/0">array</a>()) -> Layout :: <a href="#t:layout/0">layout</a>().</pre>
+
+ </div>
+
+<p>Returns the layout of an array.</p>
+ </section>
+</section>
+<section class="detail" id="len/1">
+
+ <div class="detail-header">
+ <a href="#len/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">len(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L134" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> len(Array :: <a href="#t:array/0">array</a>()) -> Length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>().</pre>
+
+ </div>
+
+<p>Returns the length of an array.</p>
+ </section>
+</section>
+<section class="detail" id="null_count/1">
+
+ <div class="detail-header">
+ <a href="#null_count/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">null_count(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L144" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> null_count(Array :: <a href="#t:array/0">array</a>()) -> NullCount :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
+
+ </div>
+
+<p>Returns the null count of an array.</p>
+ </section>
+</section>
+<section class="detail" id="offsets/1">
+
+ <div class="detail-header">
+ <a href="#offsets/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">offsets(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L154" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> offsets(Array :: <a href="#t:array/0">array</a>()) -> Offsets :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the offsets of an array.</p>
+ </section>
+</section>
+<section class="detail" id="to_arrow/1">
+
+ <div class="detail-header">
+ <a href="#to_arrow/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_arrow(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L187" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_arrow(Array :: <a href="#t:array/0">array</a>()) -> Arrow :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Serializes an array into the Arrow binary form.</p><p>Serializes the buffers of an Array and concatenates them in the following
+order:</p><ol><li><code class="inline">validity</code></li><li><code class="inline">offsets</code></li><li><code class="inline">data</code></li></ol><p>In case an array doesn't have any of the following buffers, it is omitted.
+(e.g. validity in arrays with a null count of 0, offsets in fixed primitive
+arrays). In the case of a nested array, <code class="inline">data</code> will be serialized form of nested
+array.</p><p>Do note that this is just binary form that includes the buffers in an Array,
+and not IPC.</p>
+ </section>
+</section>
+<section class="detail" id="type/1">
+
+ <div class="detail-header">
+ <a href="#type/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">type(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L129" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> type(Array :: <a href="#t:array/0">array</a>()) -> Type :: <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>().</pre>
+
+ </div>
+
+<p>Returns the type of an array.</p>
+ </section>
+</section>
+<section class="detail" id="validity_bitmap/1">
+
+ <div class="detail-header">
+ <a href="#validity_bitmap/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">validity_bitmap(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_array.erl#L149" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> validity_bitmap(Array :: <a href="#t:array/0">array</a>()) -> ValidityBitmap :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the validity bitmap of an array.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_bitmap.html b/main/arrow_bitmap.html
new file mode 100644
index 0000000..d0d0d58
--- /dev/null
+++ b/main/arrow_bitmap.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_bitmap — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_bitmap</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_bitmap.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Validity Bitmap implementation for <code class="inline">arrow</code>.</p><p>Defines a function <a href="#validity_bitmap/1"><code class="inline">validity_bitmap/1</code></a> to return the <a href="https://arrow.apache.org/docs/format/Columnar.html#validity-bitmaps">Validity
+Bitmap</a>
+along with the <a href="https://arrow.apache.org/docs/format/Columnar.html#null-count">Null
+Count</a>, of an
+Array.</p><p>An important thing to consider about our implementation of the Null Count is
+that we need to support both <code class="inline">undefined</code> and <code class="inline">nil</code> as null values as they are
+the conventions for null values in Erlang, and Elixir respectively.</p><p>There are 5 important characteristics to remember about the validity bitmap:</p><ol><li><p>A null value is represented by a 0 bit, and a non null value by a 1 bit.</p></li><li><p>Every 8 elements's validities are batched into a byte, which are then
+reversed as Arrow uses least-significant bit (LSB) numbering (more in
+attached reference).</p></li><li><p>If a "batch" consists of less than 8 elements, its validity needs to be
+padded by 0 bits so that it can make a byte.</p></li><li><p>Each byte is stored in a slot of a Buffer (see docs for <code class="inline">arrow_buffer</code>). This
+buffer with the validities of each batch of 8 elements make up what is called
+the Validity Bitmap.</p></li><li><p>If the Null Count is 0, we can allocate the Validity Bitmap as a NULL pointer
+(which in Erlang's case is <code class="inline">undefined</code>).</p></li></ol>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#validity_bitmap/1" data-no-tooltip="" translate="no">validity_bitmap(Value)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the Validity Bitmap along with the Null Count, of an Array.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="validity_bitmap/1">
+
+ <div class="detail-header">
+ <a href="#validity_bitmap/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">validity_bitmap(Value)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_bitmap.erl#L64" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> validity_bitmap(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:list/0">list</a>()) ->
+ {Bitmap :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>(), <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()}.</pre>
+
+ </div>
+
+<p>Returns the Validity Bitmap along with the Null Count, of an Array.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_buffer.html b/main/arrow_buffer.html
new file mode 100644
index 0000000..2f2ac84
--- /dev/null
+++ b/main/arrow_buffer.html
@@ -0,0 +1,426 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_buffer — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_buffer</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Buffer implementation for <code class="inline">arrow</code>.</p><p>This module adds support for buffers, or Contiguous Memory Regions. There are
+multiple things to know about
+<a href="https://arrow.apache.org/docs/format/Glossary.html#term-buffer">buffers</a>:</p><ol><li><p>Each value it stores is called an element or a
+<a href="https://arrow.apache.org/docs/format/Glossary.html#term-slot">slot</a>.</p></li><li><p>Each slot's length (in bytes) is a positive integer. As a result when we say
+that a slot has a length of 1, we mean that each slot has a length of 1 byte.</p></li><li><p>The buffer's length in the metadata refers to the unpadded binary's size in
+bytes.</p></li><li><p>All buffers have a size that is a multiple of 64. If their data's length is
+not a multiple of 64, it must be padded (in this implementation, by zeros).</p></li><li><p>Null values are represented in this implementation by zeros.</p></li><li><p>In this implementation buffers can be initialized from raw bytes as data
+apart datatypes supported by Arrow. This is so that the Validity Bitmap
+Buffer can be initialized.</p></li></ol>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:buffer/0" data-no-tooltip="" translate="no">buffer()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents an Arrow Buffer.</p></div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Value, Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a new buffer from a list of Erlang values or binaries, given its type.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/3" data-no-tooltip="" translate="no">from_erlang(Data, Type, DataLen)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a new buffer from a list of Erlang values or binaries, given its
+type and length</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#size/1" data-no-tooltip="" translate="no">size(Buffer)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the size of the buffer inclusive of padding in bytes.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_arrow/1" data-no-tooltip="" translate="no">to_arrow(Buffer)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns an Arrow buffer binary given a buffer.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_erlang/1" data-no-tooltip="" translate="no">to_erlang(Buffer)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns a list of Erlang values or binaries from a buffer.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:buffer/0">
+
+ <div class="detail-header">
+ <a href="#t:buffer/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">buffer()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L54" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> buffer() ::
+ #buffer{type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>(),
+ length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(),
+ data :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>()}.</pre>
+
+ </div>
+
+<p>Represents an Arrow Buffer.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Value, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L64" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>(),
+ Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>()) ->
+ Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>().</pre>
+
+ </div>
+
+<p>Creates a new buffer from a list of Erlang values or binaries, given its type.</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+ <div class="detail-header">
+ <a href="#from_erlang/3" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Data, Type, DataLen)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L84" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Data :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()] | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>(),
+ Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>(),
+ DataLen :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>() | undefined) ->
+ Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>().</pre>
+
+ </div>
+
+<p>Creates a new buffer from a list of Erlang values or binaries, given its
+type and length</p>
+ </section>
+</section>
+<section class="detail" id="size/1">
+
+ <div class="detail-header">
+ <a href="#size/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">size(Buffer)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L121" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> size(Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>()) -> <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>().</pre>
+
+ </div>
+
+<p>Returns the size of the buffer inclusive of padding in bytes.</p>
+ </section>
+</section>
+<section class="detail" id="to_arrow/1">
+
+ <div class="detail-header">
+ <a href="#to_arrow/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_arrow(Buffer)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L98" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_arrow(Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>()) -> <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Returns an Arrow buffer binary given a buffer.</p>
+ </section>
+</section>
+<section class="detail" id="to_erlang/1">
+
+ <div class="detail-header">
+ <a href="#to_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_erlang(Buffer)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_buffer.erl#L114" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_erlang(Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>()) -> [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()].</pre>
+
+ </div>
+
+<p>Returns a list of Erlang values or binaries from a buffer.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_fixed_list_array.html b/main/arrow_fixed_list_array.html
new file mode 100644
index 0000000..cc0fec1
--- /dev/null
+++ b/main/arrow_fixed_list_array.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_fixed_list_array — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_fixed_list_array</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_list_array.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides support for Arrow's Fixed-Size List Layout.</p><p>This module provides support for the <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-list-layout">Fixed-Size List
+Layout</a>,
+which is a layout that supports storing a list of lists of a specific length and
+nesting.</p><h2 id="module-invalid-input" class="section-heading"><a href="#module-invalid-input" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Invalid Input</span></h2><p>It is important that care is taken when passing input values to this module. For
+performance reasons, the input is not validated. The function crashes on nesting
+that is inconsistent: either with the type, or between elements. The lists are
+checked to have the same length as each other at the top level, but not for
+deeper levels. The behaviour of the module on invalid input <strong>CANNOT BE
+GUARANTEED</strong>. Therefore, one must be careful to not to <strong>CRASH THE PROCESS</strong> or
+worse still, <strong>PRODUCE INVALID OUTPUT</strong>.</p><p>Any input must follow the following rules:</p><ol><li> The length of each element must be consistent with the type</li><li> The nesting of each element must be consistent with the type</li><li> The length of each element must be consistent with each other</li><li> The nesting of each element must be consistent with each other</li><li> The nested type is a <code class="inline">fixed_list</code> (as only then can fixed size be
+guaranteed)</li></ol>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Values, Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a Fixed-Size List Array given the values and type.
+Accepts a map with the type, or the type directly.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Values, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_list_array.erl#L58" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:list/0">list</a>(), Type :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) ->
+ Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>().</pre>
+
+ </div>
+
+<p>Creates a Fixed-Size List Array given the values and type.
+Accepts a map with the type, or the type directly.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_fixed_primitive_array.html b/main/arrow_fixed_primitive_array.html
new file mode 100644
index 0000000..6baf343
--- /dev/null
+++ b/main/arrow_fixed_primitive_array.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_fixed_primitive_array — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_fixed_primitive_array</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_primitive_array.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides support for Arrow's Fixed-Size Primitive Layout. The <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">Primitive
+Layout</a>
+uses the following metadata in the <code class="inline">arrow_array</code>:</p><ol><li> <code class="inline">layout</code>, of type <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0"><code class="inline">atom/0</code></a>, and a constant value of
+<code class="inline">fixed_primitive</code>.</li><li> <code class="inline">type</code>, of type <a href="arrow_type.html#t:arrow_primitive_type/0"><code class="inline">arrow_type:arrow_primitive_type/0</code></a>, which
+represents the Logical Type of the Array.</li><li> <code class="inline">len</code>, of type <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0"><code class="inline">pos_integer/0</code></a>, which represents the Array's
+Length.</li><li> <code class="inline">null_count</code>, of type <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0"><code class="inline">non_neg_integer/0</code></a>, which represents
+the Array's Null Count, or the number of undefined values in the
+Array.</li><li> <code class="inline">validity_bitmap</code>, which is a buffer (<code class="inline">arrow_buffer</code>) or the
+atom <code class="inline">undefined</code>, which represents the Array's <a href="https://arrow.apache.org/docs/format/Columnar.html#validity-bitmaps">Validity
+Bitmap</a>.</li><li> <code class="inline">data</code>, which is a buffer (<code class="inline">arrow_buffer</code>), which represents the
+Array's Value Buffer.</li></ol><p>The <code class="inline">offsets</code> field will be allocated as <code class="inline">undefined</code>. Same goes for the
+<code class="inline">validity_bitmap</code> field in the case of a 0 <code class="inline">null_count</code>.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Value, Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a new primitive array, given its value and type from its erlang
+representation.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Value, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_fixed_primitive_array.erl#L63" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+ Type :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>() | <a href="arrow_type.html#t:arrow_primitive_type/0">arrow_type:arrow_primitive_type</a>()) ->
+ Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>().</pre>
+
+ </div>
+
+<p>Creates a new primitive array, given its value and type from its erlang
+representation.</p><p>Accepts a map with the type, or the type directly.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_format_nif.html b/main/arrow_format_nif.html
new file mode 100644
index 0000000..b1f8b74
--- /dev/null
+++ b/main/arrow_format_nif.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_format_nif — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_format_nif</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#serialize_footer/1" data-no-tooltip="" translate="no">serialize_footer(_)</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#serialize_message/1" data-no-tooltip="" translate="no">serialize_message(_)</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#test_decode/1" data-no-tooltip="" translate="no">test_decode(_)</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#test_encode/1" data-no-tooltip="" translate="no">test_encode(_)</a>
+
+ </div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="serialize_footer/1">
+
+ <div class="detail-header">
+ <a href="#serialize_footer/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">serialize_footer(_)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L38" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+
+ </section>
+</section>
+<section class="detail" id="serialize_message/1">
+
+ <div class="detail-header">
+ <a href="#serialize_message/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">serialize_message(_)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L35" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+
+ </section>
+</section>
+<section class="detail" id="test_decode/1">
+
+ <div class="detail-header">
+ <a href="#test_decode/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">test_decode(_)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L29" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+
+ </section>
+</section>
+<section class="detail" id="test_encode/1">
+
+ <div class="detail-header">
+ <a href="#test_encode/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">test_encode(_)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_format_nif.erl#L32" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_field.html b/main/arrow_ipc_field.html
new file mode 100644
index 0000000..355d7e3
--- /dev/null
+++ b/main/arrow_ipc_field.html
@@ -0,0 +1,354 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_field — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_field</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides a record and functions to deal with individual fields in
+a Schema</p><p>A
+<a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L469-L492">Field</a>
+represents a single column in a table (which is represented by a
+<a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L514-L530">Schema</a>.
+This module provides a record and a function to manage all the metadata required
+to represent a column. Metadata such as:</p><ol><li> <code class="inline">name</code>: The Name of the column. This can either be a string or
+ null.</li><li> <code class="inline">nullable</code>: A boolean representing whether a column can have null
+values. Generally true.</li><li> <code class="inline">type</code>: The Type of the column, and is of type
+<a href="arrow_ipc_type.html#t:ipc_type/0"><code class="inline">arrow_ipc_type:ipc_type/0</code></a></li><li> <code class="inline">dictionary</code>: A boolean representing if the column is dictionary
+encoded</li><li> <code class="inline">children</code>: The child fields of a nested datatype</li><li> <code class="inline">custom_metadata</code>: A list of custom metadata in key-value format</li></ol><p>Currently, dictionary encoding and custom metadata are not supported, but
+they have been added for forwards comapatibility.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:field/0" data-no-tooltip="" translate="no">field()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents an IPC Field.</p></div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a field given the type of the column. Assigns the name as
+<code class="inline">undefined</code>.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Type, Name)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a field given the type and name of the column.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/3" data-no-tooltip="" translate="no">from_erlang(Type, Name, Children)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a field given the type, name and children of the column.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:field/0">
+
+ <div class="detail-header">
+ <a href="#t:field/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">field()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L52" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> field() ::
+ #field{name :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:string/0">string</a>() | undefined,
+ nullable :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0">boolean</a>(),
+ type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>(),
+ dictionary :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0">term</a>(),
+ children :: [#field{}],
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()]}.</pre>
+
+ </div>
+
+<p>Represents an IPC Field.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L59" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>()) -> Field :: <a href="#t:field/0">field</a>().</pre>
+
+ </div>
+
+<p>Creates a field given the type of the column. Assigns the name as
+<code class="inline">undefined</code>.</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Type, Name)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L67" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>(), Name :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:string/0">string</a>() | undefined) -> Field :: <a href="#t:field/0">field</a>().</pre>
+
+ </div>
+
+<p>Creates a field given the type and name of the column.</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/3">
+
+ <div class="detail-header">
+ <a href="#from_erlang/3" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Type, Name, Children)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_field.erl#L77" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Type :: <a href="arrow_ipc_type.html#t:ipc_type/0">arrow_ipc_type:ipc_type</a>(),
+ Name :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:string/0">string</a>() | undefined,
+ Children :: [<a href="#t:field/0">field</a>()]) ->
+ Field :: <a href="#t:field/0">field</a>().</pre>
+
+ </div>
+
+<p>Creates a field given the type, name and children of the column.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_file.html b/main/arrow_ipc_file.html
new file mode 100644
index 0000000..7ba09b4
--- /dev/null
+++ b/main/arrow_ipc_file.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_file — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_file</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides records and functions to deal with the IPC File. The <a href="https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format">IPC
+File</a> is an
+extension of the <a href="
+https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format">IPC Stream</a> that
+supports random access with the help of a footer which contains the offsets of
+all the messages.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:file/0" data-no-tooltip="" translate="no">file()</a>
+
+ </div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Schema, RecordBatches)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a file given a schema message and a list of record batch messages.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_ipc/1" data-no-tooltip="" translate="no">to_ipc(File)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Serializes a file into the IPC File Format.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:file/0">
+
+ <div class="detail-header">
+ <a href="#t:file/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">file()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L32" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> file() ::
+ #file{footer ::
+ #footer{version :: <a href="arrow_ipc_message.html#t:metadata_version/0">arrow_ipc_message:metadata_version</a>(),
+ schema ::
+ #schema{endianness :: <a href="arrow_ipc_schema.html#t:endianness/0">arrow_ipc_schema:endianness</a>(),
+ fields :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0">term</a>(),
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()],
+ features :: [<a href="arrow_ipc_schema.html#t:feature/0">arrow_ipc_schema:feature</a>()]},
+ dictionaries ::
+ [#block{offset :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ metadata_length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ body_length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()}],
+ record_batches ::
+ [#block{offset :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ metadata_length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ body_length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()}],
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()]},
+ body :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>()}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Schema, RecordBatches)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L44" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Schema :: <a href="arrow_ipc_message.html#t:message/0">arrow_ipc_message:message</a>(), RecordBatches :: [<a href="arrow_ipc_message.html#t:message/0">arrow_ipc_message:message</a>()]) ->
+ <a href="#t:file/0">file</a>().</pre>
+
+ </div>
+
+<p>Creates a file given a schema message and a list of record batch messages.</p>
+ </section>
+</section>
+<section class="detail" id="to_ipc/1">
+
+ <div class="detail-header">
+ <a href="#to_ipc/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_ipc(File)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_file.erl#L80" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_ipc(File :: <a href="#t:file/0">file</a>()) -> SerializedFile :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Serializes a file into the IPC File Format.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_message.html b/main/arrow_ipc_message.html
new file mode 100644
index 0000000..7affb93
--- /dev/null
+++ b/main/arrow_ipc_message.html
@@ -0,0 +1,560 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_message — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_message</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides a record and functions to deal with the Encapsulated Message
+Format.</p><p>A Message is a serialized form of a
+<a href="https://arrow.apache.org/docs/format/Columnar.html#schema-message">Schema</a> or a
+<a href="https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message">RecordBatch</a>
+(which may be required to read a serialized array) along with some metadata.
+This module provides a record and a function to manage all the metadata required
+to represent a message. Metadata such as:</p><ol><li> <code class="inline">version</code>: The Apache Arrow Format Version. One of <code class="inline">v1..v5</code>.
+Defaults to v5.</li><li> <code class="inline">header</code>: The metadata of the Schema or RecordBatch</li><li> <code class="inline">body_length</code>: The length of the body in bytes</li><li> <code class="inline">custom_metadata</code>: A list of custom metadata in key-value format</li><li> <code class="inline">body</code>: The actual body. Can be undefined (in the case of Schema)
+or a binary (in the case of Record Batch).</li></ol><p>Currently, changing the version and custom metadata are not supported, but they
+have been added for forwards compatibility.</p><p>This module also provides the <a href="#to_ipc/1"><code class="inline">to_ipc/1</code></a> function which serializes the message
+into the <a href="https://arrow.apache.org/docs/format/Columnar.html#encapsulated-message-format">Encapsulated Message
+Format</a>.
+However, this function gives <em>incomplete output</em> with invalid metadata, because
+of an unsatisfied dependency on flatbuffers, which is required for serializing
+the metadata.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:key_value/0" data-no-tooltip="" translate="no">key_value()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Key-Value structure for custom metadata. See the
+<a>definition</a>
+for more info</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:message/0" data-no-tooltip="" translate="no">message()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents a Message.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:metadata_version/0" data-no-tooltip="" translate="no">metadata_version()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>The Arrow version. See the
+<a>definition</a>
+for more info</p></div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#body_from_erlang/1" data-no-tooltip="" translate="no">body_from_erlang(Columns)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the body of message from a list of arrays.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Header)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a message given a data header.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Header, Body)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a message given a data header and a body.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#metadata_len/1" data-no-tooltip="" translate="no">metadata_len(EMF)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the Metadata Length of an EMF.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_ipc/1" data-no-tooltip="" translate="no">to_ipc(Message)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Serializes a message into the Encapsulated Message Format.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#to_stream/1" data-no-tooltip="" translate="no">to_stream(Messages)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Serializes a list of messages or EMFs into a Stream.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:key_value/0">
+
+ <div class="detail-header">
+ <a href="#t:key_value/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">key_value()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L68" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> key_value() :: #{key => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:string/0">string</a>(), value => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:string/0">string</a>()}.</pre>
+
+ </div>
+
+<p>Key-Value structure for custom metadata. See the
+<a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L432-L439">definition</a>
+for more info:</p>
+ </section>
+</section>
+<section class="detail" id="t:message/0">
+
+ <div class="detail-header">
+ <a href="#t:message/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">message()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L54" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> message() ::
+ #message{version :: <a href="arrow_ipc_message.html#t:metadata_version/0">arrow_ipc_message:metadata_version</a>(),
+ header ::
+ #schema{endianness :: <a href="arrow_ipc_schema.html#t:endianness/0">arrow_ipc_schema:endianness</a>(),
+ fields :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0">term</a>(),
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()],
+ features :: [<a href="arrow_ipc_schema.html#t:feature/0">arrow_ipc_schema:feature</a>()]} |
+ #record_batch{length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(),
+ nodes :: [<a href="arrow_ipc_record_batch.html#t:field_node/0">arrow_ipc_record_batch:field_node</a>()],
+ buffers :: [<a href="arrow_ipc_record_batch.html#t:buffer/0">arrow_ipc_record_batch:buffer</a>()],
+ compression :: undefined | lz4_frame | zstd},
+ body_length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()],
+ body :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>() | undefined}.</pre>
+
+ </div>
+
+<p>Represents a Message.</p>
+ </section>
+</section>
+<section class="detail" id="t:metadata_version/0">
+
+ <div class="detail-header">
+ <a href="#t:metadata_version/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">metadata_version()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L61" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> metadata_version() :: v1 | v2 | v3 | v4 | v5.</pre>
+
+ </div>
+
+<p>The Arrow version. See the
+<a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L28-L49">definition</a>
+for more info:</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="body_from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#body_from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">body_from_erlang(Columns)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L149" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> body_from_erlang(Columns :: [<a href="arrow_array.html#t:array/0">arrow_array:array</a>()]) -> Body :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Returns the body of message from a list of arrays.</p><p>Shorthand for:</p><pre><code class="makeup erlang" translate="no"><span class="p" data-group-id="1855103177-1"><<</span><span class="p" data-group-id="1855103177-2"><<</span><span class="p" data-group-id="1855103177-3">(</span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">to_arrow</span><span class="p" data-group-id="1855103177-4">(</span><span class="n">Array</span><span class="p" data- [...]
+ </section>
+</section>
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Header)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L75" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Header :: <a href="arrow_ipc_schema.html#t:schema/0">arrow_ipc_schema:schema</a>() | <a href="arrow_ipc_record_batch.html#t:record_batch/0">arrow_ipc_record_batch:record_batch</a>()) ->
+ Message :: <a href="#t:message/0">message</a>().</pre>
+
+ </div>
+
+<p>Creates a message given a data header.</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Header, Body)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L84" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Header :: <a href="arrow_ipc_schema.html#t:schema/0">arrow_ipc_schema:schema</a>() | <a href="arrow_ipc_record_batch.html#t:record_batch/0">arrow_ipc_record_batch:record_batch</a>(),
+ Body :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>()) ->
+ Message :: <a href="#t:message/0">message</a>().</pre>
+
+ </div>
+
+<p>Creates a message given a data header and a body.</p>
+ </section>
+</section>
+<section class="detail" id="metadata_len/1">
+
+ <div class="detail-header">
+ <a href="#metadata_len/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">metadata_len(EMF)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L132" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> metadata_len(EMF :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>()) -> MetadataLen :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
+
+ </div>
+
+<p>Returns the Metadata Length of an EMF.</p>
+ </section>
+</section>
+<section class="detail" id="to_ipc/1">
+
+ <div class="detail-header">
+ <a href="#to_ipc/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_ipc(Message)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L91" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_ipc(Message :: <a href="#t:message/0">message</a>()) -> EMF :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Serializes a message into the Encapsulated Message Format.</p>
+ </section>
+</section>
+<section class="detail" id="to_stream/1">
+
+ <div class="detail-header">
+ <a href="#to_stream/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">to_stream(Messages)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_message.erl#L111" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> to_stream(Messages :: [<a href="#t:message/0">message</a>()] | [<a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>()]) -> Stream :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+<p>Serializes a list of messages or EMFs into a Stream.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_record_batch.html b/main/arrow_ipc_record_batch.html
new file mode 100644
index 0000000..98d8ca7
--- /dev/null
+++ b/main/arrow_ipc_record_batch.html
@@ -0,0 +1,342 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_record_batch — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_record_batch</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides a record and functions to deal with RecordBatches.</p><p>A <a href="https://github.com/apache/arrow/blob/16328f0ccc73b7df665b4a18feb6adf26b7aa0e2/format/Message.fbs#L81-L102">RecordBatch</a> represents a list of equal length arrays and their
+corresponding buffers. This module provides a record and a function to manage
+all the metadata required to represent a RecordBatch. Metadata such as:</p><ol><li><p> <code class="inline">length</code>: The number of rows or records. In other words, the
+length of an array.</p></li><li><p> <code class="inline">nodes</code>: A list of maps, where each map has the length and null
+count of an array</p></li><li><p> <code class="inline">buffers</code>: A list of maps, where each map has the length and the
+offset (from the beginning of the message body) of a buffer of an
+array.</p></li><li><p> <code class="inline">compression</code>: The compression applied on the body of the Record
+Batch. Can either be <code class="inline">undefined</code> (i.e. no compression), <code class="inline">zstd</code> for
+<a href="https://facebook.github.io/zstd/">Zstandard</a>, or <code class="inline">lz4_frame</code> for <a href="https://android.googlesource.com/platform/external/lz4/+/HEAD/doc/lz4_Frame_format.md">LZ4
+Frame</a>.
+Defaults to <code class="inline">undefined</code>.</p></li></ol><p>Currently, compression is not supported, but it has been added for forwards
+comapatibility.</p><p>You can find RecordBatches in the Arrow spec
+<a href="https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message">here</a>.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:buffer/0" data-no-tooltip="" translate="no">buffer()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:field_node/0" data-no-tooltip="" translate="no">field_node()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:record_batch/0" data-no-tooltip="" translate="no">record_batch()</a>
+
+ </div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Arrays)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a RecordBatch given a list of arrays</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:buffer/0">
+
+ <div class="detail-header">
+ <a href="#t:buffer/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">buffer()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L54" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> buffer() :: #{offset => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(), length => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>()}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:field_node/0">
+
+ <div class="detail-header">
+ <a href="#t:field_node/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">field_node()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L53" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> field_node() :: #{length => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(), null_count => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:record_batch/0">
+
+ <div class="detail-header">
+ <a href="#t:record_batch/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">record_batch()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L55" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> record_batch() ::
+ #record_batch{length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(),
+ nodes :: [<a href="arrow_ipc_record_batch.html#t:field_node/0">arrow_ipc_record_batch:field_node</a>()],
+ buffers :: [<a href="arrow_ipc_record_batch.html#t:buffer/0">arrow_ipc_record_batch:buffer</a>()],
+ compression :: undefined | lz4_frame | zstd}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Arrays)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_record_batch.erl#L61" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Arrays :: [<a href="arrow_array.html#t:array/0">arrow_array:array</a>()]) -> RecordBatch :: <a href="#t:record_batch/0">record_batch</a>().</pre>
+
+ </div>
+
+<p>Creates a RecordBatch given a list of arrays</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_schema.html b/main/arrow_ipc_schema.html
new file mode 100644
index 0000000..427161b
--- /dev/null
+++ b/main/arrow_ipc_schema.html
@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_schema — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_schema</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides a record and functions to deal with Schemas.</p><p>A <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L514-L530">Schema</a>
+represents a table, or a list of arrays of equal length. This module provides a
+record and a function to manage all the metadata required to represent a schema.
+Metadata such as:</p><ol><li> <code class="inline">endianness</code>: The Endianness of the table. One of <code class="inline">little</code> or
+<code class="inline">big</code>. Defaults to <code class="inline">little</code>.</li><li> <code class="inline">fields</code>: The list of <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L469-L492">fields</a> in a table.</li><li> <code class="inline">type</code>: The Layout of the column</li><li> <code class="inline">custom_metadata</code>: A list of custom metadata in key-value format</li><li> <code class="inline">features</code>: [...]
+present in other implementations of Arrow.</li></ol><p>Currently, big endianness, custom metadata and features are not supported, but
+they have been added for forwards compatibility.</p><p>You can find Schemas in the Arrow spec
+<a href="https://arrow.apache.org/docs/format/Columnar.html#schema-message">here</a>.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:endianness/0" data-no-tooltip="" translate="no">endianness()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Endianness of the data. Either <code class="inline">little</code> or <code class="inline">big</code>.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:feature/0" data-no-tooltip="" translate="no">feature()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Features used in the data which may not be present in other implementations.
+See the <a>definition</a>.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:schema/0" data-no-tooltip="" translate="no">schema()</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Represents a schema</p></div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Fields)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a Schema given an ordered list of fields.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:endianness/0">
+
+ <div class="detail-header">
+ <a href="#t:endianness/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">endianness()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L47" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> endianness() :: little | big.</pre>
+
+ </div>
+
+<p>Endianness of the data. Either <code class="inline">little</code> or <code class="inline">big</code>.</p>
+ </section>
+</section>
+<section class="detail" id="t:feature/0">
+
+ <div class="detail-header">
+ <a href="#t:feature/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">feature()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L53" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> feature() :: unused | dictionary_replacement | compressed_body.</pre>
+
+ </div>
+
+<p>Features used in the data which may not be present in other implementations.
+See the <a href="https://github.com/apache/arrow/blob/3456131ab7350bee5d9569ffd63d3f0ee713991c/format/Schema.fbs#L51-L78">definition</a>.</p>
+ </section>
+</section>
+<section class="detail" id="t:schema/0">
+
+ <div class="detail-header">
+ <a href="#t:schema/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">schema()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L56" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> schema() ::
+ #schema{endianness :: <a href="arrow_ipc_schema.html#t:endianness/0">arrow_ipc_schema:endianness</a>(),
+ fields :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0">term</a>(),
+ custom_metadata :: [<a href="arrow_ipc_message.html#t:key_value/0">arrow_ipc_message:key_value</a>()],
+ features :: [<a href="arrow_ipc_schema.html#t:feature/0">arrow_ipc_schema:feature</a>()]}.</pre>
+
+ </div>
+
+<p>Represents a schema</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Fields)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_schema.erl#L62" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Fields :: [<a href="arrow_ipc_field.html#t:field/0">arrow_ipc_field:field</a>()]) -> Schema :: <a href="#t:schema/0">schema</a>().</pre>
+
+ </div>
+
+<p>Creates a Schema given an ordered list of fields.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_ipc_type.html b/main/arrow_ipc_type.html
new file mode 100644
index 0000000..70586a5
--- /dev/null
+++ b/main/arrow_ipc_type.html
@@ -0,0 +1,440 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_ipc_type — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_ipc_type</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides types and functions to work with IPC types. </p><p>This module provides functions and types to produce the types in IPC Schema
+<a href="https://github.com/apache/arrow/blob/main/format/Schema.fbs">definitions</a>.
+These types are generated according to <code class="inline">Type</code> union in the schema. The types
+have been represented in the form <code class="inline">{TypeName, Metadata}</code>, where <code class="inline">TypeName</code> is
+the name of the type and is an atom, and <code class="inline">Metadata</code> is a map of all the metadata
+associated with it. In case a type has no metadata associated with it, it is
+represented as just <code class="inline">TypeName</code>.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:fixed_size_list/0" data-no-tooltip="" translate="no">fixed_size_list()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:floating_point/0" data-no-tooltip="" translate="no">floating_point()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:int/0" data-no-tooltip="" translate="no">int()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:ipc_type/0" data-no-tooltip="" translate="no">ipc_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:large_binary/0" data-no-tooltip="" translate="no">large_binary()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:large_list/0" data-no-tooltip="" translate="no">large_list()</a>
+
+ </div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Array)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the IPC Type for an <a><code class="inline">arrow_array:array/0</code></a>.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:fixed_size_list/0">
+
+ <div class="detail-header">
+ <a href="#t:fixed_size_list/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">fixed_size_list()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L78" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> fixed_size_list() :: {fixed_size_list, #{list_size => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>()}}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:floating_point/0">
+
+ <div class="detail-header">
+ <a href="#t:floating_point/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">floating_point()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L75" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> floating_point() :: {floating_point, #{precision => half | single | double}}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:int/0">
+
+ <div class="detail-header">
+ <a href="#t:int/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">int()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L72" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> int() :: {int, #{bit_width => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>(), is_signed => <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0">boolean</a>()}}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:ipc_type/0">
+
+ <div class="detail-header">
+ <a href="#t:ipc_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">ipc_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L46" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> ipc_type() :: <a href="#t:int/0">int</a>() | <a href="#t:floating_point/0">floating_point</a>() | <a href="#t:fixed_size_list/0">fixed_size_list</a>() | <a href="#t:large_binary/0">large_binary</a>() | <a href="#t:large_list/0">large_list</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:large_binary/0">
+
+ <div class="detail-header">
+ <a href="#t:large_binary/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">large_binary()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L81" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> large_binary() :: large_binary.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:large_list/0">
+
+ <div class="detail-header">
+ <a href="#t:large_list/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">large_list()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L84" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> large_list() :: large_list.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Array)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_ipc_type.erl#L95" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>()) -> Type :: <a href="#t:ipc_type/0">ipc_type</a>().</pre>
+
+ </div>
+
+<p>Returns the IPC Type for an <a href="arrow_array.html#t:array/0"><code class="inline">arrow_array:array/0</code></a>.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_offsets.html b/main/arrow_offsets.html
new file mode 100644
index 0000000..8406b23
--- /dev/null
+++ b/main/arrow_offsets.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_offsets — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_offsets</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides support for Apache Arrow's Offsets</p><p>Arrow has a concept of
+<a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">offsets</a>
+in order to tell the length of a
+<a href="https://arrow.apache.org/docs/format/Columnar.html#terminology">slot</a> or a
+single element in an array of variable-size elements. This module provides
+support for generating offsets.</p><p>There are couple of things to remember about offsets:</p><p>Firstly, each element in the offsets corresponds to the distance in bytes of the
+corresponding element in the values from the beginning of the buffer.</p><p>I.E., distance of <code class="inline">values[j]</code> from beginning of the buffer = <code class="inline">offsets[j]</code>.</p><p>Secondly, the very last element in the offsets is the length of the buffer, or
+distance of the end of the last slot from the beginning of the buffer.</p><p>Thus, the offsets is one element longer than the values, or:</p><pre><code class="makeup erlang" translate="no"><span class="nf">length</span><span class="p" data-group-id="1736369887-1">(</span><span class="ss">offsets</span><span class="p" data-group-id="1736369887-1">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nf">length</span><span class="p" data-group-id="17 [...]
+current element from the offset of the next element, or:</p><pre><code class="makeup erlang" translate="no"><span class="ss">slot</span><span class="p" data-group-id="4305104627-1">[</span><span class="ss">j</span><span class="p" data-group-id="4305104627-1">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">offsets</span><span class="p" data-group-id="4305104627-2">[</span><span class="ss">j</span><span class="w"> </span><span class="o">+</s [...]
+Thus, the previous offset and the current offset are equivalent if the current
+element is a null.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#new/2" data-no-tooltip="" translate="no">new(Value, Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the offsets array given some values and their type as a buffer.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#new/3" data-no-tooltip="" translate="no">new(Value, Type, Length)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the offsets array given some values, their type and length as a buffer.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="new/2">
+
+ <div class="detail-header">
+ <a href="#new/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">new(Value, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L66" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> new(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>()) ->
+ Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>().</pre>
+
+ </div>
+
+<p>Returns the offsets array given some values and their type as a buffer.</p>
+ </section>
+</section>
+<section class="detail" id="new/3">
+
+ <div class="detail-header">
+ <a href="#new/3" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">new(Value, Type, Length)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_offsets.erl#L78" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> new(Value :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()],
+ Type :: <a href="arrow_type.html#t:arrow_longhand_type/0">arrow_type:arrow_longhand_type</a>(),
+ Length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>()) ->
+ Buffer :: <a href="arrow_buffer.html#t:buffer/0">arrow_buffer:buffer</a>().</pre>
+
+ </div>
+
+<p>Returns the offsets array given some values, their type and length as a buffer.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_type.html b/main/arrow_type.html
new file mode 100644
index 0000000..c7f01b3
--- /dev/null
+++ b/main/arrow_type.html
@@ -0,0 +1,1207 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_type — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_type</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides representation for as well as functions for working with Arrow
+specific datatypes.</p><p>This module provides longhand (a 2 tuple) as well as shorthand (an atom)
+representations for representing primitive types. Additionally it represents
+Nested Types (i.e. Lists) as well as Native Types (i.e. Erlang Native Types that
+are supported by this package).</p><p>Generally, when we say an array A has type X, we mean that each element in A
+has type X. Thus, an array of type of <code class="inline">Int8</code> would look like <code class="inline">[1, 2, 3]</code>, but
+an array of type <code class="inline">List<Int8></code> would look like <code class="inline">[[1, 2], [3]]</code>.</p><h2 id="module-primitive-types" class="section-heading"><a href="#module-primitive-types" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Primitive Types</span></h2><p>A Primitive Type is any type that refers to a single value (as opposed to a
+list of values). Currently it includes Booleans, Signed Integers, Unsigned
+Integers, Floats and Binaries. Both a longhand and shorthand syntax had been
+provided to initiate a type.</p><p>The following is a comprehensive list of all supported primitive types:</p><ol><li> Booleans</li><li> Signed Integers: Includes <code class="inline">Int 8</code>, <code class="inline">Int 16</code>, <code class="inline">Int 32</code> and
+<code class="inline">Int 64</code></li><li> Unsigned Integers: Includes <code class="inline">UInt 8</code>, <code class="inline">UInt 16</code>, <code class="inline">UInt 32</code> and
+<code class="inline">UInt 64</code></li><li> Floats: Includes <code class="inline">Float 16</code>, <code class="inline">Float 32</code> and <code class="inline">Float 64</code></li><li> Binaries</li></ol><h3 id="module-shorthand-syntax" class="section-heading"><a href="#module-shorthand-syntax" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Shorthand Syntax</span></h3><p>In the shorthand syntax, you can just use a single atom to refer to a type,
+such that the atom is <code class="inline"><name><size></code>. The name is a single letter that refers
+to the type, and the size is that type's size in bits. Take the example of
+<code class="inline">Int 8</code>. Its name is <code class="inline">s</code>, and size is <code class="inline">8</code>. Thus in shorthand, it is <code class="inline">s8</code>. In
+the case of datatypes without variations, such as Booleans and Binaries, they
+are represented by just their datatype. Do note that internally the longhand
+syntax is used.</p><p>Here you can find the name of each table:</p><table><thead><tr><th style="text-align: left;">Type</th><th style="text-align: left;">Name</th><th style="text-align: left;">Example Atom</th></tr></thead><tbody><tr><td style="text-align: left;">Booleans</td><td style="text-align: left;">N/A</td><td style="text-align: left;"><code class="inline">bool</code></td></tr><tr><td style="text-align: left;">Signed Integer</td><td style="text-align: left;"><code class="inline">s [...]
+<code class="inline">arrow_short_*()</code> types.</p><h3 id="module-longhand-syntax" class="section-heading"><a href="#module-longhand-syntax" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Longhand Syntax</span></h3><p>In longhand syntax, you use a 2 tuple to to refer to the type, such that the
+tuple is <code class="inline">{Name, Size}</code>. Thus, <code class="inline">Int 8</code> would be represented as <code class="inline">{s, 8}</code>. Do
+note that in the case or Booleans and Binaries their <code class="inline">Size</code> is <code class="inline">undefined</code>, as
+the have variable or undefined size.</p><p>Types that are longhand are under the <a href="#t:arrow_longhand_type/0"><code class="inline">arrow_longhand_type/0</code></a> and
+<code class="inline">arrow_long_*()</code> types.</p><h3 id="module-nested-types" class="section-heading"><a href="#module-nested-types" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Nested Types</span></h3><p>A Nested Type is any data structure that supports nesting. This can include
+Lists, FixedLists, Maps, Structs and more, but is curently limited to
+FixedLists. Nested Types are represented using a 3 tuple: <code class="inline">{NestedType, Type, Length}</code>. <code class="inline">NestedType</code> refers to the data structure that is nesting your
+primitive type. <code class="inline">Type</code> refers to the type that is being nested in the data
+structure. Do note that <code class="inline">Type</code> can be a Primitive Type, or another Nested
+Type. Both the shorthand and the longhand syntax can be used or Primitive
+Types.<code class="inline">Length</code> refers to the length of each element, and will only be
+required to represent FixedLists.</p><p>It is important to remember while nesting that the type refers to the type of
+each element in an array. A list of <code class="inline">Int8</code> is 2 dimensional, and a list of
+<code class="inline">List<Int8></code> is 3 dimensional.</p><h2 id="module-native-type" class="section-heading"><a href="#module-native-type" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Native Type</span></h2><p>A Native Type is any Erlang Datatype that can be serialized by <code class="inline">arrow</code>,
+and is represented by the type <a href="#t:native_type/0"><code class="inline">native_type/0</code></a>. It currently only includes
+values that are primitive in nature such as booleans, integers, floats,
+binaries, and additionally the atoms <code class="inline">undefined</code> and <code class="inline">nil</code> to represent a
+<code class="inline">NULL</code> value.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-types summary">
+ <h2>
+ <a href="#types">Types</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_bin/0" data-no-tooltip="" translate="no">arrow_bin()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_bool/0" data-no-tooltip="" translate="no">arrow_bool()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_float/0" data-no-tooltip="" translate="no">arrow_float()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_int/0" data-no-tooltip="" translate="no">arrow_int()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_bin/0" data-no-tooltip="" translate="no">arrow_long_bin()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_bool/0" data-no-tooltip="" translate="no">arrow_long_bool()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_float/0" data-no-tooltip="" translate="no">arrow_long_float()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_int/0" data-no-tooltip="" translate="no">arrow_long_int()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_nested_type/0" data-no-tooltip="" translate="no">arrow_long_nested_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_long_uint/0" data-no-tooltip="" translate="no">arrow_long_uint()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_longhand_type/0" data-no-tooltip="" translate="no">arrow_longhand_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_nested_type/0" data-no-tooltip="" translate="no">arrow_nested_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_primitive_type/0" data-no-tooltip="" translate="no">arrow_primitive_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_bin/0" data-no-tooltip="" translate="no">arrow_short_bin()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_bool/0" data-no-tooltip="" translate="no">arrow_short_bool()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_float/0" data-no-tooltip="" translate="no">arrow_short_float()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_int/0" data-no-tooltip="" translate="no">arrow_short_int()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_nested_type/0" data-no-tooltip="" translate="no">arrow_short_nested_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_short_uint/0" data-no-tooltip="" translate="no">arrow_short_uint()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_shorthand_type/0" data-no-tooltip="" translate="no">arrow_shorthand_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_type/0" data-no-tooltip="" translate="no">arrow_type()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:arrow_uint/0" data-no-tooltip="" translate="no">arrow_uint()</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#t:native_type/0" data-no-tooltip="" translate="no">native_type()</a>
+
+ </div>
+
+ </div>
+
+</div>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#bit_length/1" data-no-tooltip="" translate="no">bit_length(Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the size of the type in bits.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#byte_length/1" data-no-tooltip="" translate="no">byte_length(Type)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Returns the size of the type in bytes.</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#normalize/1" data-no-tooltip="" translate="no">normalize(Type)</a>
+
+ </div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#serialize/2" data-no-tooltip="" translate="no">serialize(Value, Type)</a>
+
+ </div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="types" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#types">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Types</span>
+ </h1>
+ <div class="types-list">
+<section class="detail" id="t:arrow_bin/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_bin/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_bin()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L240" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_bin() :: <a href="#t:arrow_long_bin/0">arrow_long_bin</a>() | <a href="#t:arrow_short_bin/0">arrow_short_bin</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_bool/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_bool/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_bool()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L179" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_bool() :: <a href="#t:arrow_long_bool/0">arrow_long_bool</a>() | <a href="#t:arrow_short_bool/0">arrow_short_bool</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_float/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_float/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_float()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L224" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_float() :: <a href="#t:arrow_long_float/0">arrow_long_float</a>() | <a href="#t:arrow_short_float/0">arrow_short_float</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_int/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_int/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_int()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L192" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_int() :: <a href="#t:arrow_long_int/0">arrow_long_int</a>() | <a href="#t:arrow_short_int/0">arrow_short_int</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_bin/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_bin/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_bin()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L243" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_bin() :: {bin, undefined}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_bool/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_bool/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_bool()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L182" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_bool() :: {bool, undefined}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_float/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_float/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_float()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L228" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_float() :: {f, 16} | {f, 32} | {f, 64}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_int/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_int/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_int()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L196" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_int() :: {s, 8} | {s, 16} | {s, 32} | {s, 64}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_nested_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_nested_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_nested_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L261" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_nested_type() ::
+ {fixed_list, <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>() | <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>(), <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>()} |
+ {variable_list, <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>() | <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>(), undefined}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_long_uint/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_long_uint/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_long_uint()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L212" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_long_uint() :: {u, 8} | {u, 16} | {u, 32} | {u, 64}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_longhand_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_longhand_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_longhand_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L157" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_longhand_type() ::
+ <a href="#t:arrow_long_bool/0">arrow_long_bool</a>() |
+ <a href="#t:arrow_long_int/0">arrow_long_int</a>() |
+ <a href="#t:arrow_long_uint/0">arrow_long_uint</a>() |
+ <a href="#t:arrow_long_float/0">arrow_long_float</a>() |
+ <a href="#t:arrow_long_bin/0">arrow_long_bin</a>() |
+ <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_nested_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_nested_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_nested_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L253" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_nested_type() :: <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_long_nested_type/0">arrow_long_nested_type</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_primitive_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_primitive_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_primitive_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L149" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_primitive_type() :: <a href="#t:arrow_bool/0">arrow_bool</a>() | <a href="#t:arrow_int/0">arrow_int</a>() | <a href="#t:arrow_uint/0">arrow_uint</a>() | <a href="#t:arrow_float/0">arrow_float</a>() | <a href="#t:arrow_bin/0">arrow_bin</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_bin/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_bin/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_bin()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L246" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_bin() :: bin.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_bool/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_bool/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_bool()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L185" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_bool() :: bool.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_float/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_float/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_float()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L232" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_float() :: f16 | f32 | f64.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_int/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_int/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_int()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L200" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_int() :: s8 | s16 | s32 | s64.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_nested_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_nested_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_nested_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L256" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_nested_type() ::
+ {fixed_list, <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_shorthand_type/0">arrow_shorthand_type</a>(), <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>()} |
+ {variable_list, <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>() | <a href="#t:arrow_shorthand_type/0">arrow_shorthand_type</a>(), undefined}.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_short_uint/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_short_uint/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_short_uint()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L216" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_short_uint() :: u8 | u16 | u32 | u64.</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_shorthand_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_shorthand_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_shorthand_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L166" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_shorthand_type() ::
+ <a href="#t:arrow_short_bool/0">arrow_short_bool</a>() |
+ <a href="#t:arrow_short_int/0">arrow_short_int</a>() |
+ <a href="#t:arrow_short_uint/0">arrow_short_uint</a>() |
+ <a href="#t:arrow_short_float/0">arrow_short_float</a>() |
+ <a href="#t:arrow_short_bin/0">arrow_short_bin</a>() |
+ <a href="#t:arrow_short_nested_type/0">arrow_short_nested_type</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_type/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L146" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_type() :: <a href="#t:arrow_primitive_type/0">arrow_primitive_type</a>() | <a href="#t:arrow_nested_type/0">arrow_nested_type</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:arrow_uint/0">
+
+ <div class="detail-header">
+ <a href="#t:arrow_uint/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">arrow_uint()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L208" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> arrow_uint() :: <a href="#t:arrow_long_uint/0">arrow_long_uint</a>() | <a href="#t:arrow_short_uint/0">arrow_short_uint</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="t:native_type/0">
+
+ <div class="detail-header">
+ <a href="#t:native_type/0" class="detail-link" data-no-tooltip="" aria-label="Link to this type">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">native_type()</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L270" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-type</span> native_type() :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0">boolean</a>() | undefined | nil | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0">integer</a>() | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0">float</a>() | <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="bit_length/1">
+
+ <div class="detail-header">
+ <a href="#bit_length/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">bit_length(Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L331" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> bit_length(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> Length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the size of the type in bits.</p>
+ </section>
+</section>
+<section class="detail" id="byte_length/1">
+
+ <div class="detail-header">
+ <a href="#byte_length/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">byte_length(Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L346" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> byte_length(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> Length :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0">pos_integer</a>() | undefined.</pre>
+
+ </div>
+
+<p>Returns the size of the type in bytes.</p>
+ </section>
+</section>
+<section class="detail" id="normalize/1">
+
+ <div class="detail-header">
+ <a href="#normalize/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">normalize(Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L291" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> normalize(Type :: <a href="#t:arrow_type/0">arrow_type</a>()) -> <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+<section class="detail" id="serialize/2">
+
+ <div class="detail-header">
+ <a href="#serialize/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">serialize(Value, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_type.erl#L360" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> serialize(Value :: <a href="#t:native_type/0">native_type</a>(), Type :: <a href="#t:arrow_longhand_type/0">arrow_longhand_type</a>()) -> <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0">binary</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_variable_binary_array.html b/main/arrow_variable_binary_array.html
new file mode 100644
index 0000000..0fc4116
--- /dev/null
+++ b/main/arrow_variable_binary_array.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_variable_binary_array — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_variable_binary_array</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides support for Arrow's Variable-Sized Binary Layout.</p><p>The <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">Variable-Sized Binary
+Layout</a>
+provides support for storing binaries of varying length in a way similar to the
+primitive layout, i.e. in a 1 Dimensional Array.</p>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/1" data-no-tooltip="" translate="no">from_erlang(Values)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a Variable-Sized Binary Array given the values</p></div>
+
+ </div>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Values, Opts)</a>
+
+ </div>
+
+ <div class="summary-synopsis"><p>Creates a Variable-Sized Binary Array given the values and options in the form of
+a map, from its erlang representation.</p></div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/1">
+
+ <div class="detail-header">
+ <a href="#from_erlang/1" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Values)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L46" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()]) -> Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>().</pre>
+
+ </div>
+
+<p>Creates a Variable-Sized Binary Array given the values</p>
+ </section>
+</section>
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Values, Opts)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_binary_array.erl#L39" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: [<a href="arrow_type.html#t:native_type/0">arrow_type:native_type</a>()], Opts :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>()) -> Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>().</pre>
+
+ </div>
+
+<p>Creates a Variable-Sized Binary Array given the values and options in the form of
+a map, from its erlang representation.</p>
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/arrow_variable_list_array.html b/main/arrow_variable_list_array.html
new file mode 100644
index 0000000..e93ddfe
--- /dev/null
+++ b/main/arrow_variable_list_array.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>arrow_variable_list_array — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-module" id="main" data-type="modules">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>
+ <span translate="no">arrow_variable_list_array</span>
+ <small class="app-vsn" translate="no">(arrow v0.1.0)</small>
+
+ </h1>
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_list_array.erl#L18" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+ <section id="moduledoc">
+<p>Provides support for Arrow's Variable-Size List Layout.</p><p>This module provides support for the <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-list-layout">Variable-Size List
+Layout</a>,
+which is an layout that supports storing a list of lists of a specific length
+and nesting.</p><h2 id="module-invalid-input" class="section-heading"><a href="#module-invalid-input" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Invalid Input</span></h2><p>It is important that care is taken when passing input values to this
+module. For performance reasons, the input is not validated. The
+function crashes on nesting that is inconsistent: a. with the type, b.
+between elements. The behaviour on invalid input <strong>CANNOT BE
+GUARANTEED</strong>. Therefore, one must be careful to not to <strong>CRASH THE
+PROCESS</strong> or worse still, <strong>PRODUCE INVALID OUTPUT</strong>.</p><p>Any input must follow the following rules:</p><ol><li> The nesting of each element must be consistent with the type</li><li> The nesting of each element must be consistent with each other</li></ol>
+ </section>
+
+</div>
+
+ <section id="summary" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#summary">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Summary</span>
+ </h1>
+<div class="summary-functions summary">
+ <h2>
+ <a href="#functions">Functions</a>
+ </h2>
+
+ <div class="summary-row">
+ <div class="summary-signature">
+ <a href="#from_erlang/2" data-no-tooltip="" translate="no">from_erlang(Values, Type)</a>
+
+ </div>
+
+ </div>
+
+</div>
+
+ </section>
+
+
+ <section id="functions" class="details-list">
+ <h1 class="section-heading">
+ <a class="hover-link" href="#functions">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <span class="text">Functions</span>
+ </h1>
+ <div class="functions-list">
+<section class="detail" id="from_erlang/2">
+
+ <div class="detail-header">
+ <a href="#from_erlang/2" class="detail-link" data-no-tooltip="" aria-label="Link to this function">
+ <i class="ri-link-m" aria-hidden="true"></i>
+ </a>
+ <div class="heading-with-actions">
+ <h1 class="signature" translate="no">from_erlang(Values, Type)</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/src/arrow_variable_list_array.erl#L50" class="icon-action" rel="help" aria-label="View Source">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ </a>
+
+ </div>
+ </div>
+
+ <section class="docstring">
+
+ <div class="specs">
+
+ <pre translate="no"><span class="attribute">-spec</span> from_erlang(Values :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:list/0">list</a>(), Type :: <a href="https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0">map</a>() | <a href="arrow_type.html#t:arrow_type/0">arrow_type:arrow_type</a>()) ->
+ Array :: <a href="arrow_array.html#t:array/0">arrow_array:array</a>().</pre>
+
+ </div>
+
+
+ </section>
+</section>
+
+ </div>
+ </section>
+
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/dist/html-DPJLHKSM.js b/main/dist/html-DPJLHKSM.js
new file mode 100644
index 0000000..8d3e309
--- /dev/null
+++ b/main/dist/html-DPJLHKSM.js
@@ -0,0 +1,222 @@
+(()=>{var Ps=Object.create;var Kn=Object.defineProperty;var Os=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var As=Object.getPrototypeOf,Cs=Object.prototype.hasOwnProperty;var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Rs=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Is(e))!Cs.call(t,i)&&i!==n&&Kn(t,i,{get:()=>e[i],enumerable:!(r=Os(e,i))||r.enumerable});return t};var Y=(t,e,n)=>(n=t!=null?Ps(As(t)):{},Rs(e||!t||!t.__esMod [...]
+You can add a runtime option to disable the check or this warning:
+See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function aa(){Object.keys(nt).forEach(function(t){delete nt[t]})}});var an=L(j=>{"use strict";j.__esModule=!0;j.HandlebarsEnvironment=on;function ii(t){return t&&t.__esModule?t:{default:t}}var oe=F(),la=X(),rn=ii(la),ua=Xt(),ca=Zr(),da=en(),rt=ii(da),ha=nn(),fa="4.7.7";j.VERSION=fa;var pa=8;j.COMPILER_REVISION=pa;var ma=7;j.LAST_COMPATIBLE_COMPILER_REVISION=ma;var ga={1:"<= [...]
+`),h=0,p=d.length;h<p&&!(!d[h]&&h+1===p);h++)d[h]=l.indent+d[h];c=d.join(`
+`)}return c}else throw new G.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,l,u){if(!a||!(l in a))throw new G.default('"'+l+'" not defined in '+a,{loc:u});return i.lookupProperty(a,l)},lookupProperty:function(a,l){var u=a[l];if(u==null||Object.prototype.hasOwnProperty.call(a,l)||ui.resultIsAllowed(u,i.protoAccessControl,l))return u},lookup:function(a,l){for(var u=a.length,c=0;c<u;c++){var d=a[c]&&i.lookupProperty(a[c],l) [...]
+`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if( [...]
+ `+c((o=(o=d(n,"version")||(e!=null?d(e,"version"):e))!=null?o:l,typeof o===u?o.call(a,{name:"version",hash:{},data:i,loc:{start:{line:8,column:10},end:{line:8,column:21}}}):o))+`
+ </option>
+`},2:function(t,e,n,r,i){return" selected disabled"},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <div class="sidebar-staleVersion">
+ <a href="`+t.escapeExpression((s=(s=o(n,"latestVersion")||(e!=null?o(e,"latestVersion"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"latestVersion",hash:{},data:i,loc:{start:{line:15,column:15},end:{line:15,column:32}}}):s))+`" title="This version of package is not the latest version">
+ <i class="ri-alert-line sidebar-staleIcon" aria-hidden="true"></i><span>Go to latest</span>
+ </a>
+ </div>
+`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<form autocomplete="off">
+ <label>
+ <span class="sidebar-projectVersionsCaret" aria-hidden="true">▼</span>
+ <span class="sr-only">Project version</span>
+ <select>
+`+((s=a(n,"each").call(o,e!=null?a(e,"nodes"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:6},end:{line:10,column:15}}}))!=null?s:"")+` </select>
+ </label>
+`+((s=a(n,"if").call(o,e!=null?a(e,"latestVersion"):e,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:2},end:{line:19,column:9}}}))!=null?s:"")+`</form>
+`},useData:!0});var qa=".sidebar-projectVersion",Ei=".sidebar-projectVersion select",Fa=".sidebar-staleVersion a";if(!A){let t=Xn(),e=f(qa);if(t.length>0||!e){let n=e.textContent.trim(),i=(t.some(u=>u.version===n)?t:[{version:n,url:"#"},...t]).map(u=>({...u,isCurrentVersion:u.version===n})),s=t.find(u=>u.latest),o=s?.version!==n&&!n.includes("-")?s?.url:null;e.innerHTML=bi({nodes:i,latestVersion:o});let a=f(Ei);a.addEventListener("change",$a),Va(a);let l=f(Fa);l&&l.addEventListener("clic [...]
+ <div class="title">
+`+((s=d(n,"if").call(a,e!=null?d(e,"deprecated"):e,{name:"if",hash:{},fn:t.program(2,i,0),inverse:t.program(4,i,0),data:i,loc:{start:{line:16,column:10},end:{line:20,column:17}}}))!=null?s:"")+`
+`+((s=d(n,"each").call(a,e!=null?d(e,"labels"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:22,column:10},end:{line:24,column:19}}}))!=null?s:"")+` <div class="autocomplete-preview-indicator autocomplete-preview-indicator-open">
+ <button onclick="onTogglePreviewClick(event, false)" title="Close preview" tabindex="-1">
+ <i class="ri-close-line" aria-hidden="true"></i>
+ Close preview
+ </button>
+ </div>
+ <div class="autocomplete-preview-indicator autocomplete-preview-indicator-closed">
+ <button onclick="onTogglePreviewClick(event, true)" title="Open preview" tabindex="-1">
+ <i class="ri-search-2-line" aria-hidden="true"></i>
+ Open preview
+ </button>
+ </div>
+ </div>
+
+`+((s=d(n,"if").call(a,e!=null?d(e,"description"):e,{name:"if",hash:{},fn:t.program(8,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:8},end:{line:43,column:15}}}))!=null?s:"")+` </a>
+`},2:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <s><span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:17,column:49},end:{line:17,column:60}}}):o))!=null?s:"")+`</span></s>
+`},4:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return' <span class="header" translate="no">'+((s=(o=(o=a(n,"title")||(e!=null?a(e,"title"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"title",hash:{},data:i,loc:{start:{line:19,column:46},end:{line:19,column:57}}}):o))!=null?s:"")+`</span>
+`},6:function(t,e,n,r,i){return' <span class="label">'+t.escapeExpression(t.lambda(e,e))+`</span>
+`},8:function(t,e,n,r,i){var s,o,a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return` <div class="description" translate="no">
+ `+((s=(o=(o=a(n,"description")||(e!=null?a(e,"description"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(e??(t.nullContext||{}),{name:"description",hash:{},data:i,loc:{start:{line:41,column:10},end:{line:41,column:27}}}):o))!=null?s:"")+`
+ </div>
+`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o,a=e??(t.nullContext||{}),l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return`<div class="triangle"></div>
+<div class="autocomplete-container">
+ <div class="autocomplete-suggestions">
+ <div class="autocomplete-results">
+ <span class="query">
+ Autocompletion results for <span class="bold">"`+t.escapeExpression((o=(o=l(n,"term")||(e!=null?l(e,"term"):e))!=null?o:t.hooks.helperMissing,typeof o=="function"?o.call(a,{name:"term",hash:{},data:i,loc:{start:{line:6,column:55},end:{line:6,column:63}}}):o))+`"</span>
+ </span>
+ <span class="press-return">
+ Press <span class="bold">RETURN</span> for full-text search, <span class="bold">TAB</span> for previews
+ </span>
+ </div>
+ <div>
+`+((s=l(n,"each").call(a,e!=null?l(e,"suggestions"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:13,column:6},end:{line:45,column:15}}}))!=null?s:"")+` </div>
+ </div>
+</div>
+`},useData:!0});var pe=".autocomplete",pt=".autocomplete-suggestions",ft=".autocomplete-suggestion",C={autocompleteSuggestions:[],previewOpen:!1,selectedIdx:-1};function dl(){f(pe).classList.add("shown")}function vn(){f(pe).classList.remove("shown")}function Ai(){return f(pe).classList.contains("shown")}function yn(t){C.autocompleteSuggestions=Ti(t),C.selectedIdx=-1,he(t)?vn():(hl({term:t,suggestions:C.autocompleteSuggestions}),mt(0),dl())}function hl({term:t,suggestions:e}){let n=Ii({su [...]
+ `+t.escapeExpression(t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))+`
+ </section>
+`},3:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` <div class="detail-header">
+ <h1 class="signature">
+ <span translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"title"):s,e))+`</span>
+ <div class="version-info" translate="no">`+a(o((s=e!=null?l(e,"hint"):e)!=null?l(s,"version"):s,e))+`</div>
+ </h1>
+ </div>
+`+((s=l(n,"if").call(e??(t.nullContext||{}),(s=e!=null?l(e,"hint"):e)!=null?l(s,"description"):s,{name:"if",hash:{},fn:t.program(4,i,0),inverse:t.noop,data:i,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?s:"")},4:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return` <section class="docstring">
+ `+((s=t.lambda((s=e!=null?o(e,"hint"):e)!=null?o(s,"description"):s,e))!=null?s:"")+`
+ </section>
+`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"isPlain"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?s:""},useData:!0});var vl='<div class="tooltip"><div class="tooltip-body"></div></div>',yl='.content a:not([data-no-tooltip=""])',kn=".to [...]
+`},3:function(t,e,n,r,i){return` Invalid search
+`},5:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"each",hash:{},fn:t.program(6,i,0),inverse:t.noop,data:i,loc:{start:{line:10,column:2},end:{line:21,column:11}}}))!=null?s:""},6:function(t,e,n,r,i){var s,o=t.lambda,a=t.escapeExpression,l=t.lookupProperty||function(u,c){if(Object.prototype.hasOwnProperty.call(u,c))return u[c]};return` [...]
+ <h2 class="result-id">
+ <a href="`+a(o(e!=null?l(e,"ref"):e,e))+`">
+ <span translate="no">`+a(o(e!=null?l(e,"title"):e,e))+"</span> <small>("+a(o(e!=null?l(e,"type"):e,e))+`)</small>
+ </a>
+ </h2>
+`+((s=l(n,"each").call(e??(t.nullContext||{}),e!=null?l(e,"excerpts"):e,{name:"each",hash:{},fn:t.program(7,i,0),inverse:t.noop,data:i,loc:{start:{line:17,column:8},end:{line:19,column:17}}}))!=null?s:"")+` </div>
+`},7:function(t,e,n,r,i){var s;return' <p class="result-elem">'+((s=t.lambda(e,e))!=null?s:"")+`</p>
+`},9:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return((s=(o(n,"isArray")||e&&o(e,"isArray")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e!=null?o(e,"results"):e,{name:"isArray",hash:{},fn:t.program(10,i,0),inverse:t.program(12,i,0),data:i,loc:{start:{line:23,column:2},end:{line:29,column:14}}}))!=null?s:"")+`
+ <p>The search functionality is full-text based. Here are some tips:</p>
+
+ <ul>
+ <li>Multiple words (such as <code>foo bar</code>) are searched as <code>OR</code></li>
+ <li>Use <code>*</code> anywhere (such as <code>fo*</code>) as wildcard</li>
+ <li>Use <code>+</code> before a word (such as <code>+foo</code>) to make its presence required</li>
+ <li>Use <code>-</code> before a word (such as <code>-foo</code>) to make its absence required</li>
+ <li>Use <code>:</code> to search on a particular field (such as <code>field:word</code>). The available fields are <code>title</code>, <code>doc</code> and <code>type</code></li>
+ <li>Use <code>WORD^NUMBER</code> (such as <code>foo^2</code>) to boost the given word</li>
+ <li>Use <code>WORD~NUMBER</code> (such as <code>foo~2</code>) to do a search with edit distance on word</li>
+ </ul>
+
+ <p>To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.</p>
+`},10:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Sorry, we couldn't find anything for <em>"+t.escapeExpression((s=(s=o(n,"value")||(e!=null?o(e,"value"):e))!=null?s:t.hooks.helperMissing,typeof s=="function"?s.call(e??(t.nullContext||{}),{name:"value",hash:{},data:i,loc:{start:{line:24,column:48},end:{line:24,column:57}}}):s))+`</em>.</p>
+`},12:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return(s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"value"):e,{name:"if",hash:{},fn:t.program(13,i,0),inverse:t.program(15,i,0),data:i,loc:{start:{line:25,column:2},end:{line:29,column:2}}}))!=null?s:""},13:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" <p>Invalid search: "+t.e [...]
+`},15:function(t,e,n,r,i){return` <p>Please type something into the search bar to perform a search.</p>
+ `},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=e??(t.nullContext||{}),a=t.lookupProperty||function(l,u){if(Object.prototype.hasOwnProperty.call(l,u))return l[u]};return`<h1>
+`+((s=a(n,"if").call(o,e!=null?a(e,"value"):e,{name:"if",hash:{},fn:t.program(1,i,0),inverse:t.program(3,i,0),data:i,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?s:"")+`</h1>
+
+`+((s=(a(n,"isNonEmptyArray")||e&&a(e,"isNonEmptyArray")||t.hooks.helperMissing).call(o,e!=null?a(e,"results"):e,{name:"isNonEmptyArray",hash:{},fn:t.program(5,i,0),inverse:t.program(9,i,0),data:i,loc:{start:{line:9,column:0},end:{line:44,column:20}}}))!=null?s:"")},useData:!0});var wt=80,Rl="#search";V.default.tokenizer.separator=/\s+/;V.default.QueryLexer.termSeparator=/\s+/;V.default.Pipeline.registerFunction(Xi,"docTokenSplitter");V.default.Pipeline.registerFunction(Zi,"docTrimmer"); [...]
+ <dd class="shortcut-description">
+ `+t.escapeExpression(t.lambda(e!=null?o(e,"description"):e,e))+`
+ </dd>
+ <dt class="shortcut-keys">
+`+((s=o(n,"if").call(e??(t.nullContext||{}),e!=null?o(e,"displayAs"):e,{name:"if",hash:{},fn:t.program(3,i,0),inverse:t.program(5,i,0),data:i,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?s:"")+` </dt>
+ </dl>
+`},3:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return" "+((s=t.lambda(e!=null?o(e,"displayAs"):e,e))!=null?s:"")+`
+`},5:function(t,e,n,r,i){var s=t.lookupProperty||function(o,a){if(Object.prototype.hasOwnProperty.call(o,a))return o[a]};return" <kbd><kbd>"+t.escapeExpression(t.lambda(e!=null?s(e,"key"):e,e))+`</kbd></kbd>
+`},compiler:[8,">= 4.3.0"],main:function(t,e,n,r,i){var s,o=t.lookupProperty||function(a,l){if(Object.prototype.hasOwnProperty.call(a,l))return a[l]};return`<div id="settings-modal-content">
+ <div id="settings-content">
+ <label class="switch-button-container">
+ <div>
+ <span>Theme</span>
+ <p>Use the documentation UI in a theme.</p>
+ </div>
+ <div>
+ <select name="theme" class="settings-select">
+ <option value="dark">Dark</option>
+ <option value="light">Light</option>
+ <option value="system">System</option>
+ </select>
+ </div>
+ </label>
+ <label class="switch-button-container">
+ <div>
+ <span>Show tooltips</span>
+ <p>Show tooltips when mousing over code references.</p>
+ </div>
+ <div class="switch-button">
+ <input class="switch-button__checkbox" type="checkbox" name="tooltips" />
+ <div class="switch-button__bg"></div>
+ </div>
+ </label>
+ <label class="switch-button-container">
+ <div>
+ <span>Run in Livebook</span>
+ <p>Use Direct Address for \u201CRun in Livebook\u201D badges.</p>
+ </div>
+ <div class="switch-button">
+ <input class="switch-button__checkbox" type="checkbox" name="direct_livebook_url" />
+ <div class="switch-button__bg"></div>
+ </div>
+ </label>
+ <input class="input" type="url" name="livebook_url" placeholder="Enter Livebook instance URL" aria-label="Enter Livebook instance URL" />
+ </div>
+ <div id="keyboard-shortcuts-content" class="hidden">
+`+((s=o(n,"each").call(e??(t.nullContext||{}),e!=null?o(e,"shortcuts"):e,{name:"each",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?s:"")+` </div>
+</div>
+`},useData:!0});var wu=".display-settings",bu="#settings-modal-content",Hn="#modal-settings-tab",Nn="#modal-keyboard-shortcuts-tab",hs="#settings-content",fs="#keyboard-shortcuts-content",Eu=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];window.addEventListener("exdoc:loaded",xu);function xu(){M(wu).forEach(t=>{t.addEventListener("click",Mn)})}function ds(){f(Nn).classList.remove("active"),f(Hn).classList.add("active"),f(hs).cl [...]
+ .${this.className} {
+ position: fixed;
+ display: block;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ background-color: black;
+ z-index: 9999;
+ transition:
+ transform ${this.animationDuration}ms ease-out,
+ opacity ${this.animationDuration/2}ms ${this.animationDuration/2}ms ease-in;
+ transform: translate3d(0, 0, 0) scaleX(var(--progress, 0));
+ transform-origin: 0;
+ }
+ `}show(){this.visible||(this.visible=!0,this.installStyleElement(),this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=Math.min(1,Math.max(this.minValue,e)),this.refresh()}installStyleElement(){document.head.prepend(this.styleElement)}installProgressElement(){this.progressElement.style.setProperty( [...]
+/*! Bundled license information:
+
+lunr/lunr.js:
+ (**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ *)
+ (*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ *)
+ (*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+*/
diff --git a/main/dist/html-erlang-DQDXQC7W.css b/main/dist/html-erlang-DQDXQC7W.css
new file mode 100644
index 0000000..2a7bf5f
--- /dev/null
+++ b/main/dist/html-erlang-DQDXQC7W.css
@@ -0,0 +1,6 @@
+:root{--main: hsl(0, 100%, 44%);--mainDark: hsl(0, 100%, 34%);--mainDarkest: hsl(0, 100%, 24%);--mainLight: hsl(0, 100%, 64%);--mainLightest: hsl(0, 100%, 74%);--searchBarFocusColor: hsl(0, 100%, 50%);--searchBarBorderColor: rgb(255, 71, 71, .1);--link-color: hsl(212, 96%, 45%);--link-visited-color: hsl(212, 96%, 40%)}body.dark{--link-color: hsl(212, 56%, 72%);--link-visited-color: hsl(212, 56%, 67%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url( [...]
+/*! Bundled license information:
+
+modern-normalize/modern-normalize.css:
+ (*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize *)
+*/
diff --git a/main/dist/lato-latin-400-normal-W7754I4D.woff2 b/main/dist/lato-latin-400-normal-W7754I4D.woff2
new file mode 100644
index 0000000..ff60934
Binary files /dev/null and b/main/dist/lato-latin-400-normal-W7754I4D.woff2 differ
diff --git a/main/dist/lato-latin-700-normal-2XVSBPG4.woff2 b/main/dist/lato-latin-700-normal-2XVSBPG4.woff2
new file mode 100644
index 0000000..11de83f
Binary files /dev/null and b/main/dist/lato-latin-700-normal-2XVSBPG4.woff2 differ
diff --git a/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 b/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
new file mode 100644
index 0000000..edb9fa6
Binary files /dev/null and b/main/dist/lato-latin-ext-400-normal-N27NCBWW.woff2 differ
diff --git a/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 b/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
new file mode 100644
index 0000000..2c8aaa8
Binary files /dev/null and b/main/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2 differ
diff --git a/main/dist/remixicon-QPNJX265.woff2 b/main/dist/remixicon-QPNJX265.woff2
new file mode 100644
index 0000000..997d77c
Binary files /dev/null and b/main/dist/remixicon-QPNJX265.woff2 differ
diff --git a/main/dist/search_data-BE868044.js b/main/dist/search_data-BE868044.js
new file mode 100644
index 0000000..a79f75e
--- /dev/null
+++ b/main/dist/search_data-BE868044.js
@@ -0,0 +1 @@
+searchData={"items":[{"type":"module","title":"arrow","doc":"","ref":"arrow.html"},{"type":"behaviour","title":"arrow_array","doc":"Provides a record, a behaviour, and functions to work with Apache Arrow Arrays.\n\nThis module as mentioned, provides conveniences for working with Apache Arrow\n[Arrays](https://arrow.apache.org/docs/format/Glossary.html#term-array) of\ndifferent\n[Layouts](https://arrow.apache.org/docs/format/Glossary.html#term-physical-layout).\nFirstly, it provides a rec [...]
\ No newline at end of file
diff --git a/main/dist/sidebar_items-DDBC4286.js b/main/dist/sidebar_items-DDBC4286.js
new file mode 100644
index 0000000..b5b7f6f
--- /dev/null
+++ b/main/dist/sidebar_items-DDBC4286.js
@@ -0,0 +1 @@
+sidebarNodes={"modules":[{"id":"arrow","deprecated":false,"group":"","title":"arrow","sections":[]},{"id":"arrow_array","deprecated":false,"group":"","title":"arrow_array","sections":[],"nodeGroups":[{"name":"Types","nodes":[{"id":"array/0","deprecated":false,"title":"array()","anchor":"t:array/0"},{"id":"layout/0","deprecated":false,"title":"layout()","anchor":"t:layout/0"}],"key":"types"},{"name":"Callbacks","nodes":[{"id":"from_erlang/2","deprecated":false,"title":"from_erlang(Value, [...]
\ No newline at end of file
diff --git a/main/index.html b/main/index.html
new file mode 100644
index 0000000..55a33a2
--- /dev/null
+++ b/main/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>arrow v0.1.0 — Documentation</title>
+ <meta http-equiv="refresh" content="0; url=readme.html">
+ <meta name="generator" content="ExDoc v0.38.2">
+ </head>
+ <body></body>
+</html>
diff --git a/main/license.html b/main/license.html
new file mode 100644
index 0000000..874aa46
--- /dev/null
+++ b/main/license.html
@@ -0,0 +1,359 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>License — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-extra" id="main" data-type="extras">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>License</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/LICENSE#L1" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+<pre>
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+</pre>
+
+</div>
+
+<div class="bottom-actions" id="bottom-actions">
+ <div class="bottom-actions-item">
+
+ <a href="readme.html" class="bottom-actions-button" rel="prev">
+ <span class="subheader">
+ ← Previous Page
+ </span>
+ <span class="title">
+Overview
+ </span>
+ </a>
+
+ </div>
+ <div class="bottom-actions-item">
+
+ <a href="quick-run-through.html" class="bottom-actions-button" rel="next">
+ <span class="subheader">
+ Next Page →
+ </span>
+ <span class="title">
+Quick Run-Through Guide
+ </span>
+ </a>
+
+ </div>
+</div>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/LICENSE">current file</a>)
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/quick-run-through.html b/main/quick-run-through.html
new file mode 100644
index 0000000..5725619
--- /dev/null
+++ b/main/quick-run-through.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>Quick Run-Through Guide — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-livemd" id="main" data-type="extras">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>Quick run-through</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/guides/quick-run-through.livemd#L1" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+ <div class="livebook-badge-container">
+ <a href="#" class="livebook-badge">
+ <img src="https://livebook.dev/badge/v1/blue.svg" alt="Run in Livebook" width="150" />
+ </a>
+ </div>
+
+
+<pre><code class="makeup elixir" translate="no"><span class="nc">Mix</span><span class="o">.</span><span class="n">install</span><span class="p" data-group-id="7429264539-1">(</span><span class="p" data-group-id="7429264539-2">[</span><span class="w">
+ </span><span class="p" data-group-id="7429264539-3">{</span><span class="ss">:arrow</span><span class="p">,</span><span class="w"> </span><span class="ss">git</span><span class="p">:</span><span class="w"> </span><span class="s">"https://github.com/Benjamin-Philip/arrow.git"</span><span class="p" data-group-id="7429264539-3">}</span><span class="w">
+</span><span class="p" data-group-id="7429264539-2">]</span><span class="p" data-group-id="7429264539-1">)</span></code></pre><h2 id="introduction" class="section-heading"><a href="#introduction" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Introduction</span></h2><p>Serializing Erlang into Arrow typically follows the following sequence of
+events:</p><ol><li>Creating a <a href="https://arrow.apache.org/docs/format/Columnar.html#schema-message">Schema
+Message</a>
+with the schema of the data</li><li>Creating Arrow Arrays for each column in the schema.</li><li>Combining the columns of each batch or table into a <a href="https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message">RecordBatch
+Message</a></li><li>Combining the Schema and all the RecordBatches into an <a href="https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format">IPC
+Stream</a>
+or an <a href="https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format">IPC
+File</a></li></ol><p>Technically, to use the Arrow Columnar Format <em>itself</em> you only need to do
+step 2. The other steps are in order to use <a href="https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc">Arrow
+IPC</a>
+which is an abstraction over the Arrow Columnar Format. IPC specifies a format
+to organize multiple Arrow Arrays, and is the standard choice when you do not
+have your own custom format detailing so.</p><p>For the purposes of illustration, let use assume that we have to export the
+annual marks of a school to Arrow.</p><h2 id="creating-a-schema" class="section-heading"><a href="#creating-a-schema" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Creating a Schema</span></h2><p>The marksheet of each class has 4 columns:</p><ol><li>id, which is the Roll no.</li><li>name, which is the first name of the student</li><li>age, which is the age of the student</li><li>marks, which is a list of all the marks of the student</li></ol><p>Ide [...]
+using a list to show how to manage nested types. We can pretend that the school
+administration is stupid or something.</p><p>First, we must declare a field for each column:</p><pre><code class="makeup erlang" translate="no"><span class="n">IdField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="2165807401-1">(</span><span class="p" data-group-id="2165807401-2">{</span><span class="ss">int</span><span class="p" [...]
+</span><span class="n">NameField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="2165807401-4">(</span><span class="ss">large_binary</span><span class="p">,</span><span class="w"> </span><span class="s">"name"</span><span class="p" data-group-id="2165807401-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">AgeField</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="2165807401-5">(</span><span class="p" data-group-id="2165807401-6">{</span><span class="ss">int</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2165807401-7">#{</span><span class="ss">bit_width</span><span class="w"> [...]
+</span><span class="n">AnnualMarksField</span><span class="w"> </span><span class="o">=</span><span class="w">
+ </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="2165807401-8">(</span><span class="w">
+ </span><span class="p" data-group-id="2165807401-9">{</span><span class="ss">fixed_size_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2165807401-10">#{</span><span class="ss">list_size</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="2165807401-10">}</span><span class="p" data-group-id="2165807401-9">}</span><span class="p">,</span><span class="w"> [...]
+ </span><span class="nc">arrow_ipc_field</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="2165807401-12">(</span><span class="w">
+ </span><span class="p" data-group-id="2165807401-13">{</span><span class="ss">int</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="2165807401-14">#{</span><span class="ss">bit_width</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="ss">is_signed</span><span class="w"> </span><span class="p">=></span><span class="w"> < [...]
+ </span><span class="p" data-group-id="2165807401-12">)</span><span class="w">
+ </span><span class="p" data-group-id="2165807401-11">]</span><span class="w">
+ </span><span class="p" data-group-id="2165807401-8">)</span><span class="p">.</span></code></pre><p>As you may have noticed, the parameters for declaring a field is the field type,
+followed by the field name. Each type may have extra metadata associated with
+it, such as the int. In the case of a nested datatype, we must also include a
+list of the fields that are nested.</p><p>We then must take those fields and combine them into a schema:</p><pre><code class="makeup erlang" translate="no"><span class="n">Schema</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_schema</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="6826869314-1">(</span><span class="p" data-group-id="6826869314-2">[</span><span class="n">IdField</span> [...]
+Let's assume that there are 3 classes, Class1, Class2, and Class3. We must
+create the data for each class separately:</p><p>Here's Class1:</p><pre><code class="makeup erlang" translate="no"><span class="n">Class1Id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="8603024659-1">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="860302465 [...]
+</span><span class="n">Class1Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="8603024659-4">(</span><span class="w">
+ </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8603024659-5">[</span><span class="p" data-group-id="8603024659-6"><<</span><span class="s">"alice"</span><span class="p" data-group-id="8603024659-6">>></span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8603024659-7"><<</span><span class="s">"bob"</span><span class="p" data-group-id=" [...]
+ </span><span class="p" data-group-id="8603024659-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class1Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="8603024659-10">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8603024659-11">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">2 [...]
+</span><span class="n">Class1AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="8603024659-13">(</span><span class="w">
+ </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="8603024659-14">[</span><span class="p" data-group-id="8603024659-15">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">97</span><span class="p">,</span><span class="w"> </span><span class="mi">98</span><span class="p" data-group-id="8603024659-15">]</span><span class="p">,</span><span class="w"> </span><span clas [...]
+ </span><span class="p" data-group-id="8603024659-13">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class1Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="8603024659-19">[</span><span class="n">Class1Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class1AnnualMarks</span><span class="p" data-group-id="8603024659-1 [...]
+</span><span class="n">Class2Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5030738258-4">(</span><span class="w">
+ </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5030738258-5">[</span><span class="p" data-group-id="5030738258-6"><<</span><span class="s">"anne"</span><span class="o">/</span><span class="ss">utf8</span><span class="o">-</span><span class="ss">little</span><span class="p" data-group-id="5030738258-6">>></span><span class="p">,</span><span class="w"> </span><span class="p" data-gro [...]
+ </span><span class="p" data-group-id="5030738258-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5030738258-10">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5030738258-11">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">2 [...]
+</span><span class="n">Class2AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="5030738258-13">(</span><span class="w">
+ </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="5030738258-14">[</span><span class="p" data-group-id="5030738258-15">[</span><span class="mi">90</span><span class="p">,</span><span class="w"> </span><span class="mi">87</span><span class="p">,</span><span class="w"> </span><span class="mi">75</span><span class="p" data-group-id="5030738258-15">]</span><span class="p">,</span><span class="w"> </span><span class [...]
+ </span><span class="p" data-group-id="5030738258-13">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="5030738258-19">[</span><span class="n">Class2Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class2Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class2Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class2AnnualMarks</span><span class="p" data-group-id="5030738258-1 [...]
+</span><span class="n">Class3Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="3954646949-4">(</span><span class="w">
+ </span><span class="ss">variable_binary</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3954646949-5">[</span><span class="p" data-group-id="3954646949-6"><<</span><span class="s">"anjali"</span><span class="p" data-group-id="3954646949-6">>></span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3954646949-7"><<</span><span class="s">"biju"</span><span class="p" data-group-id [...]
+ </span><span class="p" data-group-id="3954646949-4">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="3954646949-10">(</span><span class="ss">fixed_primitive</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3954646949-11">[</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">2 [...]
+</span><span class="n">Class3AnnualMarks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_array</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="3954646949-13">(</span><span class="w">
+ </span><span class="ss">fixed_list</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3954646949-14">[</span><span class="p" data-group-id="3954646949-15">[</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">98</span><span class="p" data-group-id="3954646949-15">]</span><span class="p">,</span><span class="w"> </span><span cla [...]
+ </span><span class="p" data-group-id="3954646949-13">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Columns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p" data-group-id="3954646949-19">[</span><span class="n">Class3Id</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Name</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Age</span><span class="p">,</span><span class="w"> </span><span class="n">Class3AnnualMarks</span><span class="p" data-group-id="3954646949-1 [...]
+case marks from different classes. Another example would marks of the same class
+throughout different years. The columns that make up such a table can be
+combined like so:</p><pre><code class="makeup erlang" translate="no"><span class="n">Class1RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="0909053554-1">(</span><span class="n">Class1Columns</span><span class="p" data-group-id="0909053554-1">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class2RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="0909053554-2">(</span><span class="n">Class2Columns</span><span class="p" data-group-id="0909053554-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3RecordBatch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_record_batch</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="0909053554-3">(</span><span class="n">Class3Columns</span><span class="p" data-group-id="0909053554-3">)</span><span class="p">.</span></code></pre><p>Each of these RecordBatches need a body:</p><pre><code class="makeup erlang" translate [...]
+</span><span class="n">Class2Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">body_from_erlang</span><span class="p" data-group-id="4568588406-2">(</span><span class="n">Class2Columns</span><span class="p" data-group-id="4568588406-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">body_from_erlang</span><span class="p" data-group-id="4568588406-3">(</span><span class="n">Class3Columns</span><span class="p" data-group-id="4568588406-3">)</span><span class="p">.</span></code></pre><p>Which can then be combined into a message:</p><pre><code class="makeup erlang" translate="no"> [...]
+</span><span class="n">Class2Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="4924818188-2">(</span><span class="n">Class2RecordBatch</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Body</span><span class="p" data-group-id="4924818188-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3Msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">from_erlang</span><span class="p" data-group-id="4924818188-3">(</span><span class="n">Class3RecordBatch</span><span class="p">,</span><span class="w"> </span><span class="n">Class3Body</span><span class="p" data-group-id="4924818188-3">)</span><span class="p">.</span></code></pre><p>If we wanted t [...]
+</span><span class="n">Class2EMF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="6022401258-2">(</span><span class="n">Class2Msg</span><span class="p" data-group-id="6022401258-2">)</span><span class="p">,</span><span class="w">
+</span><span class="n">Class3EMF</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="6022401258-3">(</span><span class="n">Class3Msg</span><span class="p" data-group-id="6022401258-3">)</span><span class="p">.</span></code></pre><p>Typically, you wouldn't directly use an encapsulated message but a stream or a file instead.</p><h2 id="comb [...]
+stream and a file. The difference between a stream and a file is thin: a file is
+a superset of the stream which supports random access and is meant to be saved
+to a file.</p><!-- livebook:{"break_markdown":true} --><p>We can create a stream like this:</p><pre><code class="makeup erlang" translate="no"><span class="nc">arrow_ipc_message</span><span class="p">:</span><span class="nf">to_stream</span><span class="p" data-group-id="6359936879-1">(</span><span class="p" data-group-id="6359936879-2">[</span><span class="n">SchemaMsg</span><span class="p">,</span><span class="w"> </span><span class="n">Class1Msg</span><span class="p">,</span><span cla [...]
+</span><span class="n">File</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">arrow_ipc_file</span><span class="p">:</span><span class="nf">to_ipc</span><span class="p" data-group-id="3064964275-3">(</span><span class="n">ErlFile</span><span class="p" data-group-id="3064964275-3">)</span><span class="p">.</span></code></pre><p>We could then save that binary into a file:</p><pre><code class="makeup erlang" translate="no"><span class="nc">file</ [...]
+
+</div>
+
+<div class="bottom-actions" id="bottom-actions">
+ <div class="bottom-actions-item">
+
+ <a href="license.html" class="bottom-actions-button" rel="prev">
+ <span class="subheader">
+ ← Previous Page
+ </span>
+ <span class="title">
+License
+ </span>
+ </a>
+
+ </div>
+ <div class="bottom-actions-item">
+
+ </div>
+</div>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/guides/quick-run-through.livemd">current file</a>)
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/quick-run-through.livemd b/main/quick-run-through.livemd
new file mode 100644
index 0000000..a3d6220
--- /dev/null
+++ b/main/quick-run-through.livemd
@@ -0,0 +1,214 @@
+<!-- -*- mode: markdown; fill-column: 80; -*- -->
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Quick run-through
+
+```elixir
+Mix.install([
+ {:arrow, git: "https://github.com/Benjamin-Philip/arrow.git"}
+])
+```
+
+## Introduction
+
+Serializing Erlang into Arrow typically follows the following sequence of
+events:
+
+1. Creating a [Schema
+ Message](https://arrow.apache.org/docs/format/Columnar.html#schema-message)
+ with the schema of the data
+2. Creating Arrow Arrays for each column in the schema.
+3. Combining the columns of each batch or table into a [RecordBatch
+ Message](https://arrow.apache.org/docs/format/Columnar.html#recordbatch-message)
+4. Combining the Schema and all the RecordBatches into an [IPC
+ Stream](https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format)
+ or an [IPC
+ File](https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format)
+
+Technically, to use the Arrow Columnar Format *itself* you only need to do
+step 2. The other steps are in order to use [Arrow
+IPC](https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc)
+which is an abstraction over the Arrow Columnar Format. IPC specifies a format
+to organize multiple Arrow Arrays, and is the standard choice when you do not
+have your own custom format detailing so.
+
+For the purposes of illustration, let use assume that we have to export the
+annual marks of a school to Arrow.
+
+## Creating a Schema
+
+The marksheet of each class has 4 columns:
+
+1. id, which is the Roll no.
+2. name, which is the first name of the student
+3. age, which is the age of the student
+4. marks, which is a list of all the marks of the student
+
+Ideally the marks should've been split into columns for each subject, but we are
+using a list to show how to manage nested types. We can pretend that the school
+administration is stupid or something.
+
+First, we must declare a field for each column:
+
+```erlang
+IdField = arrow_ipc_field:from_erlang({int, #{bit_width => 8, is_signed => true}}, "id"),
+NameField = arrow_ipc_field:from_erlang(large_binary, "name"),
+AgeField = arrow_ipc_field:from_erlang({int, #{bit_width => 8, is_signed => false}}, "age"),
+AnnualMarksField =
+ arrow_ipc_field:from_erlang(
+ {fixed_size_list, #{list_size => 3}}, "annual_marks", [
+ arrow_ipc_field:from_erlang(
+ {int, #{bit_width => 8, is_signed => false}}
+ )
+ ]
+ ).
+```
+
+As you may have noticed, the parameters for declaring a field is the field type,
+followed by the field name. Each type may have extra metadata associated with
+it, such as the int. In the case of a nested datatype, we must also include a
+list of the fields that are nested.
+
+We then must take those fields and combine them into a schema:
+
+```erlang
+Schema = arrow_ipc_schema:from_erlang([IdField, NameField, AgeField, AnnualMarksField]).
+```
+
+And that schema into a message:
+
+```erlang
+SchemaMsg = arrow_ipc_message:from_erlang(Schema).
+```
+
+## Creating Arrow Arrays
+
+Now that we've got a schema, it is time to create the data for that schema.
+Let's assume that there are 3 classes, Class1, Class2, and Class3. We must
+create the data for each class separately:
+
+Here's Class1:
+
+```erlang
+Class1Id = arrow_array:from_erlang(fixed_primitive, [0, 1, 2, undefined], {s, 8}),
+Class1Name = arrow_array:from_erlang(
+ variable_binary, [<<"alice">>, <<"bob">>, <<"charlie">>, undefined], {bin, undefined}
+ ),
+Class1Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30, undefined], {s, 8}),
+Class1AnnualMarks = arrow_array:from_erlang(
+ fixed_list, [[100, 97, 98], [100, 99, 96], [100, 98, 95], undefined], {s, 8}
+ ),
+Class1Columns = [Class1Id, Class1Name, Class1Age, Class1AnnualMarks].
+```
+
+Class2:
+
+```erlang
+Class2Id = arrow_array:from_erlang(fixed_primitive, [3, 4, 5], {s, 8}),
+Class2Name = arrow_array:from_erlang(
+ variable_binary, [<<"anne"/utf8-little>>, <<"benoît"/utf8-little>>, <<"clément"/utf8-little>>], {bin, undefined}
+ ),
+Class2Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30], {s, 8}),
+Class2AnnualMarks = arrow_array:from_erlang(
+ fixed_list, [[90, 87, 75], [85, 99, 96], [75, 88, 60]], {s, 8}
+ ),
+Class2Columns = [Class2Id, Class2Name, Class2Age, Class2AnnualMarks].
+```
+
+Class3:
+
+```erlang
+Class3Id = arrow_array:from_erlang(fixed_primitive, [6, 7, 8], {s, 8}),
+Class3Name = arrow_array:from_erlang(
+ variable_binary, [<<"anjali">>, <<"biju">>, <<"chandra">>], {bin, undefined}
+ ),
+Class3Age = arrow_array:from_erlang(fixed_primitive, [10, 20, 30], {s, 8}),
+Class3AnnualMarks = arrow_array:from_erlang(
+ fixed_list, [[100, 100, 98], [100, 100, 100], [99, 98, 97]], {s, 8}
+ ),
+Class3Columns = [Class3Id, Class3Name, Class3Age, Class3AnnualMarks].
+```
+
+## Combining Data into a RecordBatch
+
+RecordBatches are used to model different data with the same schema. In this
+case marks from different classes. Another example would marks of the same class
+throughout different years. The columns that make up such a table can be
+combined like so:
+
+```erlang
+Class1RecordBatch = arrow_ipc_record_batch:from_erlang(Class1Columns),
+Class2RecordBatch = arrow_ipc_record_batch:from_erlang(Class2Columns),
+Class3RecordBatch = arrow_ipc_record_batch:from_erlang(Class3Columns).
+```
+
+Each of these RecordBatches need a body:
+
+```erlang
+Class1Msg = arrow_ipc_message:body_from_erlang(Class1Columns),
+Class2Msg = arrow_ipc_message:body_from_erlang(Class2Columns),
+Class3Msg = arrow_ipc_message:body_from_erlang(Class3Columns).
+```
+
+Which can then be combined into a message:
+
+```erlang
+Class1Msg = arrow_ipc_message:from_erlang(Class1RecordBatch, Class1Body),
+Class2Msg = arrow_ipc_message:from_erlang(Class2RecordBatch, Class3Body),
+Class3Msg = arrow_ipc_message:from_erlang(Class3RecordBatch, Class3Body).
+```
+
+If we wanted to, we could serialize these messages into an [Encapsulated message](https://arrow.apache.org/docs/format/Columnar.html#encapsulated-message-format):
+
+```erlang
+Class1EMF = arrow_ipc_message:to_ipc(Class1Msg),
+Class2EMF = arrow_ipc_message:to_ipc(Class2Msg),
+Class3EMF = arrow_ipc_message:to_ipc(Class3Msg).
+```
+
+Typically, you wouldn't directly use an encapsulated message but a stream or a file instead.
+
+## Combining Messages into Streams and Files
+
+Now that we have a schema and some record batches, we can combine them into a
+stream and a file. The difference between a stream and a file is thin: a file is
+a superset of the stream which supports random access and is meant to be saved
+to a file.
+
+<!-- livebook:{"break_markdown":true} -->
+
+We can create a stream like this:
+
+```erlang
+arrow_ipc_message:to_stream([SchemaMsg, Class1Msg, Class2Msg, Class3Msg]).
+```
+
+Or a file like this:
+
+```erlang
+ErlFile = arrow_ipc_file:from_erlang(SchemaMsg, [Class1Msg, Class2Msg, Class3Msg]),
+File = arrow_ipc_file:to_ipc(ErlFile).
+```
+
+We could then save that binary into a file:
+
+```erlang
+file:write_file("/tmp/annual_marks.feather", File).
+```
diff --git a/main/readme.html b/main/readme.html
new file mode 100644
index 0000000..1bf7f64
--- /dev/null
+++ b/main/readme.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <title>Overview — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-extra" id="main" data-type="extras">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="top-content">
+ <div class="heading-with-actions top-heading">
+ <h1>arrow-erlang</h1>
+
+
+ <a href="https://github.com/apache/arrow-erlang/blob/v0.1.0/README.md#L1" title="View Source" class="icon-action" rel="help">
+ <i class="ri-code-s-slash-line" aria-hidden="true"></i>
+ <span class="sr-only">View Source</span>
+ </a>
+
+ </div>
+
+
+<p>Erlang implementation of the <a href="https://arrow.apache.org/">Apache Arrow</a> in-memory
+columnar format.</p><p>As of right now, <code class="inline">arrow-erlang</code> only provides serialization (write) of Erlang
+data structures into to Arrow. Support for deserialization (read) will be added
+soon.</p><p>We provide support for the <a href="https://arrow.apache.org/docs/format/Columnar.html#physical-memory-layout">Apache Arrow Columnar
+Format</a>
+and the <a href="https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc">Apache Arrow IPC
+Format</a>.
+Support for <a href="https://arrow.apache.org/docs/format/Flight.html">Flight RPC</a>,
+<a href="https://arrow.apache.org/docs/format/FlightSql.html">Flight SQL</a>, as well
+conversion of Arrow into other formats like <a href="https://parquet.apache.org/">Apache
+Parquet</a>, <a href="https://avro.apache.org/">Apache Avro</a>,
+CSV and JSON is out of the scope of the project.</p><h2 id="build" class="section-heading"><a href="#build" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Build</span></h2><p>In addition to an Erlang installation, you will need a Rust installation with
+<code class="inline">cargo</code>. You can then add the following to your rebar.config:</p><pre><code class="makeup erlang" translate="no"><span class="p" data-group-id="6677004767-1">{</span><span class="ss">arrow</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6677004767-2">{</span><span class="ss">git</span><span class="p">,</span><span class="w"> </span><span class="s">"https://github.com/apache/arrow-erlang.git"</span><span class="p" da [...]
+</span></code></pre><h2 id="format-support" class="section-heading"><a href="#format-support" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Format Support</span></h2><p>This implementation is still a work in progress. As mentioned earlier, we do not
+have read functionality as of right now, only write.</p><p>We support the following primitive data types:</p><ul><li>Int 8/16/32/64</li><li>UInt 8/16/32/64</li><li>Float 32/64</li><li>Fixed Size Binary</li><li>Binary</li><li>Large Binary</li></ul><p>and the following nested data types:</p><ul><li>Fixed Size List</li><li>List</li><li>Large List</li></ul><p>support for the other data types (both primitive and nested) will be added soon.</p><h2 id="ipc-format-support" class="section-heading [...]
+
+</div>
+
+<div class="bottom-actions" id="bottom-actions">
+ <div class="bottom-actions-item">
+
+ </div>
+ <div class="bottom-actions-item">
+
+ <a href="license.html" class="bottom-actions-button" rel="next">
+ <span class="subheader">
+ Next Page →
+ </span>
+ <span class="title">
+License
+ </span>
+ </a>
+
+ </div>
+</div>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ (<a href="https://preview.hex.pm/preview/arrow/0.1.0/show/README.md">current file</a>)
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>
diff --git a/main/search.html b/main/search.html
new file mode 100644
index 0000000..99f7eb9
--- /dev/null
+++ b/main/search.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="generator" content="ExDoc v0.38.2">
+ <meta name="project" content="arrow v0.1.0">
+
+
+ <meta name="robots" content="noindex">
+
+ <title>Search — arrow v0.1.0</title>
+
+ <link rel="stylesheet" href="dist/html-erlang-DQDXQC7W.css" />
+
+ <script defer src="dist/sidebar_items-DDBC4286.js"></script>
+ <script defer src="docs_config.js"></script>
+ <script defer src="dist/html-DPJLHKSM.js"></script>
+
+ </head>
+ <body>
+ <script>(()=>{var t="ex_doc:settings",e="dark";var o="dark",s="light";var E="sidebar_state",n="closed";var r="sidebar_width";var a="sidebar-open";var i=new URLSearchParams(window.location.search),S=i.get("theme")||JSON.parse(localStorage.getItem(t)||"{}").theme;(S===o||S!==s&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&document.body.classList.add(e);var d=sessionStorage.getItem(E),A=d!==n&&!window.matchMedia(`screen and (max-width: ${768}px)`).matches;document.body.cl [...]
+</script>
+
+<div class="body-wrapper">
+
+<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
+ <i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
+</button>
+
+<nav id="sidebar" class="sidebar">
+
+ <div class="sidebar-header">
+ <div class="sidebar-projectInfo">
+
+ <div>
+ <a href="https://github.com/apache/arrow-erlang" class="sidebar-projectName" translate="no">
+arrow
+ </a>
+ <div class="sidebar-projectVersion" translate="no">
+ v0.1.0
+ </div>
+ </div>
+ </div>
+ <ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist" data-extras=""></ul>
+ </div>
+</nav>
+
+<output role="status" id="toast"></output>
+
+<main class="content page-search" id="main" data-type="search">
+ <div id="content" class="content-inner">
+ <div class="top-search">
+ <div class="search-settings">
+ <form class="search-bar" action="search.html">
+ <label class="search-label">
+ <span class="sr-only">Search documentation of arrow</span>
+ <input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
+ </label>
+ <button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
+ <i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
+ </button>
+ <button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
+ <i class="ri-close-line ri-lg" title="Cancel search"></i>
+ </button>
+ </form>
+ <div class="autocomplete">
+ </div>
+ <button class="icon-settings display-settings">
+ <i class="ri-settings-3-line"></i>
+ <span class="sr-only">Settings</span>
+ </button>
+ </div>
+ </div>
+
+<div id="search">
+ <h1>
+ <span></span>
+ </h1>
+
+ <div class="loading"><div></div><div></div><div></div><div></div></div>
+</div>
+<script src="dist/search_data-BE868044.js"></script>
+ <footer class="footer">
+ <p>
+
+ <span class="line">
+ <a href="https://hex.pm/packages/arrow/0.1.0" class="footer-hex-package">Hex Package</a>
+
+ <a href="https://preview.hex.pm/preview/arrow/0.1.0">Hex Preview</a>
+
+ </span>
+
+ <span class="line">
+ <button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
+ Search HexDocs
+ </button>
+
+ <a href="arrow.epub" title="ePub version">
+ Download ePub version
+ </a>
+
+ </span>
+ </p>
+
+ <p class="built-using">
+ Built using
+ <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.38.2) for the
+
+ <a href="https://erlang.org" title="Erlang" target="_blank" translate="no">Erlang programming language</a>
+
+ </p>
+
+ </footer>
+ </div>
+</main>
+</div>
+
+ </body>
+</html>