| <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A generic trait for accessing the values of an `Array`"><title>ArrayAccessor in arrow_array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="arrow_array" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.0-nightly (20383c9f1 2025-11-03)" data-channel="nightly" data-search-js="search-5c29b3b5.js" data-stringdex-js="stringdex-c3e638e9.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="icon" href="https://arrow.apache.org/img/arrow-logo_chevrons_black-txt_transparent-bg.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">ArrayAccessor</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../arrow_array/index.html"><img src="https://arrow.apache.org/img/arrow-logo_chevrons_black-txt_white-bg.svg" alt="logo"></a><h2><a href="../../arrow_array/index.html">arrow_<wbr>array</a><span class="version">57.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Array<wbr>Accessor</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li><li><a href="#validity" title="Validity">Validity</a></li></ul><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Item" title="Item">Item</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.value" title="value">value</a></li><li><a href="#tymethod.value_unchecked" title="value_unchecked">value_unchecked</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In arrow_<wbr>array::<wbr>array</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">arrow_array</a>::<wbr><a href="index.html">array</a></div><h1>Trait <span class="trait">Array<wbr>Accessor</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/arrow_array/array/mod.rs.html#574-587">Source</a> </span></div><pre class="rust item-decl"><code>pub trait ArrayAccessor: <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a> { |
| type <a href="#associatedtype.Item" class="associatedtype">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>; |
| |
| // Required methods |
| fn <a href="#tymethod.value" class="fn">value</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a>; |
| <span class="item-spacer"></span> unsafe fn <a href="#tymethod.value_unchecked" class="fn">value_unchecked</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a>; |
| }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A generic trait for accessing the values of an <a href="trait.Array.html" title="trait arrow_array::array::Array"><code>Array</code></a></p> |
| <p>This trait helps write specialized implementations of algorithms for |
| different array types. Specialized implementations allow the compiler |
| to optimize the code for the specific array type, which can lead to |
| significant performance improvements.</p> |
| <h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2> |
| <p>For example, to write three different implementations of a string length function |
| for <a href="type.StringArray.html" title="type arrow_array::array::StringArray"><code>StringArray</code></a>, <a href="type.LargeStringArray.html" title="type arrow_array::array::LargeStringArray"><code>LargeStringArray</code></a>, and <a href="type.StringViewArray.html" title="type arrow_array::array::StringViewArray"><code>StringViewArray</code></a>, you can write</p> |
| |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="doccomment">/// This function takes a dynamically typed `ArrayRef` and calls |
| /// calls one of three specialized implementations |
| </span><span class="kw">fn </span>character_length(arg: ArrayRef) -> <span class="prelude-ty">Result</span><ArrayRef, ArrowError> { |
| <span class="kw">match </span>arg.data_type() { |
| DataType::Utf8 => { |
| <span class="comment">// downcast the ArrayRef to a StringArray and call the specialized implementation |
| </span><span class="kw">let </span>string_array = arg.as_string::<i32>(); |
| character_length_general::<Int32Type, <span class="kw">_</span>>(string_array) |
| } |
| DataType::LargeUtf8 => { |
| character_length_general::<Int64Type, <span class="kw">_</span>>(arg.as_string::<i64>()) |
| } |
| DataType::Utf8View => { |
| character_length_general::<Int32Type, <span class="kw">_</span>>(arg.as_string_view()) |
| } |
| <span class="kw">_ </span>=> <span class="prelude-val">Err</span>(ArrowError::InvalidArgumentError(<span class="string">"Unsupported data type"</span>.to_string())), |
| } |
| } |
| |
| <span class="doccomment">/// A generic implementation of the character_length function |
| /// This function uses the `ArrayAccessor` trait to access the values of the array |
| /// so the compiler can generated specialized implementations for different array types |
| /// |
| /// Returns a new array with the length of each string in the input array |
| /// * Int32Array for Utf8 and Utf8View arrays (lengths are 32-bit integers) |
| /// * Int64Array for LargeUtf8 arrays (lengths are 64-bit integers) |
| /// |
| /// This is generic on the type of the primitive array (different string arrays have |
| /// different lengths) and the type of the array accessor (different string arrays |
| /// have different ways to access the values) |
| </span><span class="kw">fn </span>character_length_general<<span class="lifetime">'a</span>, T: ArrowPrimitiveType, V: ArrayAccessor<Item = <span class="kw-2">&</span><span class="lifetime">'a </span>str>>( |
| array: V, |
| ) -> <span class="prelude-ty">Result</span><ArrayRef, ArrowError> |
| <span class="kw">where |
| </span>T::Native: OffsetSizeTrait, |
| { |
| <span class="kw">let </span>iter = ArrayIter::new(array); |
| <span class="comment">// Create a Int32Array / Int64Array with the length of each string |
| </span><span class="kw">let </span>result = iter |
| .map(|string| { |
| string.map(|string: <span class="kw-2">&</span>str| { |
| T::Native::from_usize(string.chars().count()) |
| .expect(<span class="string">"should not fail as string.chars will always return integer"</span>) |
| }) |
| }) |
| .collect::<PrimitiveArray<T>>(); |
| |
| <span class="doccomment">/// Return the result as a new ArrayRef (dynamically typed) |
| </span><span class="prelude-val">Ok</span>(Arc::new(result) <span class="kw">as </span>ArrayRef) |
| }</code></pre></div><h2 id="validity"><a class="doc-anchor" href="#validity">§</a>Validity</h2> |
| <p>An <a href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor"><code>ArrayAccessor</code></a> must always return a well-defined value for an index |
| that is within the bounds <code>0..Array::len</code>, including for null indexes where |
| <a href="trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null"><code>Array::is_null</code></a> is true.</p> |
| <p>The value at null indexes is unspecified, and implementations must not rely |
| on a specific value such as <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" title="associated function core::default::Default::default"><code>Default::default</code></a> being returned, however, it |
| must not be undefined</p> |
| </div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Item" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#576">Source</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a></h4></section></summary><div class="docblock"><p>The Arrow type of the element being accessed.</p> |
| </div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.value" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#581">Source</a><h4 class="code-header">fn <a href="#tymethod.value" class="fn">value</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class="docblock"><p>Returns the element at index <code>i</code></p> |
| <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5> |
| <p>Panics if the value is outside the bounds of the array</p> |
| </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.value_unchecked" class="method"><a class="src rightside" href="../../src/arrow_array/array/mod.rs.html#586">Source</a><h4 class="code-header">unsafe fn <a href="#tymethod.value_unchecked" class="fn">value_unchecked</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class="docblock"><p>Returns the element at index <code>i</code></p> |
| <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5> |
| <p>Caller is responsible for ensuring that the index is within the bounds of the array</p> |
| </div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26BooleanArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#350-360">Source</a><a href="#impl-ArrayAccessor-for-%26BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.BooleanArray.html" title="struct arrow_array::array::BooleanArray">BooleanArray</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/boolean_array.rs.html#351">Source</a><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26FixedSizeListArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#471-481">Source</a><a href="#impl-ArrayAccessor-for-%26FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.FixedSizeListArray.html" title="struct arrow_array::array::FixedSizeListArray">FixedSizeListArray</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#472">Source</a><a href="#associatedtype.Item-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26MapArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#424-434">Source</a><a href="#impl-ArrayAccessor-for-%26MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.MapArray.html" title="struct arrow_array::array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-3" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/map_array.rs.html#425">Source</a><a href="#associatedtype.Item-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="struct.StructArray.html" title="struct arrow_array::array::StructArray">StructArray</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-FixedSizeListArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#449-459">Source</a><a href="#impl-ArrayAccessor-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for <a class="struct" href="struct.FixedSizeListArray.html" title="struct arrow_array::array::FixedSizeListArray">FixedSizeListArray</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-4" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_list_array.rs.html#450">Source</a><a href="#associatedtype.Item-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26FixedSizeBinaryArray" class="impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#651-661">Source</a><a href="#impl-ArrayAccessor-for-%26FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &'a <a class="struct" href="struct.FixedSizeBinaryArray.html" title="struct arrow_array::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-5" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/fixed_size_binary_array.rs.html#652">Source</a><a href="#associatedtype.Item-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#930-960">Source</a><a href="#impl-ArrayAccessor-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl<'a, K, V> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for <a class="struct" href="struct.TypedDictionaryArray.html" title="struct arrow_array::array::TypedDictionaryArray">TypedDictionaryArray</a><'a, K, V><div class="where">where |
| K: <a class="trait" href="../types/trait.ArrowDictionaryKeyType.html" title="trait arrow_array::types::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>, |
| V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, |
| <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a>: <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>, |
| <<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a> as <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>>::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-6" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/dictionary_array.rs.html#937">Source</a><a href="#associatedtype.Item-6" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a> as <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>>::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#625-648">Source</a><a href="#impl-ArrayAccessor-for-TypedRunArray%3C'a,+R,+V%3E" class="anchor">§</a><h3 class="code-header">impl<'a, R, V> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for <a class="struct" href="struct.TypedRunArray.html" title="struct arrow_array::array::TypedRunArray">TypedRunArray</a><'a, R, V><div class="where">where |
| R: <a class="trait" href="../types/trait.RunEndIndexType.html" title="trait arrow_array::types::RunEndIndexType">RunEndIndexType</a>, |
| V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, |
| <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a>: <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>, |
| <<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a> as <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>>::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-7" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/run_array.rs.html#632">Source</a><a href="#associatedtype.Item-7" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a V</a> as <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a>>::<a class="associatedtype" href="trait.ArrayAccessor.html#associatedtype.Item" title="type arrow_array::array::ArrayAccessor::Item">Item</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26GenericByteArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#529-539">Source</a><a href="#impl-ArrayAccessor-for-%26GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &'a <a class="struct" href="struct.GenericByteArray.html" title="struct arrow_array::array::GenericByteArray">GenericByteArray</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-8" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_array.rs.html#530">Source</a><a href="#associatedtype.Item-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &'a <T as <a class="trait" href="../types/trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType">ByteArrayType</a>>::<a class="associatedtype" href="../types/trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType::Native">Native</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26GenericByteViewArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#850-860">Source</a><a href="#impl-ArrayAccessor-for-%26GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="../types/trait.ByteViewType.html" title="trait arrow_array::types::ByteViewType">ByteViewType</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &'a <a class="struct" href="struct.GenericByteViewArray.html" title="struct arrow_array::array::GenericByteViewArray">GenericByteViewArray</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-9" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/byte_view_array.rs.html#851">Source</a><a href="#associatedtype.Item-9" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &'a <T as <a class="trait" href="../types/trait.ByteViewType.html" title="trait arrow_array::types::ByteViewType">ByteViewType</a>>::<a class="associatedtype" href="../types/trait.ByteViewType.html#associatedtype.Native" title="type arrow_array::types::ByteViewType::Native">Native</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26GenericListArray%3COffsetSize%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#597-607">Source</a><a href="#impl-ArrayAccessor-for-%26GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl<OffsetSize: <a class="trait" href="trait.OffsetSizeTrait.html" title="trait arrow_array::array::OffsetSizeTrait">OffsetSizeTrait</a>> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.GenericListArray.html" title="struct arrow_array::array::GenericListArray">GenericListArray</a><OffsetSize></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-10" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/list_array.rs.html#598">Source</a><a href="#associatedtype.Item-10" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26GenericListViewArray%3COffsetSize%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/list_view_array.rs.html#362-372">Source</a><a href="#impl-ArrayAccessor-for-%26GenericListViewArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl<OffsetSize: <a class="trait" href="trait.OffsetSizeTrait.html" title="trait arrow_array::array::OffsetSizeTrait">OffsetSizeTrait</a>> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.GenericListViewArray.html" title="struct arrow_array::array::GenericListViewArray">GenericListViewArray</a><OffsetSize></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-11" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/list_view_array.rs.html#363">Source</a><a href="#associatedtype.Item-11" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="trait.Array.html" title="trait arrow_array::array::Array">Array</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArrayAccessor-for-%26PrimitiveArray%3CT%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1254-1265">Source</a><a href="#impl-ArrayAccessor-for-%26PrimitiveArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>> <a class="trait" href="trait.ArrayAccessor.html" title="trait arrow_array::array::ArrayAccessor">ArrayAccessor</a> for &<a class="struct" href="struct.PrimitiveArray.html" title="struct arrow_array::array::PrimitiveArray">PrimitiveArray</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-12" class="associatedtype trait-impl"><a class="src rightside" href="../../src/arrow_array/array/primitive_array.rs.html#1255">Source</a><a href="#associatedtype.Item-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = <T as <a class="trait" href="../types/trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a>>::<a class="associatedtype" href="../types/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow_array::types::ArrowPrimitiveType::Native">Native</a></h4></section></div></details></div><script src="../../trait.impl/arrow_array/array/trait.ArrayAccessor.js" async></script></section></div></main></body></html> |