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 2024/10/21 13:11:24 UTC

(arrow-rs) 01/01: deploy: 20433530e7f60fa9ff45ae7c51c3e5ab27c7a2d0

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

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

commit 9c7d4c1233dbc9ab1f3aecf6d0e0a521fbf18a07
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Mon Oct 21 13:11:04 2024 +0000

    deploy: 20433530e7f60fa9ff45ae7c51c3e5ab27c7a2d0
---
 .asf.yaml                                          |    52 +
 .lock                                              |     0
 .nojekyll                                          |     0
 arrow/all.html                                     |     1 +
 arrow/alloc/constant.ALIGNMENT.html                |     2 +
 arrow/alloc/index.html                             |     3 +
 arrow/alloc/sidebar-items.js                       |     1 +
 arrow/alloc/trait.Allocation.html                  |     7 +
 arrow/array/array/fn.make_array.html               |     3 +
 arrow/array/array/fn.new_empty_array.html          |    11 +
 arrow/array/array/fn.new_null_array.html           |    12 +
 arrow/array/array/index.html                       |     7 +
 arrow/array/array/sidebar-items.js                 |     1 +
 arrow/array/array/struct.BooleanArray.html         |   123 +
 arrow/array/array/struct.DictionaryArray.html      |   231 +
 arrow/array/array/struct.FixedSizeBinaryArray.html |   157 +
 arrow/array/array/struct.FixedSizeListArray.html   |   159 +
 arrow/array/array/struct.GenericByteArray.html     |   210 +
 arrow/array/array/struct.GenericByteViewArray.html |   269 +
 arrow/array/array/struct.GenericListArray.html     |   166 +
 arrow/array/array/struct.GenericListViewArray.html |   113 +
 arrow/array/array/struct.MapArray.html             |    95 +
 arrow/array/array/struct.NativeAdapter.html        |    31 +
 arrow/array/array/struct.NullArray.html            |    48 +
 arrow/array/array/struct.PrimitiveArray.html       |   454 +
 arrow/array/array/struct.RunArray.html             |   129 +
 arrow/array/array/struct.StructArray.html          |   126 +
 arrow/array/array/struct.TypedDictionaryArray.html |    66 +
 arrow/array/array/struct.TypedRunArray.html        |    69 +
 arrow/array/array/struct.UnionArray.html           |   173 +
 arrow/array/array/trait.AnyDictionaryArray.html    |    50 +
 arrow/array/array/trait.Array.html                 |   189 +
 arrow/array/array/trait.ArrayAccessor.html         |    93 +
 arrow/array/array/trait.ArrowPrimitiveType.html    |    18 +
 arrow/array/array/trait.OffsetSizeTrait.html       |    12 +
 arrow/array/array/type.ArrayRef.html               |     2 +
 arrow/array/array/type.BinaryArray.html            |    32 +
 arrow/array/array/type.BinaryViewArray.html        |     7 +
 arrow/array/array/type.Date32Array.html            |     4 +
 arrow/array/array/type.Date64Array.html            |     4 +
 arrow/array/array/type.Decimal128Array.html        |    12 +
 arrow/array/array/type.Decimal256Array.html        |    13 +
 .../array/array/type.DurationMicrosecondArray.html |     2 +
 .../array/array/type.DurationMillisecondArray.html |     2 +
 .../array/array/type.DurationNanosecondArray.html  |     2 +
 arrow/array/array/type.DurationSecondArray.html    |     2 +
 arrow/array/array/type.Float16Array.html           |    16 +
 arrow/array/array/type.Float32Array.html           |    12 +
 arrow/array/array/type.Float64Array.html           |    12 +
 arrow/array/array/type.GenericBinaryArray.html     |     2 +
 arrow/array/array/type.GenericStringArray.html     |     2 +
 arrow/array/array/type.Int16Array.html             |    12 +
 arrow/array/array/type.Int16DictionaryArray.html   |     9 +
 arrow/array/array/type.Int16RunArray.html          |     8 +
 arrow/array/array/type.Int32Array.html             |    12 +
 arrow/array/array/type.Int32DictionaryArray.html   |     9 +
 arrow/array/array/type.Int32RunArray.html          |     8 +
 arrow/array/array/type.Int64Array.html             |    12 +
 arrow/array/array/type.Int64DictionaryArray.html   |     9 +
 arrow/array/array/type.Int64RunArray.html          |     8 +
 arrow/array/array/type.Int8Array.html              |    12 +
 arrow/array/array/type.Int8DictionaryArray.html    |     9 +
 arrow/array/array/type.IntervalDayTimeArray.html   |    10 +
 .../array/type.IntervalMonthDayNanoArray.html      |    10 +
 arrow/array/array/type.IntervalYearMonthArray.html |     9 +
 arrow/array/array/type.LargeBinaryArray.html       |    31 +
 arrow/array/array/type.LargeListArray.html         |     2 +
 arrow/array/array/type.LargeListViewArray.html     |     2 +
 arrow/array/array/type.LargeStringArray.html       |    17 +
 arrow/array/array/type.ListArray.html              |     2 +
 arrow/array/array/type.ListViewArray.html          |     2 +
 arrow/array/array/type.StringArray.html            |    16 +
 arrow/array/array/type.StringViewArray.html        |     7 +
 arrow/array/array/type.Time32MillisecondArray.html |     4 +
 arrow/array/array/type.Time32SecondArray.html      |     4 +
 arrow/array/array/type.Time64MicrosecondArray.html |     4 +
 arrow/array/array/type.Time64NanosecondArray.html  |     4 +
 .../array/type.TimestampMicrosecondArray.html      |     3 +
 .../array/type.TimestampMillisecondArray.html      |     3 +
 .../array/array/type.TimestampNanosecondArray.html |     3 +
 arrow/array/array/type.TimestampSecondArray.html   |    33 +
 arrow/array/array/type.UInt16Array.html            |    12 +
 arrow/array/array/type.UInt16DictionaryArray.html  |     9 +
 arrow/array/array/type.UInt32Array.html            |    12 +
 arrow/array/array/type.UInt32DictionaryArray.html  |     9 +
 arrow/array/array/type.UInt64Array.html            |    12 +
 arrow/array/array/type.UInt64DictionaryArray.html  |     9 +
 arrow/array/array/type.UInt8Array.html             |    12 +
 arrow/array/array/type.UInt8DictionaryArray.html   |     9 +
 arrow/array/builder/fn.make_builder.html           |     8 +
 arrow/array/builder/fn.make_view.html              |     5 +
 arrow/array/builder/index.html                     |   108 +
 arrow/array/builder/sidebar-items.js               |     1 +
 .../array/builder/struct.BooleanBufferBuilder.html |    48 +
 arrow/array/builder/struct.BooleanBuilder.html     |    70 +
 arrow/array/builder/struct.BufferBuilder.html      |   173 +
 .../builder/struct.FixedSizeBinaryBuilder.html     |    49 +
 .../array/builder/struct.FixedSizeListBuilder.html |    92 +
 arrow/array/builder/struct.GenericByteBuilder.html |    83 +
 .../struct.GenericByteDictionaryBuilder.html       |   124 +
 .../builder/struct.GenericByteRunBuilder.html      |    95 +
 .../builder/struct.GenericByteViewBuilder.html     |   125 +
 arrow/array/builder/struct.GenericListBuilder.html |   163 +
 arrow/array/builder/struct.MapBuilder.html         |    87 +
 arrow/array/builder/struct.MapFieldNames.html      |    24 +
 arrow/array/builder/struct.NullBuilder.html        |    46 +
 arrow/array/builder/struct.PrimitiveBuilder.html   |    88 +
 .../builder/struct.PrimitiveDictionaryBuilder.html |   135 +
 .../array/builder/struct.PrimitiveRunBuilder.html  |    89 +
 arrow/array/builder/struct.StructBuilder.html      |   118 +
 arrow/array/builder/struct.UnionBuilder.html       |    69 +
 arrow/array/builder/trait.ArrayBuilder.html        |    86 +
 arrow/array/builder/type.BinaryBuilder.html        |     3 +
 .../builder/type.BinaryDictionaryBuilder.html      |    29 +
 arrow/array/builder/type.BinaryRunBuilder.html     |    26 +
 arrow/array/builder/type.BinaryViewBuilder.html    |    15 +
 arrow/array/builder/type.Date32BufferBuilder.html  |     2 +
 arrow/array/builder/type.Date32Builder.html        |     2 +
 arrow/array/builder/type.Date64BufferBuilder.html  |     2 +
 arrow/array/builder/type.Date64Builder.html        |     2 +
 .../builder/type.Decimal128BufferBuilder.html      |     2 +
 arrow/array/builder/type.Decimal128Builder.html    |     2 +
 .../builder/type.Decimal256BufferBuilder.html      |     2 +
 arrow/array/builder/type.Decimal256Builder.html    |     2 +
 .../type.DurationMicrosecondBufferBuilder.html     |     2 +
 .../builder/type.DurationMicrosecondBuilder.html   |     2 +
 .../type.DurationMillisecondBufferBuilder.html     |     2 +
 .../builder/type.DurationMillisecondBuilder.html   |     2 +
 .../type.DurationNanosecondBufferBuilder.html      |     2 +
 .../builder/type.DurationNanosecondBuilder.html    |     2 +
 .../builder/type.DurationSecondBufferBuilder.html  |     2 +
 .../array/builder/type.DurationSecondBuilder.html  |     2 +
 arrow/array/builder/type.Float16BufferBuilder.html |     2 +
 arrow/array/builder/type.Float16Builder.html       |     2 +
 arrow/array/builder/type.Float32BufferBuilder.html |     2 +
 arrow/array/builder/type.Float32Builder.html       |     2 +
 arrow/array/builder/type.Float64BufferBuilder.html |     2 +
 arrow/array/builder/type.Float64Builder.html       |     2 +
 arrow/array/builder/type.GenericBinaryBuilder.html |    17 +
 arrow/array/builder/type.GenericStringBuilder.html |    38 +
 arrow/array/builder/type.Int16BufferBuilder.html   |     2 +
 arrow/array/builder/type.Int16Builder.html         |     2 +
 arrow/array/builder/type.Int32BufferBuilder.html   |     2 +
 arrow/array/builder/type.Int32Builder.html         |     2 +
 arrow/array/builder/type.Int64BufferBuilder.html   |     2 +
 arrow/array/builder/type.Int64Builder.html         |     2 +
 arrow/array/builder/type.Int8BufferBuilder.html    |     2 +
 arrow/array/builder/type.Int8Builder.html          |     2 +
 .../builder/type.IntervalDayTimeBufferBuilder.html |     2 +
 .../array/builder/type.IntervalDayTimeBuilder.html |     2 +
 .../type.IntervalMonthDayNanoBufferBuilder.html    |     2 +
 .../builder/type.IntervalMonthDayNanoBuilder.html  |     2 +
 .../type.IntervalYearMonthBufferBuilder.html       |     2 +
 .../builder/type.IntervalYearMonthBuilder.html     |     2 +
 arrow/array/builder/type.LargeBinaryBuilder.html   |     3 +
 .../builder/type.LargeBinaryDictionaryBuilder.html |     2 +
 .../array/builder/type.LargeBinaryRunBuilder.html  |     2 +
 arrow/array/builder/type.LargeListBuilder.html     |     2 +
 arrow/array/builder/type.LargeStringBuilder.html   |     3 +
 .../builder/type.LargeStringDictionaryBuilder.html |     2 +
 .../array/builder/type.LargeStringRunBuilder.html  |     2 +
 arrow/array/builder/type.ListBuilder.html          |     2 +
 arrow/array/builder/type.StringBuilder.html        |     3 +
 .../builder/type.StringDictionaryBuilder.html      |    28 +
 arrow/array/builder/type.StringRunBuilder.html     |    25 +
 arrow/array/builder/type.StringViewBuilder.html    |    14 +
 .../type.Time32MillisecondBufferBuilder.html       |     2 +
 .../builder/type.Time32MillisecondBuilder.html     |     2 +
 .../builder/type.Time32SecondBufferBuilder.html    |     2 +
 arrow/array/builder/type.Time32SecondBuilder.html  |     2 +
 .../type.Time64MicrosecondBufferBuilder.html       |     2 +
 .../builder/type.Time64MicrosecondBuilder.html     |     2 +
 .../type.Time64NanosecondBufferBuilder.html        |     2 +
 .../builder/type.Time64NanosecondBuilder.html      |     2 +
 .../type.TimestampMicrosecondBufferBuilder.html    |     2 +
 .../builder/type.TimestampMicrosecondBuilder.html  |     2 +
 .../type.TimestampMillisecondBufferBuilder.html    |     2 +
 .../builder/type.TimestampMillisecondBuilder.html  |     2 +
 .../type.TimestampNanosecondBufferBuilder.html     |     2 +
 .../builder/type.TimestampNanosecondBuilder.html   |     2 +
 .../builder/type.TimestampSecondBufferBuilder.html |     2 +
 .../array/builder/type.TimestampSecondBuilder.html |     2 +
 arrow/array/builder/type.UInt16BufferBuilder.html  |     2 +
 arrow/array/builder/type.UInt16Builder.html        |     2 +
 arrow/array/builder/type.UInt32BufferBuilder.html  |     2 +
 arrow/array/builder/type.UInt32Builder.html        |     2 +
 arrow/array/builder/type.UInt64BufferBuilder.html  |     2 +
 arrow/array/builder/type.UInt64Builder.html        |     2 +
 arrow/array/builder/type.UInt8BufferBuilder.html   |     2 +
 arrow/array/builder/type.UInt8Builder.html         |     2 +
 arrow/array/cast/fn.as_boolean_array.html          |     7 +
 arrow/array/cast/fn.as_decimal_array.html          |     2 +
 arrow/array/cast/fn.as_dictionary_array.html       |     9 +
 arrow/array/cast/fn.as_fixed_size_list_array.html  |     3 +
 arrow/array/cast/fn.as_generic_binary_array.html   |     6 +
 arrow/array/cast/fn.as_generic_list_array.html     |     4 +
 arrow/array/cast/fn.as_large_list_array.html       |     3 +
 arrow/array/cast/fn.as_largestring_array.html      |     5 +
 arrow/array/cast/fn.as_list_array.html             |     3 +
 arrow/array/cast/fn.as_map_array.html              |     3 +
 arrow/array/cast/fn.as_null_array.html             |     3 +
 arrow/array/cast/fn.as_primitive_array.html        |    19 +
 arrow/array/cast/fn.as_run_array.html              |     9 +
 arrow/array/cast/fn.as_string_array.html           |     9 +
 arrow/array/cast/fn.as_struct_array.html           |     3 +
 arrow/array/cast/fn.as_union_array.html            |     3 +
 arrow/array/cast/fn.downcast_array.html            |    21 +
 arrow/array/cast/index.html                        |    17 +
 arrow/array/cast/sidebar-items.js                  |     1 +
 arrow/array/cast/trait.AsArray.html                |   114 +
 arrow/array/enum.BufferSpec.html                   |    46 +
 arrow/array/enum.Capacities.html                   |    48 +
 arrow/array/ffi/fn.export_array_into_raw.html      |    12 +
 arrow/array/ffi/fn.from_ffi.html                   |     7 +
 arrow/array/ffi/fn.from_ffi_and_data_type.html     |     7 +
 arrow/array/ffi/fn.to_ffi.html                     |     4 +
 arrow/array/ffi/index.html                         |    45 +
 arrow/array/ffi/sidebar-items.js                   |     1 +
 arrow/array/ffi/struct.FFI_ArrowArray.html         |    53 +
 arrow/array/ffi/struct.FFI_ArrowSchema.html        |    73 +
 .../ffi_stream/fn.export_reader_into_raw.html      |     8 +
 arrow/array/ffi_stream/index.html                  |    30 +
 arrow/array/ffi_stream/sidebar-items.js            |     1 +
 .../ffi_stream/struct.ArrowArrayStreamReader.html  |   226 +
 .../ffi_stream/struct.FFI_ArrowArrayStream.html    |    41 +
 arrow/array/fn.as_boolean_array.html               |     7 +
 arrow/array/fn.as_decimal_array.html               |     2 +
 arrow/array/fn.as_dictionary_array.html            |     9 +
 arrow/array/fn.as_fixed_size_list_array.html       |     3 +
 arrow/array/fn.as_generic_binary_array.html        |     6 +
 arrow/array/fn.as_generic_list_array.html          |     4 +
 arrow/array/fn.as_large_list_array.html            |     3 +
 arrow/array/fn.as_largestring_array.html           |     5 +
 arrow/array/fn.as_list_array.html                  |     3 +
 arrow/array/fn.as_map_array.html                   |     3 +
 arrow/array/fn.as_null_array.html                  |     3 +
 arrow/array/fn.as_primitive_array.html             |    19 +
 arrow/array/fn.as_run_array.html                   |     9 +
 arrow/array/fn.as_string_array.html                |     9 +
 arrow/array/fn.as_struct_array.html                |     3 +
 arrow/array/fn.as_union_array.html                 |     3 +
 arrow/array/fn.downcast_array.html                 |    21 +
 arrow/array/fn.export_array_into_raw.html          |    12 +
 arrow/array/fn.layout.html                         |     3 +
 arrow/array/fn.make_array.html                     |     3 +
 arrow/array/fn.make_builder.html                   |     8 +
 arrow/array/fn.make_comparator.html                |    50 +
 arrow/array/fn.make_view.html                      |     5 +
 arrow/array/fn.new_empty_array.html                |    11 +
 arrow/array/fn.new_null_array.html                 |    12 +
 arrow/array/index.html                             |    42 +
 arrow/array/iterator/index.html                    |     2 +
 arrow/array/iterator/sidebar-items.js              |     1 +
 arrow/array/iterator/struct.ArrayIter.html         |   243 +
 arrow/array/iterator/type.BooleanIter.html         |     2 +
 arrow/array/iterator/type.FixedSizeBinaryIter.html |     2 +
 arrow/array/iterator/type.FixedSizeListIter.html   |     2 +
 arrow/array/iterator/type.GenericBinaryIter.html   |     2 +
 .../array/iterator/type.GenericListArrayIter.html  |     2 +
 .../iterator/type.GenericListViewArrayIter.html    |     2 +
 arrow/array/iterator/type.GenericStringIter.html   |     2 +
 arrow/array/iterator/type.MapArrayIter.html        |     2 +
 arrow/array/iterator/type.PrimitiveIter.html       |     2 +
 arrow/array/macro.downcast_dictionary_array!.html  |    11 +
 arrow/array/macro.downcast_dictionary_array.html   |    26 +
 arrow/array/macro.downcast_integer!.html           |    11 +
 arrow/array/macro.downcast_integer.html            |    26 +
 arrow/array/macro.downcast_primitive!.html         |    11 +
 arrow/array/macro.downcast_primitive.html          |    25 +
 arrow/array/macro.downcast_primitive_array!.html   |    11 +
 arrow/array/macro.downcast_primitive_array.html    |    25 +
 arrow/array/macro.downcast_run_array!.html         |    11 +
 arrow/array/macro.downcast_run_array.html          |    26 +
 arrow/array/macro.downcast_run_end_index!.html     |    11 +
 arrow/array/macro.downcast_run_end_index.html      |    26 +
 arrow/array/macro.downcast_temporal!.html          |    11 +
 arrow/array/macro.downcast_temporal.html           |    22 +
 arrow/array/macro.downcast_temporal_array!.html    |    11 +
 arrow/array/macro.downcast_temporal_array.html     |    25 +
 arrow/array/run_iterator/index.html                |     3 +
 arrow/array/run_iterator/sidebar-items.js          |     1 +
 arrow/array/run_iterator/struct.RunArrayIter.html  |   258 +
 arrow/array/sidebar-items.js                       |     1 +
 arrow/array/struct.ArrayData.html                  |   214 +
 arrow/array/struct.ArrayDataBuilder.html           |    53 +
 arrow/array/struct.ArrayIter.html                  |   243 +
 arrow/array/struct.BooleanArray.html               |   123 +
 arrow/array/struct.BooleanBufferBuilder.html       |    48 +
 arrow/array/struct.BooleanBuilder.html             |    70 +
 arrow/array/struct.BufferBuilder.html              |   173 +
 arrow/array/struct.ByteView.html                   |    67 +
 arrow/array/struct.DataTypeLayout.html             |    41 +
 arrow/array/struct.DictionaryArray.html            |   231 +
 arrow/array/struct.FixedSizeBinaryArray.html       |   157 +
 arrow/array/struct.FixedSizeBinaryBuilder.html     |    49 +
 arrow/array/struct.FixedSizeListArray.html         |   159 +
 arrow/array/struct.FixedSizeListBuilder.html       |    92 +
 arrow/array/struct.GenericByteArray.html           |   210 +
 arrow/array/struct.GenericByteBuilder.html         |    83 +
 .../array/struct.GenericByteDictionaryBuilder.html |   124 +
 arrow/array/struct.GenericByteRunBuilder.html      |    95 +
 arrow/array/struct.GenericByteViewArray.html       |   269 +
 arrow/array/struct.GenericByteViewBuilder.html     |   125 +
 arrow/array/struct.GenericListArray.html           |   166 +
 arrow/array/struct.GenericListBuilder.html         |   163 +
 arrow/array/struct.GenericListViewArray.html       |   113 +
 arrow/array/struct.MapArray.html                   |    95 +
 arrow/array/struct.MapBuilder.html                 |    87 +
 arrow/array/struct.MapFieldNames.html              |    24 +
 arrow/array/struct.MutableArrayData.html           |    93 +
 arrow/array/struct.NativeAdapter.html              |    31 +
 arrow/array/struct.NullArray.html                  |    48 +
 arrow/array/struct.NullBuilder.html                |    46 +
 arrow/array/struct.PrimitiveArray.html             |   454 +
 arrow/array/struct.PrimitiveBuilder.html           |    88 +
 arrow/array/struct.PrimitiveDictionaryBuilder.html |   135 +
 arrow/array/struct.PrimitiveRunBuilder.html        |    89 +
 arrow/array/struct.RecordBatch.html                |   166 +
 arrow/array/struct.RecordBatchIterator.html        |   230 +
 arrow/array/struct.RecordBatchOptions.html         |    26 +
 arrow/array/struct.RunArray.html                   |   129 +
 arrow/array/struct.Scalar.html                     |    47 +
 arrow/array/struct.StructArray.html                |   126 +
 arrow/array/struct.StructBuilder.html              |   118 +
 arrow/array/struct.TypedDictionaryArray.html       |    66 +
 arrow/array/struct.TypedRunArray.html              |    69 +
 arrow/array/struct.UnionArray.html                 |   173 +
 arrow/array/struct.UnionBuilder.html               |    69 +
 .../constant.EPOCH_DAYS_FROM_CE.html               |     2 +
 .../constant.MICROSECONDS.html                     |     2 +
 .../constant.MICROSECONDS_IN_DAY.html              |     2 +
 .../constant.MILLISECONDS.html                     |     2 +
 .../constant.MILLISECONDS_IN_DAY.html              |     2 +
 .../temporal_conversions/constant.NANOSECONDS.html |     2 +
 .../constant.NANOSECONDS_IN_DAY.html               |     2 +
 .../constant.SECONDS_IN_DAY.html                   |     2 +
 arrow/array/temporal_conversions/fn.as_date.html   |     3 +
 .../array/temporal_conversions/fn.as_datetime.html |     3 +
 .../fn.as_datetime_with_timezone.html              |     3 +
 .../array/temporal_conversions/fn.as_duration.html |     3 +
 arrow/array/temporal_conversions/fn.as_time.html   |     3 +
 .../fn.date32_to_datetime.html                     |     2 +
 .../fn.date64_to_datetime.html                     |     2 +
 .../fn.duration_ms_to_duration.html                |     2 +
 .../fn.duration_ns_to_duration.html                |     2 +
 .../fn.duration_s_to_duration.html                 |     2 +
 .../fn.duration_us_to_duration.html                |     2 +
 .../temporal_conversions/fn.time32ms_to_time.html  |     2 +
 .../temporal_conversions/fn.time32s_to_time.html   |     2 +
 .../temporal_conversions/fn.time64ns_to_time.html  |     2 +
 .../temporal_conversions/fn.time64us_to_time.html  |     2 +
 .../temporal_conversions/fn.time_to_time32ms.html  |     2 +
 .../temporal_conversions/fn.time_to_time32s.html   |     2 +
 .../temporal_conversions/fn.time_to_time64ns.html  |     2 +
 .../temporal_conversions/fn.time_to_time64us.html  |     2 +
 .../fn.timestamp_ms_to_datetime.html               |     2 +
 .../fn.timestamp_ns_to_datetime.html               |     2 +
 .../fn.timestamp_s_to_datetime.html                |     2 +
 .../fn.timestamp_us_to_datetime.html               |     2 +
 arrow/array/temporal_conversions/index.html        |     2 +
 arrow/array/temporal_conversions/sidebar-items.js  |     1 +
 arrow/array/timezone/index.html                    |     2 +
 arrow/array/timezone/sidebar-items.js              |     1 +
 arrow/array/timezone/struct.Tz.html                |    69 +
 arrow/array/timezone/struct.TzOffset.html          |    21 +
 arrow/array/trait.AnyDictionaryArray.html          |    50 +
 arrow/array/trait.Array.html                       |   189 +
 arrow/array/trait.ArrayAccessor.html               |    93 +
 arrow/array/trait.ArrayBuilder.html                |    86 +
 arrow/array/trait.ArrowNativeTypeOp.html           |    74 +
 arrow/array/trait.ArrowNumericType.html            |     3 +
 arrow/array/trait.ArrowPrimitiveType.html          |    18 +
 arrow/array/trait.AsArray.html                     |   114 +
 arrow/array/trait.Datum.html                       |    59 +
 arrow/array/trait.OffsetSizeTrait.html             |    12 +
 arrow/array/trait.RecordBatchReader.html           |    20 +
 arrow/array/trait.RecordBatchWriter.html           |    13 +
 arrow/array/type.ArrayDataRef.html                 |     2 +
 arrow/array/type.ArrayRef.html                     |     2 +
 arrow/array/type.BinaryArray.html                  |    32 +
 arrow/array/type.BinaryBuilder.html                |     3 +
 arrow/array/type.BinaryDictionaryBuilder.html      |    29 +
 arrow/array/type.BinaryRunBuilder.html             |    26 +
 arrow/array/type.BinaryViewArray.html              |     7 +
 arrow/array/type.BinaryViewBuilder.html            |    15 +
 arrow/array/type.BooleanIter.html                  |     2 +
 arrow/array/type.Date32Array.html                  |     4 +
 arrow/array/type.Date32BufferBuilder.html          |     2 +
 arrow/array/type.Date32Builder.html                |     2 +
 arrow/array/type.Date64Array.html                  |     4 +
 arrow/array/type.Date64BufferBuilder.html          |     2 +
 arrow/array/type.Date64Builder.html                |     2 +
 arrow/array/type.Decimal128Array.html              |    12 +
 arrow/array/type.Decimal128BufferBuilder.html      |     2 +
 arrow/array/type.Decimal128Builder.html            |     2 +
 arrow/array/type.Decimal256Array.html              |    13 +
 arrow/array/type.Decimal256BufferBuilder.html      |     2 +
 arrow/array/type.Decimal256Builder.html            |     2 +
 arrow/array/type.DurationMicrosecondArray.html     |     2 +
 .../type.DurationMicrosecondBufferBuilder.html     |     2 +
 arrow/array/type.DurationMicrosecondBuilder.html   |     2 +
 arrow/array/type.DurationMillisecondArray.html     |     2 +
 .../type.DurationMillisecondBufferBuilder.html     |     2 +
 arrow/array/type.DurationMillisecondBuilder.html   |     2 +
 arrow/array/type.DurationNanosecondArray.html      |     2 +
 .../type.DurationNanosecondBufferBuilder.html      |     2 +
 arrow/array/type.DurationNanosecondBuilder.html    |     2 +
 arrow/array/type.DurationSecondArray.html          |     2 +
 arrow/array/type.DurationSecondBufferBuilder.html  |     2 +
 arrow/array/type.DurationSecondBuilder.html        |     2 +
 arrow/array/type.DynComparator.html                |     2 +
 arrow/array/type.FixedSizeBinaryIter.html          |     2 +
 arrow/array/type.FixedSizeListIter.html            |     2 +
 arrow/array/type.Float16Array.html                 |    16 +
 arrow/array/type.Float16BufferBuilder.html         |     2 +
 arrow/array/type.Float16Builder.html               |     2 +
 arrow/array/type.Float32Array.html                 |    12 +
 arrow/array/type.Float32BufferBuilder.html         |     2 +
 arrow/array/type.Float32Builder.html               |     2 +
 arrow/array/type.Float64Array.html                 |    12 +
 arrow/array/type.Float64BufferBuilder.html         |     2 +
 arrow/array/type.Float64Builder.html               |     2 +
 arrow/array/type.GenericBinaryArray.html           |     2 +
 arrow/array/type.GenericBinaryBuilder.html         |    17 +
 arrow/array/type.GenericBinaryIter.html            |     2 +
 arrow/array/type.GenericListArrayIter.html         |     2 +
 arrow/array/type.GenericListViewArrayIter.html     |     2 +
 arrow/array/type.GenericStringArray.html           |     2 +
 arrow/array/type.GenericStringBuilder.html         |    38 +
 arrow/array/type.GenericStringIter.html            |     2 +
 arrow/array/type.Int16Array.html                   |    12 +
 arrow/array/type.Int16BufferBuilder.html           |     2 +
 arrow/array/type.Int16Builder.html                 |     2 +
 arrow/array/type.Int16DictionaryArray.html         |     9 +
 arrow/array/type.Int16RunArray.html                |     8 +
 arrow/array/type.Int32Array.html                   |    12 +
 arrow/array/type.Int32BufferBuilder.html           |     2 +
 arrow/array/type.Int32Builder.html                 |     2 +
 arrow/array/type.Int32DictionaryArray.html         |     9 +
 arrow/array/type.Int32RunArray.html                |     8 +
 arrow/array/type.Int64Array.html                   |    12 +
 arrow/array/type.Int64BufferBuilder.html           |     2 +
 arrow/array/type.Int64Builder.html                 |     2 +
 arrow/array/type.Int64DictionaryArray.html         |     9 +
 arrow/array/type.Int64RunArray.html                |     8 +
 arrow/array/type.Int8Array.html                    |    12 +
 arrow/array/type.Int8BufferBuilder.html            |     2 +
 arrow/array/type.Int8Builder.html                  |     2 +
 arrow/array/type.Int8DictionaryArray.html          |     9 +
 arrow/array/type.IntervalDayTimeArray.html         |    10 +
 arrow/array/type.IntervalDayTimeBufferBuilder.html |     2 +
 arrow/array/type.IntervalDayTimeBuilder.html       |     2 +
 arrow/array/type.IntervalMonthDayNanoArray.html    |    10 +
 .../type.IntervalMonthDayNanoBufferBuilder.html    |     2 +
 arrow/array/type.IntervalMonthDayNanoBuilder.html  |     2 +
 arrow/array/type.IntervalYearMonthArray.html       |     9 +
 .../array/type.IntervalYearMonthBufferBuilder.html |     2 +
 arrow/array/type.IntervalYearMonthBuilder.html     |     2 +
 arrow/array/type.LargeBinaryArray.html             |    31 +
 arrow/array/type.LargeBinaryBuilder.html           |     3 +
 arrow/array/type.LargeBinaryDictionaryBuilder.html |     2 +
 arrow/array/type.LargeBinaryRunBuilder.html        |     2 +
 arrow/array/type.LargeListArray.html               |     2 +
 arrow/array/type.LargeListBuilder.html             |     2 +
 arrow/array/type.LargeListViewArray.html           |     2 +
 arrow/array/type.LargeStringArray.html             |    17 +
 arrow/array/type.LargeStringBuilder.html           |     3 +
 arrow/array/type.LargeStringDictionaryBuilder.html |     2 +
 arrow/array/type.LargeStringRunBuilder.html        |     2 +
 arrow/array/type.ListArray.html                    |     2 +
 arrow/array/type.ListBuilder.html                  |     2 +
 arrow/array/type.ListViewArray.html                |     2 +
 arrow/array/type.MapArrayIter.html                 |     2 +
 arrow/array/type.PrimitiveIter.html                |     2 +
 arrow/array/type.StringArray.html                  |    16 +
 arrow/array/type.StringBuilder.html                |     3 +
 arrow/array/type.StringDictionaryBuilder.html      |    28 +
 arrow/array/type.StringRunBuilder.html             |    25 +
 arrow/array/type.StringViewArray.html              |     7 +
 arrow/array/type.StringViewBuilder.html            |    14 +
 arrow/array/type.Time32MillisecondArray.html       |     4 +
 .../array/type.Time32MillisecondBufferBuilder.html |     2 +
 arrow/array/type.Time32MillisecondBuilder.html     |     2 +
 arrow/array/type.Time32SecondArray.html            |     4 +
 arrow/array/type.Time32SecondBufferBuilder.html    |     2 +
 arrow/array/type.Time32SecondBuilder.html          |     2 +
 arrow/array/type.Time64MicrosecondArray.html       |     4 +
 .../array/type.Time64MicrosecondBufferBuilder.html |     2 +
 arrow/array/type.Time64MicrosecondBuilder.html     |     2 +
 arrow/array/type.Time64NanosecondArray.html        |     4 +
 .../array/type.Time64NanosecondBufferBuilder.html  |     2 +
 arrow/array/type.Time64NanosecondBuilder.html      |     2 +
 arrow/array/type.TimestampMicrosecondArray.html    |     3 +
 .../type.TimestampMicrosecondBufferBuilder.html    |     2 +
 arrow/array/type.TimestampMicrosecondBuilder.html  |     2 +
 arrow/array/type.TimestampMillisecondArray.html    |     3 +
 .../type.TimestampMillisecondBufferBuilder.html    |     2 +
 arrow/array/type.TimestampMillisecondBuilder.html  |     2 +
 arrow/array/type.TimestampNanosecondArray.html     |     3 +
 .../type.TimestampNanosecondBufferBuilder.html     |     2 +
 arrow/array/type.TimestampNanosecondBuilder.html   |     2 +
 arrow/array/type.TimestampSecondArray.html         |    33 +
 arrow/array/type.TimestampSecondBufferBuilder.html |     2 +
 arrow/array/type.TimestampSecondBuilder.html       |     2 +
 arrow/array/type.UInt16Array.html                  |    12 +
 arrow/array/type.UInt16BufferBuilder.html          |     2 +
 arrow/array/type.UInt16Builder.html                |     2 +
 arrow/array/type.UInt16DictionaryArray.html        |     9 +
 arrow/array/type.UInt32Array.html                  |    12 +
 arrow/array/type.UInt32BufferBuilder.html          |     2 +
 arrow/array/type.UInt32Builder.html                |     2 +
 arrow/array/type.UInt32DictionaryArray.html        |     9 +
 arrow/array/type.UInt64Array.html                  |    12 +
 arrow/array/type.UInt64BufferBuilder.html          |     2 +
 arrow/array/type.UInt64Builder.html                |     2 +
 arrow/array/type.UInt64DictionaryArray.html        |     9 +
 arrow/array/type.UInt8Array.html                   |    12 +
 arrow/array/type.UInt8BufferBuilder.html           |     2 +
 arrow/array/type.UInt8Builder.html                 |     2 +
 arrow/array/type.UInt8DictionaryArray.html         |     9 +
 .../fn.validate_decimal_precision_and_scale.html   |    13 +
 arrow/array/types/index.html                       |     6 +
 arrow/array/types/sidebar-items.js                 |     1 +
 arrow/array/types/struct.BinaryViewType.html       |    18 +
 arrow/array/types/struct.BooleanType.html          |    16 +
 arrow/array/types/struct.Date32Type.html           |    86 +
 arrow/array/types/struct.Date64Type.html           |    86 +
 arrow/array/types/struct.Decimal128Type.html       |    26 +
 arrow/array/types/struct.Decimal256Type.html       |    26 +
 .../types/struct.DurationMicrosecondType.html      |    16 +
 .../types/struct.DurationMillisecondType.html      |    16 +
 .../array/types/struct.DurationNanosecondType.html |    16 +
 arrow/array/types/struct.DurationSecondType.html   |    16 +
 arrow/array/types/struct.Float16Type.html          |    16 +
 arrow/array/types/struct.Float32Type.html          |    16 +
 arrow/array/types/struct.Float64Type.html          |    16 +
 arrow/array/types/struct.GenericBinaryType.html    |    27 +
 arrow/array/types/struct.GenericStringType.html    |    27 +
 arrow/array/types/struct.Int16Type.html            |    16 +
 arrow/array/types/struct.Int32Type.html            |    16 +
 arrow/array/types/struct.Int64Type.html            |    16 +
 arrow/array/types/struct.Int8Type.html             |    16 +
 arrow/array/types/struct.IntervalDayTime.html      |   147 +
 arrow/array/types/struct.IntervalDayTimeType.html  |    27 +
 arrow/array/types/struct.IntervalMonthDayNano.html |   184 +
 .../types/struct.IntervalMonthDayNanoType.html     |    32 +
 .../array/types/struct.IntervalYearMonthType.html  |    33 +
 arrow/array/types/struct.StringViewType.html       |    18 +
 .../array/types/struct.Time32MillisecondType.html  |    25 +
 arrow/array/types/struct.Time32SecondType.html     |    25 +
 .../array/types/struct.Time64MicrosecondType.html  |    25 +
 arrow/array/types/struct.Time64NanosecondType.html |    25 +
 .../types/struct.TimestampMicrosecondType.html     |    86 +
 .../types/struct.TimestampMillisecondType.html     |    86 +
 .../types/struct.TimestampNanosecondType.html      |    86 +
 arrow/array/types/struct.TimestampSecondType.html  |    92 +
 arrow/array/types/struct.UInt16Type.html           |    16 +
 arrow/array/types/struct.UInt32Type.html           |    16 +
 arrow/array/types/struct.UInt64Type.html           |    16 +
 arrow/array/types/struct.UInt8Type.html            |    16 +
 .../array/types/trait.ArrowDictionaryKeyType.html  |     3 +
 arrow/array/types/trait.ArrowPrimitiveType.html    |    18 +
 arrow/array/types/trait.ArrowTemporalType.html     |     2 +
 arrow/array/types/trait.ArrowTimestampType.html    |    14 +
 arrow/array/types/trait.ByteArrayType.html         |    31 +
 arrow/array/types/trait.ByteViewType.html          |    25 +
 arrow/array/types/trait.DecimalType.html           |    37 +
 arrow/array/types/trait.RunEndIndexType.html       |     4 +
 arrow/array/types/type.BinaryType.html             |     2 +
 arrow/array/types/type.LargeBinaryType.html        |     2 +
 arrow/array/types/type.LargeUtf8Type.html          |     2 +
 arrow/array/types/type.Utf8Type.html               |     2 +
 arrow/buffer/fn.bitwise_bin_op_helper.html         |    11 +
 arrow/buffer/fn.bitwise_quaternary_op_helper.html  |     9 +
 arrow/buffer/fn.bitwise_unary_op_helper.html       |     9 +
 arrow/buffer/fn.buffer_bin_and.html                |     9 +
 arrow/buffer/fn.buffer_bin_and_not.html            |     9 +
 arrow/buffer/fn.buffer_bin_or.html                 |     9 +
 arrow/buffer/fn.buffer_bin_xor.html                |     9 +
 arrow/buffer/fn.buffer_unary_not.html              |     7 +
 arrow/buffer/index.html                            |    11 +
 arrow/buffer/sidebar-items.js                      |     1 +
 arrow/buffer/struct.BooleanBuffer.html             |    72 +
 arrow/buffer/struct.Buffer.html                    |  1289 ++
 arrow/buffer/struct.MutableBuffer.html             |  2650 +++
 arrow/buffer/struct.NullBuffer.html                |    75 +
 arrow/buffer/struct.OffsetBuffer.html              |  1219 ++
 arrow/buffer/struct.RunEndBuffer.html              |    88 +
 arrow/buffer/struct.ScalarBuffer.html              |  1211 ++
 arrow/compute/enum.DatePart.html                   |    57 +
 arrow/compute/fn.and.html                          |    13 +
 arrow/compute/fn.and_kleene.html                   |    24 +
 arrow/compute/fn.and_not.html                      |    15 +
 arrow/compute/fn.binary.html                       |    31 +
 arrow/compute/fn.binary_mut.html                   |    53 +
 arrow/compute/fn.bit_and.html                      |     7 +
 arrow/compute/fn.bit_or.html                       |     7 +
 arrow/compute/fn.bit_xor.html                      |     7 +
 arrow/compute/fn.bool_and.html                     |     3 +
 arrow/compute/fn.bool_or.html                      |     3 +
 arrow/compute/fn.build_filter.html                 |     9 +
 arrow/compute/fn.can_cast_types.html               |     3 +
 arrow/compute/fn.cast.html                         |     6 +
 arrow/compute/fn.cast_with_options.html            |    89 +
 arrow/compute/fn.concat.html                       |     2 +
 arrow/compute/fn.concat_batches.html               |     8 +
 arrow/compute/fn.date_part.html                    |    25 +
 arrow/compute/fn.day.html                          |     6 +
 arrow/compute/fn.day_dyn.html                      |     4 +
 arrow/compute/fn.doy.html                          |     8 +
 arrow/compute/fn.doy_dyn.html                      |     5 +
 arrow/compute/fn.filter.html                       |    13 +
 arrow/compute/fn.filter_record_batch.html          |     7 +
 arrow/compute/fn.hour.html                         |     7 +
 arrow/compute/fn.hour_dyn.html                     |     4 +
 arrow/compute/fn.interleave.html                   |    25 +
 arrow/compute/fn.is_not_null.html                  |     8 +
 arrow/compute/fn.is_null.html                      |     8 +
 .../fn.lexicographical_partition_ranges.html       |     9 +
 arrow/compute/fn.lexsort.html                      |    41 +
 arrow/compute/fn.lexsort_to_indices.html           |     8 +
 arrow/compute/fn.max.html                          |     7 +
 arrow/compute/fn.max_array.html                    |     6 +
 arrow/compute/fn.max_binary.html                   |     5 +
 arrow/compute/fn.max_binary_view.html              |     4 +
 arrow/compute/fn.max_boolean.html                  |     6 +
 arrow/compute/fn.max_string.html                   |     5 +
 arrow/compute/fn.max_string_view.html              |     4 +
 arrow/compute/fn.microsecond.html                  |     6 +
 arrow/compute/fn.microsecond_dyn.html              |     4 +
 arrow/compute/fn.millisecond.html                  |     6 +
 arrow/compute/fn.millisecond_dyn.html              |     4 +
 arrow/compute/fn.min.html                          |     7 +
 arrow/compute/fn.min_array.html                    |     6 +
 arrow/compute/fn.min_binary.html                   |     5 +
 arrow/compute/fn.min_binary_view.html              |     4 +
 arrow/compute/fn.min_boolean.html                  |     6 +
 arrow/compute/fn.min_string.html                   |     5 +
 arrow/compute/fn.min_string_view.html              |     4 +
 arrow/compute/fn.minute.html                       |     6 +
 arrow/compute/fn.minute_dyn.html                   |     4 +
 arrow/compute/fn.month.html                        |     7 +
 arrow/compute/fn.month_dyn.html                    |     4 +
 arrow/compute/fn.multiply_fixed_point.html         |    16 +
 arrow/compute/fn.multiply_fixed_point_checked.html |    14 +
 arrow/compute/fn.multiply_fixed_point_dyn.html     |    15 +
 arrow/compute/fn.nanosecond.html                   |     6 +
 arrow/compute/fn.nanosecond_dyn.html               |     4 +
 arrow/compute/fn.not.html                          |     9 +
 arrow/compute/fn.nullif.html                       |     7 +
 arrow/compute/fn.num_days_from_monday.html         |     9 +
 arrow/compute/fn.num_days_from_monday_dyn.html     |     9 +
 arrow/compute/fn.num_days_from_sunday.html         |     9 +
 arrow/compute/fn.num_days_from_sunday_dyn.html     |     9 +
 arrow/compute/fn.or.html                           |    13 +
 arrow/compute/fn.or_kleene.html                    |    24 +
 arrow/compute/fn.partial_sort.html                 |     3 +
 arrow/compute/fn.partition.html                    |    41 +
 arrow/compute/fn.prep_null_mask_filter.html        |     2 +
 arrow/compute/fn.quarter.html                      |     7 +
 arrow/compute/fn.quarter_dyn.html                  |     4 +
 arrow/compute/fn.rank.html                         |    11 +
 arrow/compute/fn.regexp_is_match.html              |    34 +
 arrow/compute/fn.regexp_is_match_scalar.html       |    24 +
 arrow/compute/fn.regexp_is_match_utf8.html         |    12 +
 arrow/compute/fn.regexp_is_match_utf8_scalar.html  |     9 +
 arrow/compute/fn.regexp_match.html                 |    22 +
 arrow/compute/fn.second.html                       |     6 +
 arrow/compute/fn.second_dyn.html                   |     4 +
 arrow/compute/fn.shift.html                        |    30 +
 arrow/compute/fn.sort.html                         |    16 +
 arrow/compute/fn.sort_limit.html                   |    25 +
 arrow/compute/fn.sort_to_indices.html              |     7 +
 arrow/compute/fn.sum.html                          |     9 +
 arrow/compute/fn.sum_array.html                    |     7 +
 arrow/compute/fn.sum_array_checked.html            |     9 +
 arrow/compute/fn.sum_checked.html                  |     9 +
 arrow/compute/fn.take.html                         |    36 +
 arrow/compute/fn.take_arrays.html                  |    42 +
 arrow/compute/fn.take_record_batch.html            |    35 +
 arrow/compute/fn.try_binary.html                   |    17 +
 arrow/compute/fn.try_binary_mut.html               |    14 +
 arrow/compute/fn.try_unary.html                    |     8 +
 arrow/compute/fn.try_unary_dyn.html                |     7 +
 arrow/compute/fn.try_unary_mut.html                |     7 +
 arrow/compute/fn.unary.html                        |     5 +
 arrow/compute/fn.unary_dyn.html                    |     7 +
 arrow/compute/fn.unary_mut.html                    |     7 +
 arrow/compute/fn.union_extract.html                |    41 +
 ...fn.using_chrono_tz_and_utc_naive_date_time.html |     8 +
 arrow/compute/fn.week.html                         |     6 +
 arrow/compute/fn.week_dyn.html                     |     4 +
 arrow/compute/fn.year.html                         |     6 +
 arrow/compute/fn.year_dyn.html                     |     4 +
 arrow/compute/index.html                           |    61 +
 arrow/compute/kernels/aggregate/fn.bit_and.html    |     7 +
 arrow/compute/kernels/aggregate/fn.bit_or.html     |     7 +
 arrow/compute/kernels/aggregate/fn.bit_xor.html    |     7 +
 arrow/compute/kernels/aggregate/fn.bool_and.html   |     3 +
 arrow/compute/kernels/aggregate/fn.bool_or.html    |     3 +
 arrow/compute/kernels/aggregate/fn.max.html        |     7 +
 arrow/compute/kernels/aggregate/fn.max_array.html  |     6 +
 arrow/compute/kernels/aggregate/fn.max_binary.html |     5 +
 .../kernels/aggregate/fn.max_binary_view.html      |     4 +
 .../compute/kernels/aggregate/fn.max_boolean.html  |     6 +
 arrow/compute/kernels/aggregate/fn.max_string.html |     5 +
 .../kernels/aggregate/fn.max_string_view.html      |     4 +
 arrow/compute/kernels/aggregate/fn.min.html        |     7 +
 arrow/compute/kernels/aggregate/fn.min_array.html  |     6 +
 arrow/compute/kernels/aggregate/fn.min_binary.html |     5 +
 .../kernels/aggregate/fn.min_binary_view.html      |     4 +
 .../compute/kernels/aggregate/fn.min_boolean.html  |     6 +
 arrow/compute/kernels/aggregate/fn.min_string.html |     5 +
 .../kernels/aggregate/fn.min_string_view.html      |     4 +
 arrow/compute/kernels/aggregate/fn.sum.html        |     9 +
 arrow/compute/kernels/aggregate/fn.sum_array.html  |     7 +
 .../kernels/aggregate/fn.sum_array_checked.html    |     9 +
 .../compute/kernels/aggregate/fn.sum_checked.html  |     9 +
 arrow/compute/kernels/aggregate/index.html         |     6 +
 arrow/compute/kernels/aggregate/sidebar-items.js   |     1 +
 .../arithmetic/fn.multiply_fixed_point.html        |    11 +
 .../fn.multiply_fixed_point_checked.html           |    11 +
 .../arithmetic/fn.multiply_fixed_point_dyn.html    |    11 +
 arrow/compute/kernels/arity/fn.binary.html         |    31 +
 arrow/compute/kernels/arity/fn.binary_mut.html     |    53 +
 arrow/compute/kernels/arity/fn.try_binary.html     |    17 +
 arrow/compute/kernels/arity/fn.try_binary_mut.html |    14 +
 arrow/compute/kernels/arity/fn.try_unary.html      |     8 +
 arrow/compute/kernels/arity/fn.try_unary_dyn.html  |     7 +
 arrow/compute/kernels/arity/fn.try_unary_mut.html  |     7 +
 arrow/compute/kernels/arity/fn.unary.html          |     5 +
 arrow/compute/kernels/arity/fn.unary_dyn.html      |     7 +
 arrow/compute/kernels/arity/fn.unary_mut.html      |     7 +
 arrow/compute/kernels/arity/index.html             |     5 +
 arrow/compute/kernels/arity/sidebar-items.js       |     1 +
 arrow/compute/kernels/bitwise/fn.bitwise_and.html  |     8 +
 .../kernels/bitwise/fn.bitwise_and_not.html        |     8 +
 .../kernels/bitwise/fn.bitwise_and_scalar.html     |     8 +
 arrow/compute/kernels/bitwise/fn.bitwise_not.html  |     7 +
 arrow/compute/kernels/bitwise/fn.bitwise_or.html   |     8 +
 .../kernels/bitwise/fn.bitwise_or_scalar.html      |     8 +
 .../kernels/bitwise/fn.bitwise_shift_left.html     |     8 +
 .../bitwise/fn.bitwise_shift_left_scalar.html      |     8 +
 .../kernels/bitwise/fn.bitwise_shift_right.html    |     8 +
 .../bitwise/fn.bitwise_shift_right_scalar.html     |     8 +
 arrow/compute/kernels/bitwise/fn.bitwise_xor.html  |     8 +
 .../kernels/bitwise/fn.bitwise_xor_scalar.html     |     8 +
 arrow/compute/kernels/bitwise/index.html           |    14 +
 arrow/compute/kernels/bitwise/sidebar-items.js     |     1 +
 arrow/compute/kernels/boolean/fn.and.html          |    13 +
 arrow/compute/kernels/boolean/fn.and_kleene.html   |    24 +
 arrow/compute/kernels/boolean/fn.and_not.html      |    15 +
 arrow/compute/kernels/boolean/fn.is_not_null.html  |     8 +
 arrow/compute/kernels/boolean/fn.is_null.html      |     8 +
 arrow/compute/kernels/boolean/fn.not.html          |     9 +
 arrow/compute/kernels/boolean/fn.or.html           |    13 +
 arrow/compute/kernels/boolean/fn.or_kleene.html    |    24 +
 arrow/compute/kernels/boolean/index.html           |    10 +
 arrow/compute/kernels/boolean/sidebar-items.js     |     1 +
 arrow/compute/kernels/cast/fn.can_cast_types.html  |     3 +
 arrow/compute/kernels/cast/fn.cast.html            |     6 +
 .../compute/kernels/cast/fn.cast_with_options.html |    89 +
 arrow/compute/kernels/cast/index.html              |    12 +
 arrow/compute/kernels/cast/sidebar-items.js        |     1 +
 arrow/compute/kernels/cast/struct.CastOptions.html |    32 +
 .../kernels/cast_utils/enum.IntervalUnit.html      |    46 +
 .../kernels/cast_utils/fn.parse_decimal.html       |     8 +
 .../cast_utils/fn.parse_interval_day_time.html     |     4 +
 .../fn.parse_interval_month_day_nano.html          |     4 +
 .../fn.parse_interval_month_day_nano_config.html   |     5 +
 .../cast_utils/fn.parse_interval_year_month.html   |     4 +
 .../kernels/cast_utils/fn.string_to_datetime.html  |    35 +
 .../cast_utils/fn.string_to_time_nanoseconds.html  |    13 +
 .../cast_utils/fn.string_to_timestamp_nanos.html   |    28 +
 arrow/compute/kernels/cast_utils/index.html        |     7 +
 arrow/compute/kernels/cast_utils/sidebar-items.js  |     1 +
 .../cast_utils/struct.IntervalParseConfig.html     |    21 +
 arrow/compute/kernels/cast_utils/trait.Parser.html |    25 +
 .../kernels/cast_utils/type.MonthDayNano.html      |     2 +
 .../compute/kernels/cmp/fn.compare_byte_view.html  |     8 +
 .../cmp/fn.compare_byte_view_unchecked.html        |    30 +
 arrow/compute/kernels/cmp/fn.distinct.html         |    15 +
 arrow/compute/kernels/cmp/fn.eq.html               |    11 +
 arrow/compute/kernels/cmp/fn.gt.html               |    11 +
 arrow/compute/kernels/cmp/fn.gt_eq.html            |    14 +
 arrow/compute/kernels/cmp/fn.lt.html               |    11 +
 arrow/compute/kernels/cmp/fn.lt_eq.html            |    14 +
 arrow/compute/kernels/cmp/fn.neq.html              |    11 +
 arrow/compute/kernels/cmp/fn.not_distinct.html     |    15 +
 arrow/compute/kernels/cmp/index.html               |     6 +
 arrow/compute/kernels/cmp/sidebar-items.js         |     1 +
 arrow/compute/kernels/comparison/fn.contains.html  |     5 +
 arrow/compute/kernels/comparison/fn.ends_with.html |     5 +
 arrow/compute/kernels/comparison/fn.ilike.html     |     8 +
 arrow/compute/kernels/comparison/fn.in_list.html   |     7 +
 .../kernels/comparison/fn.in_list_utf8.html        |     6 +
 arrow/compute/kernels/comparison/fn.like.html      |    17 +
 arrow/compute/kernels/comparison/fn.nilike.html    |     6 +
 arrow/compute/kernels/comparison/fn.nlike.html     |     6 +
 .../kernels/comparison/fn.regexp_is_match.html     |    34 +
 .../comparison/fn.regexp_is_match_scalar.html      |    24 +
 .../comparison/fn.regexp_is_match_utf8.html        |    12 +
 .../comparison/fn.regexp_is_match_utf8_scalar.html |     9 +
 .../compute/kernels/comparison/fn.starts_with.html |     5 +
 arrow/compute/kernels/comparison/index.html        |     5 +
 arrow/compute/kernels/comparison/sidebar-items.js  |     1 +
 .../kernels/comparison/trait.StringArrayType.html  |    16 +
 arrow/compute/kernels/concat/fn.concat.html        |     2 +
 .../compute/kernels/concat/fn.concat_batches.html  |     8 +
 arrow/compute/kernels/concat/index.html            |    12 +
 arrow/compute/kernels/concat/sidebar-items.js      |     1 +
 .../concat_elements/fn.concat_element_binary.html  |     6 +
 .../concat_elements/fn.concat_elements_bytes.html  |     6 +
 .../concat_elements/fn.concat_elements_dyn.html    |     7 +
 .../concat_elements/fn.concat_elements_utf8.html   |    14 +
 .../fn.concat_elements_utf8_many.html              |     8 +
 arrow/compute/kernels/concat_elements/index.html   |     2 +
 .../kernels/concat_elements/sidebar-items.js       |     1 +
 arrow/compute/kernels/filter/fn.build_filter.html  |     9 +
 arrow/compute/kernels/filter/fn.filter.html        |    13 +
 .../kernels/filter/fn.filter_record_batch.html     |     7 +
 .../kernels/filter/fn.prep_null_mask_filter.html   |     2 +
 arrow/compute/kernels/filter/index.html            |     5 +
 arrow/compute/kernels/filter/sidebar-items.js      |     1 +
 .../kernels/filter/struct.FilterBuilder.html       |    25 +
 .../kernels/filter/struct.FilterPredicate.html     |    21 +
 .../kernels/filter/struct.SlicesIterator.html      |   213 +
 arrow/compute/kernels/filter/type.Filter.html      |     3 +
 arrow/compute/kernels/fn.cast.html                 |     6 +
 arrow/compute/kernels/index.html                   |     5 +
 .../compute/kernels/interleave/fn.interleave.html  |    25 +
 arrow/compute/kernels/interleave/index.html        |     2 +
 arrow/compute/kernels/interleave/sidebar-items.js  |     1 +
 arrow/compute/kernels/length/fn.bit_length.html    |     8 +
 arrow/compute/kernels/length/fn.length.html        |     9 +
 arrow/compute/kernels/length/index.html            |     2 +
 arrow/compute/kernels/length/sidebar-items.js      |     1 +
 arrow/compute/kernels/nullif/fn.nullif.html        |     7 +
 arrow/compute/kernels/nullif/index.html            |     3 +
 arrow/compute/kernels/nullif/sidebar-items.js      |     1 +
 arrow/compute/kernels/numeric/fn.add.html          |     5 +
 arrow/compute/kernels/numeric/fn.add_wrapping.html |     5 +
 arrow/compute/kernels/numeric/fn.div.html          |     7 +
 arrow/compute/kernels/numeric/fn.mul.html          |     5 +
 arrow/compute/kernels/numeric/fn.mul_wrapping.html |     5 +
 arrow/compute/kernels/numeric/fn.neg.html          |     4 +
 arrow/compute/kernels/numeric/fn.neg_wrapping.html |     2 +
 arrow/compute/kernels/numeric/fn.rem.html          |     7 +
 arrow/compute/kernels/numeric/fn.sub.html          |     5 +
 arrow/compute/kernels/numeric/fn.sub_wrapping.html |     5 +
 arrow/compute/kernels/numeric/index.html           |     2 +
 arrow/compute/kernels/numeric/sidebar-items.js     |     1 +
 .../fn.lexicographical_partition_ranges.html       |     9 +
 arrow/compute/kernels/partition/fn.partition.html  |    41 +
 arrow/compute/kernels/partition/index.html         |     5 +
 arrow/compute/kernels/partition/sidebar-items.js   |     1 +
 .../kernels/partition/struct.Partitions.html       |    22 +
 arrow/compute/kernels/rank/fn.rank.html            |    11 +
 arrow/compute/kernels/rank/index.html              |     2 +
 arrow/compute/kernels/rank/sidebar-items.js        |     1 +
 .../compute/kernels/regexp/fn.regexp_is_match.html |    34 +
 .../kernels/regexp/fn.regexp_is_match_scalar.html  |    24 +
 .../kernels/regexp/fn.regexp_is_match_utf8.html    |    12 +
 .../regexp/fn.regexp_is_match_utf8_scalar.html     |     9 +
 arrow/compute/kernels/regexp/fn.regexp_match.html  |    22 +
 arrow/compute/kernels/regexp/index.html            |     6 +
 arrow/compute/kernels/regexp/sidebar-items.js      |     1 +
 arrow/compute/kernels/sidebar-items.js             |     1 +
 arrow/compute/kernels/sort/fn.lexsort.html         |    41 +
 .../kernels/sort/fn.lexsort_to_indices.html        |     8 +
 arrow/compute/kernels/sort/fn.partial_sort.html    |     3 +
 arrow/compute/kernels/sort/fn.sort.html            |    16 +
 arrow/compute/kernels/sort/fn.sort_limit.html      |    25 +
 arrow/compute/kernels/sort/fn.sort_to_indices.html |     7 +
 arrow/compute/kernels/sort/index.html              |     5 +
 arrow/compute/kernels/sort/sidebar-items.js        |     1 +
 .../sort/struct.LexicographicalComparator.html     |    22 +
 arrow/compute/kernels/sort/struct.SortColumn.html  |    21 +
 arrow/compute/kernels/sort/struct.SortOptions.html |    83 +
 arrow/compute/kernels/substring/fn.substring.html  |    38 +
 .../kernels/substring/fn.substring_by_char.html    |    31 +
 arrow/compute/kernels/substring/index.html         |     4 +
 arrow/compute/kernels/substring/sidebar-items.js   |     1 +
 arrow/compute/kernels/take/fn.take.html            |    36 +
 arrow/compute/kernels/take/fn.take_arrays.html     |    42 +
 .../compute/kernels/take/fn.take_record_batch.html |    35 +
 arrow/compute/kernels/take/index.html              |     3 +
 arrow/compute/kernels/take/sidebar-items.js        |     1 +
 arrow/compute/kernels/take/struct.TakeOptions.html |    22 +
 arrow/compute/kernels/temporal/enum.DatePart.html  |    57 +
 arrow/compute/kernels/temporal/fn.date_part.html   |    25 +
 arrow/compute/kernels/temporal/fn.day.html         |     6 +
 arrow/compute/kernels/temporal/fn.day_dyn.html     |     4 +
 arrow/compute/kernels/temporal/fn.doy.html         |     8 +
 arrow/compute/kernels/temporal/fn.doy_dyn.html     |     5 +
 arrow/compute/kernels/temporal/fn.hour.html        |     7 +
 arrow/compute/kernels/temporal/fn.hour_dyn.html    |     4 +
 arrow/compute/kernels/temporal/fn.microsecond.html |     6 +
 .../kernels/temporal/fn.microsecond_dyn.html       |     4 +
 arrow/compute/kernels/temporal/fn.millisecond.html |     6 +
 .../kernels/temporal/fn.millisecond_dyn.html       |     4 +
 arrow/compute/kernels/temporal/fn.minute.html      |     6 +
 arrow/compute/kernels/temporal/fn.minute_dyn.html  |     4 +
 arrow/compute/kernels/temporal/fn.month.html       |     7 +
 arrow/compute/kernels/temporal/fn.month_dyn.html   |     4 +
 arrow/compute/kernels/temporal/fn.nanosecond.html  |     6 +
 .../kernels/temporal/fn.nanosecond_dyn.html        |     4 +
 .../kernels/temporal/fn.num_days_from_monday.html  |     9 +
 .../temporal/fn.num_days_from_monday_dyn.html      |     9 +
 .../kernels/temporal/fn.num_days_from_sunday.html  |     9 +
 .../temporal/fn.num_days_from_sunday_dyn.html      |     9 +
 arrow/compute/kernels/temporal/fn.quarter.html     |     7 +
 arrow/compute/kernels/temporal/fn.quarter_dyn.html |     4 +
 arrow/compute/kernels/temporal/fn.second.html      |     6 +
 arrow/compute/kernels/temporal/fn.second_dyn.html  |     4 +
 ...fn.using_chrono_tz_and_utc_naive_date_time.html |     8 +
 arrow/compute/kernels/temporal/fn.week.html        |     6 +
 arrow/compute/kernels/temporal/fn.week_dyn.html    |     4 +
 arrow/compute/kernels/temporal/fn.year.html        |     6 +
 arrow/compute/kernels/temporal/fn.year_dyn.html    |     4 +
 arrow/compute/kernels/temporal/index.html          |    31 +
 arrow/compute/kernels/temporal/sidebar-items.js    |     1 +
 .../kernels/union_extract/fn.union_extract.html    |    41 +
 arrow/compute/kernels/union_extract/index.html     |     2 +
 .../compute/kernels/union_extract/sidebar-items.js |     1 +
 arrow/compute/kernels/window/fn.shift.html         |    30 +
 arrow/compute/kernels/window/index.html            |     4 +
 arrow/compute/kernels/window/sidebar-items.js      |     1 +
 arrow/compute/kernels/zip/fn.zip.html              |    13 +
 arrow/compute/kernels/zip/index.html               |     3 +
 arrow/compute/kernels/zip/sidebar-items.js         |     1 +
 arrow/compute/sidebar-items.js                     |     1 +
 arrow/compute/struct.CastOptions.html              |    32 +
 arrow/compute/struct.FilterBuilder.html            |    25 +
 arrow/compute/struct.FilterPredicate.html          |    21 +
 .../compute/struct.LexicographicalComparator.html  |    22 +
 arrow/compute/struct.Partitions.html               |    22 +
 arrow/compute/struct.SlicesIterator.html           |   213 +
 arrow/compute/struct.SortColumn.html               |    21 +
 arrow/compute/struct.SortOptions.html              |    83 +
 arrow/compute/struct.TakeOptions.html              |    22 +
 arrow/compute/type.Filter.html                     |     3 +
 arrow/constant.ARROW_VERSION.html                  |     2 +
 .../constant.DECIMAL128_MAX_PRECISION.html         |     2 +
 arrow/datatypes/constant.DECIMAL128_MAX_SCALE.html |     2 +
 .../constant.DECIMAL256_MAX_PRECISION.html         |     2 +
 arrow/datatypes/constant.DECIMAL256_MAX_SCALE.html |     2 +
 .../datatypes/constant.DECIMAL_DEFAULT_SCALE.html  |     3 +
 .../constant.MAX_DECIMAL_FOR_EACH_PRECISION.html   |     3 +
 .../constant.MIN_DECIMAL_FOR_EACH_PRECISION.html   |     3 +
 arrow/datatypes/enum.DataType.html                 |   375 +
 arrow/datatypes/enum.IntervalUnit.html             |    57 +
 arrow/datatypes/enum.TimeUnit.html                 |    52 +
 arrow/datatypes/enum.UnionMode.html                |    48 +
 .../fn.is_validate_decimal256_precision.html       |     3 +
 .../fn.is_validate_decimal_precision.html          |     3 +
 .../fn.validate_decimal256_precision.html          |     6 +
 arrow/datatypes/fn.validate_decimal_precision.html |     6 +
 .../fn.validate_decimal_precision_and_scale.html   |    13 +
 arrow/datatypes/index.html                         |    21 +
 arrow/datatypes/sidebar-items.js                   |     1 +
 arrow/datatypes/struct.BinaryViewType.html         |    18 +
 arrow/datatypes/struct.BooleanType.html            |    16 +
 arrow/datatypes/struct.Date32Type.html             |    86 +
 arrow/datatypes/struct.Date64Type.html             |    86 +
 arrow/datatypes/struct.Decimal128Type.html         |    26 +
 arrow/datatypes/struct.Decimal256Type.html         |    26 +
 .../datatypes/struct.DurationMicrosecondType.html  |    16 +
 .../datatypes/struct.DurationMillisecondType.html  |    16 +
 arrow/datatypes/struct.DurationNanosecondType.html |    16 +
 arrow/datatypes/struct.DurationSecondType.html     |    16 +
 arrow/datatypes/struct.Field.html                  |   203 +
 arrow/datatypes/struct.Fields.html                 |  1248 ++
 arrow/datatypes/struct.Float16Type.html            |    16 +
 arrow/datatypes/struct.Float32Type.html            |    16 +
 arrow/datatypes/struct.Float64Type.html            |    16 +
 arrow/datatypes/struct.GenericBinaryType.html      |    27 +
 arrow/datatypes/struct.GenericStringType.html      |    27 +
 arrow/datatypes/struct.Int16Type.html              |    16 +
 arrow/datatypes/struct.Int32Type.html              |    16 +
 arrow/datatypes/struct.Int64Type.html              |    16 +
 arrow/datatypes/struct.Int8Type.html               |    16 +
 arrow/datatypes/struct.IntervalDayTime.html        |   147 +
 arrow/datatypes/struct.IntervalDayTimeType.html    |    27 +
 arrow/datatypes/struct.IntervalMonthDayNano.html   |   184 +
 .../datatypes/struct.IntervalMonthDayNanoType.html |    32 +
 arrow/datatypes/struct.IntervalYearMonthType.html  |    33 +
 arrow/datatypes/struct.Schema.html                 |   143 +
 arrow/datatypes/struct.SchemaBuilder.html          |    38 +
 arrow/datatypes/struct.StringViewType.html         |    18 +
 arrow/datatypes/struct.Time32MillisecondType.html  |    25 +
 arrow/datatypes/struct.Time32SecondType.html       |    25 +
 arrow/datatypes/struct.Time64MicrosecondType.html  |    25 +
 arrow/datatypes/struct.Time64NanosecondType.html   |    25 +
 .../datatypes/struct.TimestampMicrosecondType.html |    86 +
 .../datatypes/struct.TimestampMillisecondType.html |    86 +
 .../datatypes/struct.TimestampNanosecondType.html  |    86 +
 arrow/datatypes/struct.TimestampSecondType.html    |    92 +
 arrow/datatypes/struct.UInt16Type.html             |    16 +
 arrow/datatypes/struct.UInt32Type.html             |    16 +
 arrow/datatypes/struct.UInt64Type.html             |    16 +
 arrow/datatypes/struct.UInt8Type.html              |    16 +
 arrow/datatypes/struct.UnionFields.html            |    66 +
 arrow/datatypes/struct.i256.html                   |   105 +
 arrow/datatypes/trait.ArrowDictionaryKeyType.html  |     3 +
 arrow/datatypes/trait.ArrowNativeType.html         |    61 +
 arrow/datatypes/trait.ArrowNativeTypeOp.html       |    74 +
 arrow/datatypes/trait.ArrowNumericType.html        |     3 +
 arrow/datatypes/trait.ArrowPrimitiveType.html      |    18 +
 arrow/datatypes/trait.ArrowTemporalType.html       |     2 +
 arrow/datatypes/trait.ArrowTimestampType.html      |    14 +
 arrow/datatypes/trait.ByteArrayType.html           |    31 +
 arrow/datatypes/trait.ByteViewType.html            |    25 +
 arrow/datatypes/trait.DecimalType.html             |    37 +
 arrow/datatypes/trait.RunEndIndexType.html         |     4 +
 arrow/datatypes/trait.ToByteSlice.html             |     8 +
 arrow/datatypes/type.BinaryType.html               |     2 +
 arrow/datatypes/type.FieldRef.html                 |     2 +
 arrow/datatypes/type.LargeBinaryType.html          |     2 +
 arrow/datatypes/type.LargeUtf8Type.html            |     2 +
 arrow/datatypes/type.SchemaRef.html                |     2 +
 arrow/datatypes/type.Utf8Type.html                 |     2 +
 arrow/error/enum.ArrowError.html                   |    54 +
 arrow/error/index.html                             |     2 +
 arrow/error/sidebar-items.js                       |     1 +
 arrow/error/type.Result.html                       |     7 +
 arrow/ffi/fn.export_array_into_raw.html            |    12 +
 arrow/ffi/fn.from_ffi.html                         |     7 +
 arrow/ffi/fn.from_ffi_and_data_type.html           |     7 +
 arrow/ffi/fn.to_ffi.html                           |     4 +
 arrow/ffi/index.html                               |    45 +
 arrow/ffi/sidebar-items.js                         |     1 +
 arrow/ffi/struct.FFI_ArrowArray.html               |    53 +
 arrow/ffi/struct.FFI_ArrowSchema.html              |    73 +
 arrow/ffi_stream/fn.export_reader_into_raw.html    |     8 +
 arrow/ffi_stream/index.html                        |    30 +
 arrow/ffi_stream/sidebar-items.js                  |     1 +
 .../ffi_stream/struct.ArrowArrayStreamReader.html  |   226 +
 arrow/ffi_stream/struct.FFI_ArrowArrayStream.html  |    41 +
 arrow/index.html                                   |   237 +
 arrow/macro.downcast_dictionary_array!.html        |    11 +
 arrow/macro.downcast_dictionary_array.html         |    26 +
 arrow/macro.downcast_primitive_array!.html         |    11 +
 arrow/macro.downcast_primitive_array.html          |    25 +
 arrow/pyarrow/fn.to_py_err.html                    |     1 +
 arrow/pyarrow/fn.validate_class.html               |     1 +
 arrow/pyarrow/fn.validate_pycapsule.html           |     4 +
 arrow/pyarrow/index.html                           |    35 +
 arrow/pyarrow/sidebar-items.js                     |     1 +
 arrow/pyarrow/struct.ArrowException.html           |    18 +
 arrow/pyarrow/struct.PyArrowType.html              |    26 +
 arrow/pyarrow/trait.FromPyArrow.html               |     8 +
 arrow/pyarrow/trait.IntoPyArrow.html               |     8 +
 arrow/pyarrow/trait.ToPyArrow.html                 |     6 +
 arrow/pyarrow/type.PyArrowException.html           |     2 +
 arrow/record_batch/index.html                      |     3 +
 arrow/record_batch/sidebar-items.js                |     1 +
 arrow/record_batch/struct.RecordBatch.html         |   166 +
 arrow/record_batch/struct.RecordBatchIterator.html |   230 +
 arrow/record_batch/struct.RecordBatchOptions.html  |    26 +
 arrow/record_batch/trait.RecordBatchReader.html    |    20 +
 arrow/record_batch/trait.RecordBatchWriter.html    |    13 +
 arrow/sidebar-items.js                             |     1 +
 .../constant.EPOCH_DAYS_FROM_CE.html               |     2 +
 .../constant.MICROSECONDS.html                     |     2 +
 .../constant.MICROSECONDS_IN_DAY.html              |     2 +
 .../constant.MILLISECONDS.html                     |     2 +
 .../constant.MILLISECONDS_IN_DAY.html              |     2 +
 .../temporal_conversions/constant.NANOSECONDS.html |     2 +
 .../constant.NANOSECONDS_IN_DAY.html               |     2 +
 .../constant.SECONDS_IN_DAY.html                   |     2 +
 arrow/temporal_conversions/fn.as_date.html         |     3 +
 arrow/temporal_conversions/fn.as_datetime.html     |     3 +
 .../fn.as_datetime_with_timezone.html              |     3 +
 arrow/temporal_conversions/fn.as_duration.html     |     3 +
 arrow/temporal_conversions/fn.as_time.html         |     3 +
 .../fn.date32_to_datetime.html                     |     2 +
 .../fn.date64_to_datetime.html                     |     2 +
 .../fn.duration_ms_to_duration.html                |     2 +
 .../fn.duration_ns_to_duration.html                |     2 +
 .../fn.duration_s_to_duration.html                 |     2 +
 .../fn.duration_us_to_duration.html                |     2 +
 .../temporal_conversions/fn.time32ms_to_time.html  |     2 +
 arrow/temporal_conversions/fn.time32s_to_time.html |     2 +
 .../temporal_conversions/fn.time64ns_to_time.html  |     2 +
 .../temporal_conversions/fn.time64us_to_time.html  |     2 +
 .../temporal_conversions/fn.time_to_time32ms.html  |     2 +
 arrow/temporal_conversions/fn.time_to_time32s.html |     2 +
 .../temporal_conversions/fn.time_to_time64ns.html  |     2 +
 .../temporal_conversions/fn.time_to_time64us.html  |     2 +
 .../fn.timestamp_ms_to_datetime.html               |     2 +
 .../fn.timestamp_ns_to_datetime.html               |     2 +
 .../fn.timestamp_s_to_datetime.html                |     2 +
 .../fn.timestamp_us_to_datetime.html               |     2 +
 arrow/temporal_conversions/index.html              |     2 +
 arrow/temporal_conversions/sidebar-items.js        |     1 +
 arrow/tensor/fn.compute_column_major_strides.html  |     4 +
 arrow/tensor/fn.compute_row_major_strides.html     |     4 +
 arrow/tensor/index.html                            |     3 +
 arrow/tensor/sidebar-items.js                      |     1 +
 arrow/tensor/struct.Tensor.html                    |    54 +
 arrow/tensor/type.BooleanTensor.html               |     9 +
 arrow/tensor/type.Date32Tensor.html                |     9 +
 arrow/tensor/type.Date64Tensor.html                |     9 +
 arrow/tensor/type.Decimal128Tensor.html            |     9 +
 arrow/tensor/type.Decimal256Tensor.html            |     9 +
 arrow/tensor/type.DurationMicrosecondTensor.html   |     9 +
 arrow/tensor/type.DurationMillisecondTensor.html   |     9 +
 arrow/tensor/type.DurationNanosecondTensor.html    |     9 +
 arrow/tensor/type.DurationSecondTensor.html        |     9 +
 arrow/tensor/type.Float16Tensor.html               |     9 +
 arrow/tensor/type.Float32Tensor.html               |     9 +
 arrow/tensor/type.Float64Tensor.html               |     9 +
 arrow/tensor/type.Int16Tensor.html                 |     9 +
 arrow/tensor/type.Int32Tensor.html                 |     9 +
 arrow/tensor/type.Int64Tensor.html                 |     9 +
 arrow/tensor/type.Int8Tensor.html                  |     9 +
 arrow/tensor/type.IntervalDayTimeTensor.html       |     9 +
 arrow/tensor/type.IntervalMonthDayNanoTensor.html  |     9 +
 arrow/tensor/type.IntervalYearMonthTensor.html     |     9 +
 arrow/tensor/type.Time32MillisecondTensor.html     |     9 +
 arrow/tensor/type.Time32SecondTensor.html          |     9 +
 arrow/tensor/type.Time64MicrosecondTensor.html     |     9 +
 arrow/tensor/type.Time64NanosecondTensor.html      |     9 +
 arrow/tensor/type.TimestampMicrosecondTensor.html  |     9 +
 arrow/tensor/type.TimestampMillisecondTensor.html  |     9 +
 arrow/tensor/type.TimestampNanosecondTensor.html   |     9 +
 arrow/tensor/type.TimestampSecondTensor.html       |     9 +
 arrow/tensor/type.UInt16Tensor.html                |     9 +
 arrow/tensor/type.UInt32Tensor.html                |     9 +
 arrow/tensor/type.UInt64Tensor.html                |     9 +
 arrow/tensor/type.UInt8Tensor.html                 |     9 +
 arrow/util/bench_util/fn.create_binary_array.html  |     5 +
 arrow/util/bench_util/fn.create_boolean_array.html |     7 +
 .../bench_util/fn.create_dict_from_values.html     |    10 +
 arrow/util/bench_util/fn.create_fsb_array.html     |     6 +
 .../fn.create_month_day_nano_array_with_seed.html  |     7 +
 .../util/bench_util/fn.create_primitive_array.html |     7 +
 .../fn.create_primitive_array_with_seed.html       |     9 +
 .../bench_util/fn.create_primitive_run_array.html  |     5 +
 .../fn.create_sparse_dict_from_values.html         |    11 +
 arrow/util/bench_util/fn.create_string_array.html  |     8 +
 .../fn.create_string_array_for_runs.html           |     8 +
 .../fn.create_string_array_with_len.html           |     6 +
 .../fn.create_string_array_with_max_len.html       |     6 +
 .../bench_util/fn.create_string_dict_array.html    |     7 +
 .../bench_util/fn.create_string_view_array.html    |     6 +
 .../fn.create_string_view_array_with_len.html      |     7 +
 .../fn.create_string_view_array_with_max_len.html  |     6 +
 arrow/util/bench_util/index.html                   |     9 +
 arrow/util/bench_util/sidebar-items.js             |     1 +
 arrow/util/bit_chunk_iterator/index.html           |     2 +
 arrow/util/bit_chunk_iterator/sidebar-items.js     |     1 +
 .../struct.BitChunkIterator.html                   |   202 +
 .../util/bit_chunk_iterator/struct.BitChunks.html  |    28 +
 .../struct.UnalignedBitChunk.html                  |    35 +
 .../type.UnalignedBitChunkIterator.html            |     2 +
 .../bit_iterator/fn.try_for_each_valid_idx.html    |    17 +
 arrow/util/bit_iterator/index.html                 |     3 +
 arrow/util/bit_iterator/sidebar-items.js           |     1 +
 .../util/bit_iterator/struct.BitIndexIterator.html |   205 +
 arrow/util/bit_iterator/struct.BitIterator.html    |   224 +
 .../util/bit_iterator/struct.BitSliceIterator.html |   209 +
 arrow/util/bit_mask/fn.set_bits.html               |    12 +
 arrow/util/bit_mask/index.html                     |     2 +
 arrow/util/bit_mask/sidebar-items.js               |     1 +
 arrow/util/bit_util/fn.ceil.html                   |     2 +
 arrow/util/bit_util/fn.get_bit.html                |     2 +
 arrow/util/bit_util/fn.get_bit_raw.html            |     5 +
 .../bit_util/fn.round_upto_multiple_of_64.html     |     2 +
 arrow/util/bit_util/fn.round_upto_power_of_2.html  |     3 +
 arrow/util/bit_util/fn.set_bit.html                |     2 +
 arrow/util/bit_util/fn.set_bit_raw.html            |     5 +
 arrow/util/bit_util/fn.unset_bit.html              |     2 +
 arrow/util/bit_util/fn.unset_bit_raw.html          |     5 +
 arrow/util/bit_util/index.html                     |     3 +
 arrow/util/bit_util/sidebar-items.js               |     1 +
 arrow/util/data_gen/fn.create_random_array.html    |     8 +
 arrow/util/data_gen/fn.create_random_batch.html    |     7 +
 .../util/data_gen/fn.create_random_list_array.html |     6 +
 .../util/data_gen/fn.create_random_map_array.html  |     6 +
 .../data_gen/fn.create_random_null_buffer.html     |     1 +
 arrow/util/data_gen/fn.create_random_offsets.html  |     6 +
 .../data_gen/fn.create_random_struct_array.html    |     6 +
 .../data_gen/fn.create_random_temporal_array.html  |     6 +
 arrow/util/data_gen/index.html                     |     4 +
 arrow/util/data_gen/sidebar-items.js               |     1 +
 arrow/util/data_gen/trait.RandomTemporalValue.html |    17 +
 arrow/util/display/enum.DurationFormat.html        |    32 +
 arrow/util/display/fn.array_value_to_string.html   |     8 +
 arrow/util/display/fn.lexical_to_string.html       |     3 +
 arrow/util/display/index.html                      |     5 +
 arrow/util/display/sidebar-items.js                |     1 +
 arrow/util/display/struct.ArrayFormatter.html      |    59 +
 arrow/util/display/struct.FormatOptions.html       |    68 +
 arrow/util/display/struct.ValueFormatter.html      |    21 +
 arrow/util/index.html                              |     5 +
 arrow/util/pretty/fn.pretty_format_batches.html    |     4 +
 .../fn.pretty_format_batches_with_options.html     |     5 +
 arrow/util/pretty/fn.pretty_format_columns.html    |     5 +
 arrow/util/pretty/fn.print_batches.html            |     2 +
 arrow/util/pretty/fn.print_columns.html            |     5 +
 arrow/util/pretty/index.html                       |     3 +
 arrow/util/pretty/sidebar-items.js                 |     1 +
 arrow/util/sidebar-items.js                        |     1 +
 arrow/util/string_writer/index.html                |    46 +
 arrow/util/string_writer/sidebar-items.js          |     1 +
 arrow/util/string_writer/struct.StringWriter.html  |    45 +
 arrow/util/test_util/fn.arrow_test_data.html       |    11 +
 arrow/util/test_util/fn.get_data_dir.html          |    10 +
 arrow/util/test_util/fn.get_temp_file.html         |     3 +
 arrow/util/test_util/fn.parquet_test_data.html     |    12 +
 arrow/util/test_util/fn.random_bytes.html          |     2 +
 arrow/util/test_util/fn.seedable_rng.html          |     2 +
 arrow/util/test_util/index.html                    |     5 +
 arrow/util/test_util/sidebar-items.js              |     1 +
 arrow/util/test_util/struct.BadIterator.html       |   221 +
 .../aggregate/constant.PREFERRED_VECTOR_SIZE.html  |     3 +
 .../constant.PREFERRED_VECTOR_SIZE_NON_NULL.html   |     2 +
 arrow_arith/aggregate/fn.aggregate.html            |     5 +
 .../aggregate/fn.aggregate_nonnull_chunk.html      |     4 +
 .../aggregate/fn.aggregate_nonnull_lanes.html      |     3 +
 .../aggregate/fn.aggregate_nonnull_simple.html     |     3 +
 .../aggregate/fn.aggregate_nullable_chunk.html     |     5 +
 .../aggregate/fn.aggregate_nullable_lanes.html     |     4 +
 arrow_arith/aggregate/fn.bit_and.html              |     5 +
 arrow_arith/aggregate/fn.bit_or.html               |     5 +
 arrow_arith/aggregate/fn.bit_xor.html              |     5 +
 arrow_arith/aggregate/fn.bool_and.html             |     3 +
 arrow_arith/aggregate/fn.bool_or.html              |     3 +
 arrow_arith/aggregate/fn.max.html                  |     4 +
 arrow_arith/aggregate/fn.max_array.html            |     7 +
 arrow_arith/aggregate/fn.max_binary.html           |     4 +
 arrow_arith/aggregate/fn.max_binary_view.html      |     2 +
 arrow_arith/aggregate/fn.max_boolean.html          |     6 +
 arrow_arith/aggregate/fn.max_string.html           |     4 +
 arrow_arith/aggregate/fn.max_string_view.html      |     2 +
 arrow_arith/aggregate/fn.min.html                  |     4 +
 arrow_arith/aggregate/fn.min_array.html            |     7 +
 arrow_arith/aggregate/fn.min_binary.html           |     4 +
 arrow_arith/aggregate/fn.min_binary_view.html      |     2 +
 arrow_arith/aggregate/fn.min_boolean.html          |     6 +
 arrow_arith/aggregate/fn.min_max_array_helper.html |     8 +
 arrow_arith/aggregate/fn.min_max_helper.html       |     6 +
 arrow_arith/aggregate/fn.min_max_view_helper.html  |     8 +
 arrow_arith/aggregate/fn.min_string.html           |     4 +
 arrow_arith/aggregate/fn.min_string_view.html      |     2 +
 arrow_arith/aggregate/fn.reduce_accumulators.html  |     3 +
 arrow_arith/aggregate/fn.select.html               |     3 +
 arrow_arith/aggregate/fn.sum.html                  |     6 +
 arrow_arith/aggregate/fn.sum_array.html            |     8 +
 arrow_arith/aggregate/fn.sum_array_checked.html    |     8 +
 arrow_arith/aggregate/fn.sum_checked.html          |     9 +
 arrow_arith/aggregate/index.html                   |    12 +
 arrow_arith/aggregate/macro.bit_operation!.html    |    11 +
 arrow_arith/aggregate/macro.bit_operation.html     |     3 +
 arrow_arith/aggregate/sidebar-items.js             |     1 +
 arrow_arith/aggregate/struct.MaxAccumulator.html   |    21 +
 arrow_arith/aggregate/struct.MinAccumulator.html   |    21 +
 arrow_arith/aggregate/struct.SumAccumulator.html   |    21 +
 .../aggregate/trait.NumericAccumulator.html        |    13 +
 arrow_arith/all.html                               |     1 +
 arrow_arith/arity/fn.binary.html                   |    31 +
 arrow_arith/arity/fn.binary_mut.html               |    53 +
 arrow_arith/arity/fn.create_union_null_buffer.html |     8 +
 arrow_arith/arity/fn.try_binary.html               |    15 +
 arrow_arith/arity/fn.try_binary_mut.html           |    14 +
 arrow_arith/arity/fn.try_binary_no_nulls.html      |     9 +
 arrow_arith/arity/fn.try_binary_no_nulls_mut.html  |     9 +
 arrow_arith/arity/fn.try_unary.html                |     8 +
 arrow_arith/arity/fn.try_unary_dict.html           |     8 +
 arrow_arith/arity/fn.try_unary_dyn.html            |     7 +
 arrow_arith/arity/fn.try_unary_mut.html            |     7 +
 arrow_arith/arity/fn.unary.html                    |     5 +
 arrow_arith/arity/fn.unary_dict.html               |     8 +
 arrow_arith/arity/fn.unary_dyn.html                |     4 +
 arrow_arith/arity/fn.unary_mut.html                |     7 +
 arrow_arith/arity/index.html                       |     6 +
 arrow_arith/arity/sidebar-items.js                 |     1 +
 arrow_arith/bitwise/fn.bitwise_and.html            |     8 +
 arrow_arith/bitwise/fn.bitwise_and_not.html        |     8 +
 arrow_arith/bitwise/fn.bitwise_and_scalar.html     |     8 +
 arrow_arith/bitwise/fn.bitwise_not.html            |     7 +
 arrow_arith/bitwise/fn.bitwise_op.html             |     8 +
 arrow_arith/bitwise/fn.bitwise_or.html             |     8 +
 arrow_arith/bitwise/fn.bitwise_or_scalar.html      |     8 +
 arrow_arith/bitwise/fn.bitwise_shift_left.html     |     8 +
 .../bitwise/fn.bitwise_shift_left_scalar.html      |     8 +
 arrow_arith/bitwise/fn.bitwise_shift_right.html    |     8 +
 .../bitwise/fn.bitwise_shift_right_scalar.html     |     8 +
 arrow_arith/bitwise/fn.bitwise_xor.html            |     8 +
 arrow_arith/bitwise/fn.bitwise_xor_scalar.html     |     8 +
 arrow_arith/bitwise/index.html                     |    14 +
 arrow_arith/bitwise/sidebar-items.js               |     1 +
 arrow_arith/boolean/fn.and.html                    |    13 +
 arrow_arith/boolean/fn.and_kleene.html             |    24 +
 arrow_arith/boolean/fn.and_not.html                |    15 +
 arrow_arith/boolean/fn.binary_boolean_kernel.html  |     7 +
 arrow_arith/boolean/fn.is_not_null.html            |     8 +
 arrow_arith/boolean/fn.is_null.html                |     8 +
 arrow_arith/boolean/fn.not.html                    |     9 +
 arrow_arith/boolean/fn.or.html                     |    13 +
 arrow_arith/boolean/fn.or_kleene.html              |    24 +
 arrow_arith/boolean/index.html                     |    10 +
 arrow_arith/boolean/sidebar-items.js               |     1 +
 arrow_arith/index.html                             |     2 +
 arrow_arith/numeric/enum.Op.html                   |    26 +
 arrow_arith/numeric/fn.add.html                    |     2 +
 arrow_arith/numeric/fn.add_wrapping.html           |     5 +
 arrow_arith/numeric/fn.arithmetic_op.html          |     6 +
 arrow_arith/numeric/fn.date_op.html                |     8 +
 arrow_arith/numeric/fn.decimal_op.html             |     8 +
 arrow_arith/numeric/fn.div.html                    |     4 +
 arrow_arith/numeric/fn.duration_op.html            |     7 +
 arrow_arith/numeric/fn.float_op.html               |     8 +
 arrow_arith/numeric/fn.integer_op.html             |     8 +
 arrow_arith/numeric/fn.interval_op.html            |     8 +
 arrow_arith/numeric/fn.mul.html                    |     2 +
 arrow_arith/numeric/fn.mul_wrapping.html           |     5 +
 arrow_arith/numeric/fn.neg.html                    |     4 +
 arrow_arith/numeric/fn.neg_wrapping.html           |     2 +
 arrow_arith/numeric/fn.rem.html                    |     4 +
 arrow_arith/numeric/fn.sub.html                    |     2 +
 arrow_arith/numeric/fn.sub_wrapping.html           |     5 +
 arrow_arith/numeric/fn.timestamp_op.html           |     8 +
 arrow_arith/numeric/index.html                     |     2 +
 arrow_arith/numeric/macro.date!.html               |    11 +
 arrow_arith/numeric/macro.date.html                |     3 +
 arrow_arith/numeric/macro.neg_checked!.html        |    11 +
 arrow_arith/numeric/macro.neg_checked.html         |     3 +
 arrow_arith/numeric/macro.neg_wrapping!.html       |    11 +
 arrow_arith/numeric/macro.neg_wrapping.html        |     3 +
 arrow_arith/numeric/macro.op!.html                 |    11 +
 arrow_arith/numeric/macro.op.html                  |     4 +
 arrow_arith/numeric/macro.op_ref!.html             |    11 +
 arrow_arith/numeric/macro.op_ref.html              |     4 +
 arrow_arith/numeric/macro.timestamp!.html          |    11 +
 arrow_arith/numeric/macro.timestamp.html           |     3 +
 arrow_arith/numeric/macro.try_op!.html             |    11 +
 arrow_arith/numeric/macro.try_op.html              |     4 +
 arrow_arith/numeric/macro.try_op_ref!.html         |    11 +
 arrow_arith/numeric/macro.try_op_ref.html          |     4 +
 arrow_arith/numeric/sidebar-items.js               |     1 +
 arrow_arith/numeric/trait.DateOp.html              |    41 +
 arrow_arith/numeric/trait.IntervalOp.html          |    36 +
 arrow_arith/numeric/trait.TimestampOp.html         |    68 +
 arrow_arith/sidebar-items.js                       |     1 +
 arrow_arith/temporal/enum.DatePart.html            |    51 +
 arrow_arith/temporal/fn.date_part.html             |    25 +
 arrow_arith/temporal/fn.date_part_primitive.html   |     6 +
 arrow_arith/temporal/fn.day.html                   |     4 +
 arrow_arith/temporal/fn.day_dyn.html               |     4 +
 arrow_arith/temporal/fn.doy.html                   |     6 +
 arrow_arith/temporal/fn.doy_dyn.html               |     5 +
 .../temporal/fn.get_date_time_part_extract_fn.html |     4 +
 arrow_arith/temporal/fn.get_tz.html                |     3 +
 arrow_arith/temporal/fn.hour.html                  |     5 +
 arrow_arith/temporal/fn.hour_dyn.html              |     4 +
 arrow_arith/temporal/fn.microsecond.html           |     6 +
 arrow_arith/temporal/fn.microsecond_dyn.html       |     4 +
 arrow_arith/temporal/fn.millisecond.html           |     6 +
 arrow_arith/temporal/fn.millisecond_dyn.html       |     4 +
 arrow_arith/temporal/fn.minute.html                |     4 +
 arrow_arith/temporal/fn.minute_dyn.html            |     4 +
 arrow_arith/temporal/fn.month.html                 |     5 +
 arrow_arith/temporal/fn.month_dyn.html             |     4 +
 arrow_arith/temporal/fn.nanosecond.html            |     6 +
 arrow_arith/temporal/fn.nanosecond_dyn.html        |     4 +
 arrow_arith/temporal/fn.num_days_from_monday.html  |     9 +
 .../temporal/fn.num_days_from_monday_dyn.html      |     9 +
 arrow_arith/temporal/fn.num_days_from_sunday.html  |     9 +
 .../temporal/fn.num_days_from_sunday_dyn.html      |     9 +
 arrow_arith/temporal/fn.quarter.html               |     5 +
 arrow_arith/temporal/fn.quarter_dyn.html           |     4 +
 arrow_arith/temporal/fn.second.html                |     4 +
 arrow_arith/temporal/fn.second_dyn.html            |     4 +
 ...fn.using_chrono_tz_and_utc_naive_date_time.html |     8 +
 arrow_arith/temporal/fn.week.html                  |     4 +
 arrow_arith/temporal/fn.week_dyn.html              |     4 +
 arrow_arith/temporal/fn.year.html                  |     4 +
 arrow_arith/temporal/fn.year_dyn.html              |     4 +
 arrow_arith/temporal/index.html                    |    34 +
 .../temporal/macro.return_compute_error_with!.html |    11 +
 .../temporal/macro.return_compute_error_with.html  |     3 +
 arrow_arith/temporal/sidebar-items.js              |     1 +
 arrow_arith/temporal/trait.ChronoDateExt.html      |    11 +
 arrow_arith/temporal/trait.ExtractDatePartExt.html |     5 +
 arrow_array/all.html                               |     1 +
 arrow_array/arithmetic/index.html                  |     2 +
 .../arithmetic/macro.native_type_float_op!.html    |    11 +
 .../arithmetic/macro.native_type_float_op.html     |     3 +
 arrow_array/arithmetic/macro.native_type_op!.html  |    11 +
 arrow_array/arithmetic/macro.native_type_op.html   |     5 +
 arrow_array/arithmetic/sidebar-items.js            |     1 +
 .../arithmetic/trait.ArrowNativeTypeOp.html        |    74 +
 arrow_array/array/binary_array/index.html          |     1 +
 arrow_array/array/binary_array/sidebar-items.js    |     1 +
 .../array/binary_array/type.BinaryArray.html       |    37 +
 .../binary_array/type.GenericBinaryArray.html      |    22 +
 .../array/binary_array/type.LargeBinaryArray.html  |    36 +
 arrow_array/array/boolean_array/index.html         |     1 +
 arrow_array/array/boolean_array/sidebar-items.js   |     1 +
 .../array/boolean_array/struct.BooleanArray.html   |   117 +
 arrow_array/array/byte_array/index.html            |     1 +
 arrow_array/array/byte_array/sidebar-items.js      |     1 +
 .../array/byte_array/struct.GenericByteArray.html  |   154 +
 arrow_array/array/byte_view_array/index.html       |     1 +
 arrow_array/array/byte_view_array/sidebar-items.js |     1 +
 .../struct.GenericByteViewArray.html               |   242 +
 .../byte_view_array/type.BinaryViewArray.html      |    18 +
 .../byte_view_array/type.StringViewArray.html      |    15 +
 arrow_array/array/dictionary_array/index.html      |     1 +
 .../array/dictionary_array/sidebar-items.js        |     1 +
 .../dictionary_array/struct.DictionaryArray.html   |   213 +
 .../struct.TypedDictionaryArray.html               |    53 +
 .../dictionary_array/trait.AnyDictionaryArray.html |    49 +
 .../type.Int16DictionaryArray.html                 |    20 +
 .../type.Int32DictionaryArray.html                 |    20 +
 .../type.Int64DictionaryArray.html                 |    20 +
 .../dictionary_array/type.Int8DictionaryArray.html |    20 +
 .../type.UInt16DictionaryArray.html                |    20 +
 .../type.UInt32DictionaryArray.html                |    20 +
 .../type.UInt64DictionaryArray.html                |    20 +
 .../type.UInt8DictionaryArray.html                 |    20 +
 .../array/fixed_size_binary_array/index.html       |     1 +
 .../array/fixed_size_binary_array/sidebar-items.js |     1 +
 .../struct.FixedSizeBinaryArray.html               |   143 +
 arrow_array/array/fixed_size_list_array/index.html |     2 +
 .../array/fixed_size_list_array/sidebar-items.js   |     1 +
 .../struct.FixedSizeListArray.html                 |   149 +
 arrow_array/array/fn.get_offsets.html              |     6 +
 arrow_array/array/fn.make_array.html               |     3 +
 arrow_array/array/fn.new_empty_array.html          |    11 +
 arrow_array/array/fn.new_null_array.html           |    12 +
 arrow_array/array/fn.print_long_array.html         |     8 +
 arrow_array/array/index.html                       |     7 +
 arrow_array/array/list_array/index.html            |     2 +
 arrow_array/array/list_array/sidebar-items.js      |     1 +
 .../array/list_array/struct.GenericListArray.html  |   140 +
 .../array/list_array/trait.OffsetSizeTrait.html    |    12 +
 .../array/list_array/type.LargeListArray.html      |     7 +
 arrow_array/array/list_array/type.ListArray.html   |     7 +
 arrow_array/array/list_view_array/index.html       |     2 +
 arrow_array/array/list_view_array/sidebar-items.js |     1 +
 .../struct.GenericListViewArray.html               |    88 +
 .../list_view_array/type.LargeListViewArray.html   |     8 +
 .../array/list_view_array/type.ListViewArray.html  |     8 +
 arrow_array/array/map_array/index.html             |     1 +
 arrow_array/array/map_array/sidebar-items.js       |     1 +
 arrow_array/array/map_array/struct.MapArray.html   |    92 +
 arrow_array/array/null_array/index.html            |     2 +
 arrow_array/array/null_array/sidebar-items.js      |     1 +
 arrow_array/array/null_array/struct.NullArray.html |    46 +
 arrow_array/array/primitive_array/index.html       |     1 +
 .../macro.def_from_for_primitive!.html             |    11 +
 .../macro.def_from_for_primitive.html              |     3 +
 .../macro.def_numeric_from_vec!.html               |    11 +
 .../macro.def_numeric_from_vec.html                |     3 +
 arrow_array/array/primitive_array/sidebar-items.js |     1 +
 .../primitive_array/struct.NativeAdapter.html      |    25 +
 .../primitive_array/struct.PrimitiveArray.html     |   349 +
 .../array/primitive_array/type.Date32Array.html    |     9 +
 .../array/primitive_array/type.Date64Array.html    |     9 +
 .../primitive_array/type.Decimal128Array.html      |    17 +
 .../primitive_array/type.Decimal256Array.html      |    18 +
 .../type.DurationMicrosecondArray.html             |     7 +
 .../type.DurationMillisecondArray.html             |     7 +
 .../type.DurationNanosecondArray.html              |     7 +
 .../primitive_array/type.DurationSecondArray.html  |     7 +
 .../array/primitive_array/type.Float16Array.html   |    21 +
 .../array/primitive_array/type.Float32Array.html   |    17 +
 .../array/primitive_array/type.Float64Array.html   |    17 +
 .../array/primitive_array/type.Int16Array.html     |    17 +
 .../array/primitive_array/type.Int32Array.html     |    17 +
 .../array/primitive_array/type.Int64Array.html     |    17 +
 .../array/primitive_array/type.Int8Array.html      |    17 +
 .../primitive_array/type.IntervalDayTimeArray.html |    15 +
 .../type.IntervalMonthDayNanoArray.html            |    15 +
 .../type.IntervalYearMonthArray.html               |    14 +
 .../type.Time32MillisecondArray.html               |     9 +
 .../primitive_array/type.Time32SecondArray.html    |     9 +
 .../type.Time64MicrosecondArray.html               |     9 +
 .../type.Time64NanosecondArray.html                |     9 +
 .../type.TimestampMicrosecondArray.html            |     8 +
 .../type.TimestampMillisecondArray.html            |     8 +
 .../type.TimestampNanosecondArray.html             |     8 +
 .../primitive_array/type.TimestampSecondArray.html |    38 +
 .../array/primitive_array/type.UInt16Array.html    |    17 +
 .../array/primitive_array/type.UInt32Array.html    |    17 +
 .../array/primitive_array/type.UInt64Array.html    |    17 +
 .../array/primitive_array/type.UInt8Array.html     |    17 +
 arrow_array/array/run_array/index.html             |     1 +
 arrow_array/array/run_array/sidebar-items.js       |     1 +
 arrow_array/array/run_array/struct.RunArray.html   |   115 +
 .../array/run_array/struct.TypedRunArray.html      |    56 +
 .../array/run_array/type.Int16RunArray.html        |    12 +
 .../array/run_array/type.Int32RunArray.html        |    12 +
 .../array/run_array/type.Int64RunArray.html        |    12 +
 arrow_array/array/sidebar-items.js                 |     1 +
 arrow_array/array/string_array/index.html          |     1 +
 arrow_array/array/string_array/sidebar-items.js    |     1 +
 .../string_array/type.GenericStringArray.html      |    28 +
 .../array/string_array/type.LargeStringArray.html  |    22 +
 .../array/string_array/type.StringArray.html       |    21 +
 arrow_array/array/struct.BooleanArray.html         |   117 +
 arrow_array/array/struct.DictionaryArray.html      |   213 +
 arrow_array/array/struct.FixedSizeBinaryArray.html |   143 +
 arrow_array/array/struct.FixedSizeListArray.html   |   149 +
 arrow_array/array/struct.GenericByteArray.html     |   154 +
 arrow_array/array/struct.GenericByteViewArray.html |   242 +
 arrow_array/array/struct.GenericListArray.html     |   140 +
 arrow_array/array/struct.GenericListViewArray.html |    88 +
 arrow_array/array/struct.MapArray.html             |    92 +
 arrow_array/array/struct.NativeAdapter.html        |    25 +
 arrow_array/array/struct.NullArray.html            |    46 +
 arrow_array/array/struct.PrimitiveArray.html       |   349 +
 arrow_array/array/struct.RunArray.html             |   115 +
 arrow_array/array/struct.StructArray.html          |   122 +
 arrow_array/array/struct.TypedDictionaryArray.html |    53 +
 arrow_array/array/struct.TypedRunArray.html        |    56 +
 arrow_array/array/struct.UnionArray.html           |   192 +
 arrow_array/array/struct_array/index.html          |     1 +
 arrow_array/array/struct_array/sidebar-items.js    |     1 +
 .../array/struct_array/struct.StructArray.html     |   122 +
 arrow_array/array/trait.AnyDictionaryArray.html    |    49 +
 arrow_array/array/trait.Array.html                 |   164 +
 arrow_array/array/trait.ArrayAccessor.html         |    88 +
 arrow_array/array/trait.OffsetSizeTrait.html       |    12 +
 arrow_array/array/type.ArrayRef.html               |    15 +
 arrow_array/array/type.BinaryArray.html            |    37 +
 arrow_array/array/type.BinaryViewArray.html        |    18 +
 arrow_array/array/type.Date32Array.html            |     9 +
 arrow_array/array/type.Date64Array.html            |     9 +
 arrow_array/array/type.Decimal128Array.html        |    17 +
 arrow_array/array/type.Decimal256Array.html        |    18 +
 .../array/type.DurationMicrosecondArray.html       |     7 +
 .../array/type.DurationMillisecondArray.html       |     7 +
 .../array/type.DurationNanosecondArray.html        |     7 +
 arrow_array/array/type.DurationSecondArray.html    |     7 +
 arrow_array/array/type.Float16Array.html           |    21 +
 arrow_array/array/type.Float32Array.html           |    17 +
 arrow_array/array/type.Float64Array.html           |    17 +
 arrow_array/array/type.GenericBinaryArray.html     |    22 +
 arrow_array/array/type.GenericStringArray.html     |    28 +
 arrow_array/array/type.Int16Array.html             |    17 +
 arrow_array/array/type.Int16DictionaryArray.html   |    20 +
 arrow_array/array/type.Int16RunArray.html          |    12 +
 arrow_array/array/type.Int32Array.html             |    17 +
 arrow_array/array/type.Int32DictionaryArray.html   |    20 +
 arrow_array/array/type.Int32RunArray.html          |    12 +
 arrow_array/array/type.Int64Array.html             |    17 +
 arrow_array/array/type.Int64DictionaryArray.html   |    20 +
 arrow_array/array/type.Int64RunArray.html          |    12 +
 arrow_array/array/type.Int8Array.html              |    17 +
 arrow_array/array/type.Int8DictionaryArray.html    |    20 +
 arrow_array/array/type.IntervalDayTimeArray.html   |    15 +
 .../array/type.IntervalMonthDayNanoArray.html      |    15 +
 arrow_array/array/type.IntervalYearMonthArray.html |    14 +
 arrow_array/array/type.LargeBinaryArray.html       |    36 +
 arrow_array/array/type.LargeListArray.html         |     7 +
 arrow_array/array/type.LargeListViewArray.html     |     8 +
 arrow_array/array/type.LargeStringArray.html       |    22 +
 arrow_array/array/type.ListArray.html              |     7 +
 arrow_array/array/type.ListViewArray.html          |     8 +
 arrow_array/array/type.StringArray.html            |    21 +
 arrow_array/array/type.StringViewArray.html        |    15 +
 arrow_array/array/type.Time32MillisecondArray.html |     9 +
 arrow_array/array/type.Time32SecondArray.html      |     9 +
 arrow_array/array/type.Time64MicrosecondArray.html |     9 +
 arrow_array/array/type.Time64NanosecondArray.html  |     9 +
 .../array/type.TimestampMicrosecondArray.html      |     8 +
 .../array/type.TimestampMillisecondArray.html      |     8 +
 .../array/type.TimestampNanosecondArray.html       |     8 +
 arrow_array/array/type.TimestampSecondArray.html   |    38 +
 arrow_array/array/type.UInt16Array.html            |    17 +
 arrow_array/array/type.UInt16DictionaryArray.html  |    20 +
 arrow_array/array/type.UInt32Array.html            |    17 +
 arrow_array/array/type.UInt32DictionaryArray.html  |    20 +
 arrow_array/array/type.UInt64Array.html            |    17 +
 arrow_array/array/type.UInt64DictionaryArray.html  |    20 +
 arrow_array/array/type.UInt8Array.html             |    17 +
 arrow_array/array/type.UInt8DictionaryArray.html   |    20 +
 arrow_array/array/union_array/enum.Mask.html       |    17 +
 .../array/union_array/enum.SparseStrategy.html     |    25 +
 .../array/union_array/fn.selection_mask.html       |     1 +
 .../union_array/fn.without_nulls_selected.html     |     5 +
 arrow_array/array/union_array/index.html           |     4 +
 arrow_array/array/union_array/sidebar-items.js     |     1 +
 .../array/union_array/struct.UnionArray.html       |   192 +
 arrow_array/builder/boolean_builder/index.html     |     1 +
 .../builder/boolean_builder/sidebar-items.js       |     1 +
 .../boolean_builder/struct.BooleanBuilder.html     |    67 +
 arrow_array/builder/buffer_builder/index.html      |     1 +
 .../builder/buffer_builder/sidebar-items.js        |     1 +
 .../buffer_builder/struct.BufferBuilder.html       |   169 +
 .../buffer_builder/type.Date32BufferBuilder.html   |     2 +
 .../buffer_builder/type.Date64BufferBuilder.html   |     2 +
 .../type.Decimal128BufferBuilder.html              |     2 +
 .../type.Decimal256BufferBuilder.html              |     2 +
 .../type.DurationMicrosecondBufferBuilder.html     |     2 +
 .../type.DurationMillisecondBufferBuilder.html     |     2 +
 .../type.DurationNanosecondBufferBuilder.html      |     2 +
 .../type.DurationSecondBufferBuilder.html          |     2 +
 .../buffer_builder/type.Float16BufferBuilder.html  |     2 +
 .../buffer_builder/type.Float32BufferBuilder.html  |     2 +
 .../buffer_builder/type.Float64BufferBuilder.html  |     2 +
 .../buffer_builder/type.Int16BufferBuilder.html    |     2 +
 .../buffer_builder/type.Int32BufferBuilder.html    |     2 +
 .../buffer_builder/type.Int64BufferBuilder.html    |     2 +
 .../buffer_builder/type.Int8BufferBuilder.html     |     2 +
 .../type.IntervalDayTimeBufferBuilder.html         |     2 +
 .../type.IntervalMonthDayNanoBufferBuilder.html    |     2 +
 .../type.IntervalYearMonthBufferBuilder.html       |     2 +
 .../type.Time32MillisecondBufferBuilder.html       |     2 +
 .../type.Time32SecondBufferBuilder.html            |     2 +
 .../type.Time64MicrosecondBufferBuilder.html       |     2 +
 .../type.Time64NanosecondBufferBuilder.html        |     2 +
 .../type.TimestampMicrosecondBufferBuilder.html    |     2 +
 .../type.TimestampMillisecondBufferBuilder.html    |     2 +
 .../type.TimestampNanosecondBufferBuilder.html     |     2 +
 .../type.TimestampSecondBufferBuilder.html         |     2 +
 .../buffer_builder/type.UInt16BufferBuilder.html   |     2 +
 .../buffer_builder/type.UInt32BufferBuilder.html   |     2 +
 .../buffer_builder/type.UInt64BufferBuilder.html   |     2 +
 .../buffer_builder/type.UInt8BufferBuilder.html    |     2 +
 .../builder/fixed_size_binary_builder/index.html   |     1 +
 .../fixed_size_binary_builder/sidebar-items.js     |     1 +
 .../struct.FixedSizeBinaryBuilder.html             |    47 +
 .../builder/fixed_size_list_builder/index.html     |     1 +
 .../fixed_size_list_builder/sidebar-items.js       |     1 +
 .../struct.FixedSizeListBuilder.html               |    87 +
 arrow_array/builder/fn.make_builder.html           |     8 +
 arrow_array/builder/fn.make_view.html              |     5 +
 .../builder/generic_byte_run_builder/index.html    |     1 +
 .../generic_byte_run_builder/sidebar-items.js      |     1 +
 .../struct.GenericByteRunBuilder.html              |    87 +
 .../type.BinaryRunBuilder.html                     |    33 +
 .../type.LargeBinaryRunBuilder.html                |     9 +
 .../type.LargeStringRunBuilder.html                |     9 +
 .../type.StringRunBuilder.html                     |    32 +
 .../builder/generic_bytes_builder/index.html       |     1 +
 .../builder/generic_bytes_builder/sidebar-items.js |     1 +
 .../struct.GenericByteBuilder.html                 |    65 +
 .../type.GenericBinaryBuilder.html                 |    21 +
 .../type.GenericStringBuilder.html                 |    43 +
 .../fn.get_bytes.html                              |     4 +
 .../generic_bytes_dictionary_builder/index.html    |     1 +
 .../sidebar-items.js                               |     1 +
 .../struct.GenericByteDictionaryBuilder.html       |   114 +
 .../type.BinaryDictionaryBuilder.html              |    34 +
 .../type.LargeBinaryDictionaryBuilder.html         |     7 +
 .../type.LargeStringDictionaryBuilder.html         |     7 +
 .../type.StringDictionaryBuilder.html              |    33 +
 .../constant.MAX_BLOCK_SIZE.html                   |     1 +
 .../constant.STARTING_BLOCK_SIZE.html              |     1 +
 .../enum.BlockSizeGrowthStrategy.html              |    19 +
 .../fn.make_inlined_view.html                      |     3 +
 .../generic_bytes_view_builder/fn.make_view.html   |     5 +
 .../builder/generic_bytes_view_builder/index.html  |     2 +
 .../generic_bytes_view_builder/sidebar-items.js    |     1 +
 .../struct.GenericByteViewBuilder.html             |   116 +
 .../type.BinaryViewBuilder.html                    |    25 +
 .../type.StringViewBuilder.html                    |    24 +
 .../builder/generic_list_builder/index.html        |     1 +
 .../builder/generic_list_builder/sidebar-items.js  |     1 +
 .../struct.GenericListBuilder.html                 |   147 +
 arrow_array/builder/index.html                     |   108 +
 arrow_array/builder/map_builder/index.html         |     1 +
 arrow_array/builder/map_builder/sidebar-items.js   |     1 +
 .../builder/map_builder/struct.MapBuilder.html     |    84 +
 .../builder/map_builder/struct.MapFieldNames.html  |    22 +
 arrow_array/builder/null_builder/index.html        |     1 +
 arrow_array/builder/null_builder/sidebar-items.js  |     1 +
 .../builder/null_builder/struct.NullBuilder.html   |    44 +
 arrow_array/builder/primitive_builder/index.html   |     1 +
 .../builder/primitive_builder/sidebar-items.js     |     1 +
 .../primitive_builder/struct.PrimitiveBuilder.html |    70 +
 .../primitive_builder/type.Date32Builder.html      |     6 +
 .../primitive_builder/type.Date64Builder.html      |     6 +
 .../primitive_builder/type.Decimal128Builder.html  |     6 +
 .../primitive_builder/type.Decimal256Builder.html  |     6 +
 .../type.DurationMicrosecondBuilder.html           |     6 +
 .../type.DurationMillisecondBuilder.html           |     6 +
 .../type.DurationNanosecondBuilder.html            |     6 +
 .../type.DurationSecondBuilder.html                |     6 +
 .../primitive_builder/type.Float16Builder.html     |     6 +
 .../primitive_builder/type.Float32Builder.html     |     6 +
 .../primitive_builder/type.Float64Builder.html     |     6 +
 .../primitive_builder/type.Int16Builder.html       |     6 +
 .../primitive_builder/type.Int32Builder.html       |     6 +
 .../primitive_builder/type.Int64Builder.html       |     6 +
 .../primitive_builder/type.Int8Builder.html        |     6 +
 .../type.IntervalDayTimeBuilder.html               |     6 +
 .../type.IntervalMonthDayNanoBuilder.html          |     6 +
 .../type.IntervalYearMonthBuilder.html             |     6 +
 .../type.Time32MillisecondBuilder.html             |     6 +
 .../type.Time32SecondBuilder.html                  |     6 +
 .../type.Time64MicrosecondBuilder.html             |     6 +
 .../type.Time64NanosecondBuilder.html              |     6 +
 .../type.TimestampMicrosecondBuilder.html          |     6 +
 .../type.TimestampMillisecondBuilder.html          |     6 +
 .../type.TimestampNanosecondBuilder.html           |     6 +
 .../type.TimestampSecondBuilder.html               |     6 +
 .../primitive_builder/type.UInt16Builder.html      |     6 +
 .../primitive_builder/type.UInt32Builder.html      |     6 +
 .../primitive_builder/type.UInt64Builder.html      |     6 +
 .../primitive_builder/type.UInt8Builder.html       |     6 +
 .../primitive_dictionary_builder/index.html        |     1 +
 .../primitive_dictionary_builder/sidebar-items.js  |     1 +
 .../struct.PrimitiveDictionaryBuilder.html         |   116 +
 .../primitive_dictionary_builder/struct.Value.html |    25 +
 .../builder/primitive_run_builder/index.html       |     1 +
 .../builder/primitive_run_builder/sidebar-items.js |     1 +
 .../struct.PrimitiveRunBuilder.html                |    87 +
 arrow_array/builder/sidebar-items.js               |     1 +
 .../builder/struct.BooleanBufferBuilder.html       |    46 +
 arrow_array/builder/struct.BooleanBuilder.html     |    67 +
 arrow_array/builder/struct.BufferBuilder.html      |   169 +
 .../builder/struct.FixedSizeBinaryBuilder.html     |    47 +
 .../builder/struct.FixedSizeListBuilder.html       |    87 +
 arrow_array/builder/struct.GenericByteBuilder.html |    65 +
 .../struct.GenericByteDictionaryBuilder.html       |   114 +
 .../builder/struct.GenericByteRunBuilder.html      |    87 +
 .../builder/struct.GenericByteViewBuilder.html     |   116 +
 arrow_array/builder/struct.GenericListBuilder.html |   147 +
 arrow_array/builder/struct.MapBuilder.html         |    84 +
 arrow_array/builder/struct.MapFieldNames.html      |    22 +
 arrow_array/builder/struct.NullBuilder.html        |    44 +
 arrow_array/builder/struct.PrimitiveBuilder.html   |    70 +
 .../builder/struct.PrimitiveDictionaryBuilder.html |   116 +
 .../builder/struct.PrimitiveRunBuilder.html        |    87 +
 arrow_array/builder/struct.StructBuilder.html      |   120 +
 arrow_array/builder/struct.UnionBuilder.html       |    77 +
 .../builder/struct_builder/fn.make_builder.html    |     8 +
 arrow_array/builder/struct_builder/index.html      |     3 +
 .../builder/struct_builder/sidebar-items.js        |     1 +
 .../struct_builder/struct.StructBuilder.html       |   120 +
 arrow_array/builder/trait.ArrayBuilder.html        |    80 +
 arrow_array/builder/type.BinaryBuilder.html        |     7 +
 .../builder/type.BinaryDictionaryBuilder.html      |    34 +
 arrow_array/builder/type.BinaryRunBuilder.html     |    33 +
 arrow_array/builder/type.BinaryViewBuilder.html    |    25 +
 arrow_array/builder/type.Date32BufferBuilder.html  |     2 +
 arrow_array/builder/type.Date32Builder.html        |     6 +
 arrow_array/builder/type.Date64BufferBuilder.html  |     2 +
 arrow_array/builder/type.Date64Builder.html        |     6 +
 .../builder/type.Decimal128BufferBuilder.html      |     2 +
 arrow_array/builder/type.Decimal128Builder.html    |     6 +
 .../builder/type.Decimal256BufferBuilder.html      |     2 +
 arrow_array/builder/type.Decimal256Builder.html    |     6 +
 .../type.DurationMicrosecondBufferBuilder.html     |     2 +
 .../builder/type.DurationMicrosecondBuilder.html   |     6 +
 .../type.DurationMillisecondBufferBuilder.html     |     2 +
 .../builder/type.DurationMillisecondBuilder.html   |     6 +
 .../type.DurationNanosecondBufferBuilder.html      |     2 +
 .../builder/type.DurationNanosecondBuilder.html    |     6 +
 .../builder/type.DurationSecondBufferBuilder.html  |     2 +
 .../builder/type.DurationSecondBuilder.html        |     6 +
 arrow_array/builder/type.Float16BufferBuilder.html |     2 +
 arrow_array/builder/type.Float16Builder.html       |     6 +
 arrow_array/builder/type.Float32BufferBuilder.html |     2 +
 arrow_array/builder/type.Float32Builder.html       |     6 +
 arrow_array/builder/type.Float64BufferBuilder.html |     2 +
 arrow_array/builder/type.Float64Builder.html       |     6 +
 arrow_array/builder/type.GenericBinaryBuilder.html |    21 +
 arrow_array/builder/type.GenericStringBuilder.html |    43 +
 arrow_array/builder/type.Int16BufferBuilder.html   |     2 +
 arrow_array/builder/type.Int16Builder.html         |     6 +
 arrow_array/builder/type.Int32BufferBuilder.html   |     2 +
 arrow_array/builder/type.Int32Builder.html         |     6 +
 arrow_array/builder/type.Int64BufferBuilder.html   |     2 +
 arrow_array/builder/type.Int64Builder.html         |     6 +
 arrow_array/builder/type.Int8BufferBuilder.html    |     2 +
 arrow_array/builder/type.Int8Builder.html          |     6 +
 .../builder/type.IntervalDayTimeBufferBuilder.html |     2 +
 .../builder/type.IntervalDayTimeBuilder.html       |     6 +
 .../type.IntervalMonthDayNanoBufferBuilder.html    |     2 +
 .../builder/type.IntervalMonthDayNanoBuilder.html  |     6 +
 .../type.IntervalYearMonthBufferBuilder.html       |     2 +
 .../builder/type.IntervalYearMonthBuilder.html     |     6 +
 arrow_array/builder/type.LargeBinaryBuilder.html   |     7 +
 .../builder/type.LargeBinaryDictionaryBuilder.html |     7 +
 .../builder/type.LargeBinaryRunBuilder.html        |     9 +
 arrow_array/builder/type.LargeListBuilder.html     |     7 +
 arrow_array/builder/type.LargeStringBuilder.html   |     7 +
 .../builder/type.LargeStringDictionaryBuilder.html |     7 +
 .../builder/type.LargeStringRunBuilder.html        |     9 +
 arrow_array/builder/type.ListBuilder.html          |     7 +
 arrow_array/builder/type.StringBuilder.html        |     7 +
 .../builder/type.StringDictionaryBuilder.html      |    33 +
 arrow_array/builder/type.StringRunBuilder.html     |    32 +
 arrow_array/builder/type.StringViewBuilder.html    |    24 +
 .../type.Time32MillisecondBufferBuilder.html       |     2 +
 .../builder/type.Time32MillisecondBuilder.html     |     6 +
 .../builder/type.Time32SecondBufferBuilder.html    |     2 +
 arrow_array/builder/type.Time32SecondBuilder.html  |     6 +
 .../type.Time64MicrosecondBufferBuilder.html       |     2 +
 .../builder/type.Time64MicrosecondBuilder.html     |     6 +
 .../type.Time64NanosecondBufferBuilder.html        |     2 +
 .../builder/type.Time64NanosecondBuilder.html      |     6 +
 .../type.TimestampMicrosecondBufferBuilder.html    |     2 +
 .../builder/type.TimestampMicrosecondBuilder.html  |     6 +
 .../type.TimestampMillisecondBufferBuilder.html    |     2 +
 .../builder/type.TimestampMillisecondBuilder.html  |     6 +
 .../type.TimestampNanosecondBufferBuilder.html     |     2 +
 .../builder/type.TimestampNanosecondBuilder.html   |     6 +
 .../builder/type.TimestampSecondBufferBuilder.html |     2 +
 .../builder/type.TimestampSecondBuilder.html       |     6 +
 arrow_array/builder/type.UInt16BufferBuilder.html  |     2 +
 arrow_array/builder/type.UInt16Builder.html        |     6 +
 arrow_array/builder/type.UInt32BufferBuilder.html  |     2 +
 arrow_array/builder/type.UInt32Builder.html        |     6 +
 arrow_array/builder/type.UInt64BufferBuilder.html  |     2 +
 arrow_array/builder/type.UInt64Builder.html        |     6 +
 arrow_array/builder/type.UInt8BufferBuilder.html   |     2 +
 arrow_array/builder/type.UInt8Builder.html         |     6 +
 arrow_array/builder/union_builder/index.html       |     1 +
 arrow_array/builder/union_builder/sidebar-items.js |     1 +
 .../builder/union_builder/struct.FieldData.html    |    30 +
 .../builder/union_builder/struct.UnionBuilder.html |    77 +
 .../union_builder/trait.FieldDataValues.html       |     7 +
 arrow_array/cast/fn.as_boolean_array.html          |     7 +
 arrow_array/cast/fn.as_decimal_array.html          |     2 +
 arrow_array/cast/fn.as_dictionary_array.html       |     9 +
 arrow_array/cast/fn.as_fixed_size_list_array.html  |     3 +
 arrow_array/cast/fn.as_generic_binary_array.html   |     5 +
 arrow_array/cast/fn.as_generic_list_array.html     |     5 +
 arrow_array/cast/fn.as_large_list_array.html       |     3 +
 arrow_array/cast/fn.as_largestring_array.html      |     3 +
 arrow_array/cast/fn.as_list_array.html             |     3 +
 arrow_array/cast/fn.as_map_array.html              |     3 +
 arrow_array/cast/fn.as_null_array.html             |     3 +
 arrow_array/cast/fn.as_primitive_array.html        |    19 +
 arrow_array/cast/fn.as_run_array.html              |     9 +
 arrow_array/cast/fn.as_string_array.html           |     7 +
 arrow_array/cast/fn.as_struct_array.html           |     3 +
 arrow_array/cast/fn.as_union_array.html            |     3 +
 arrow_array/cast/fn.downcast_array.html            |    21 +
 arrow_array/cast/index.html                        |    17 +
 arrow_array/cast/macro.array_downcast_fn!.html     |    11 +
 arrow_array/cast/macro.array_downcast_fn.html      |     4 +
 arrow_array/cast/private/index.html                |     1 +
 arrow_array/cast/private/sidebar-items.js          |     1 +
 arrow_array/cast/private/trait.Sealed.html         |     1 +
 arrow_array/cast/sidebar-items.js                  |     1 +
 arrow_array/cast/trait.AsArray.html                |    85 +
 arrow_array/delta/fn.add_days_datetime.html        |     6 +
 arrow_array/delta/fn.add_months_datetime.html      |     6 +
 arrow_array/delta/fn.shift_months.html             |     3 +
 arrow_array/delta/fn.sub_days_datetime.html        |     6 +
 arrow_array/delta/fn.sub_months_datetime.html      |     6 +
 arrow_array/delta/index.html                       |     2 +
 arrow_array/delta/sidebar-items.js                 |     1 +
 arrow_array/ffi/fn.bit_width.html                  |     1 +
 arrow_array/ffi/fn.create_buffer.html              |    13 +
 arrow_array/ffi/fn.export_array_into_raw.html      |    12 +
 arrow_array/ffi/fn.from_ffi.html                   |     7 +
 arrow_array/ffi/fn.from_ffi_and_data_type.html     |     7 +
 arrow_array/ffi/fn.to_ffi.html                     |     4 +
 arrow_array/ffi/index.html                         |    47 +
 arrow_array/ffi/sidebar-items.js                   |     1 +
 arrow_array/ffi/struct.FFI_ArrowArray.html         |    51 +
 arrow_array/ffi/struct.FFI_ArrowSchema.html        |    70 +
 arrow_array/ffi/struct.ImportedArrowArray.html     |    38 +
 arrow_array/ffi/type.Result.html                   |     6 +
 arrow_array/ffi_stream/constant.EINVAL.html        |     1 +
 arrow_array/ffi_stream/constant.EIO.html           |     1 +
 arrow_array/ffi_stream/constant.ENOMEM.html        |     1 +
 arrow_array/ffi_stream/constant.ENOSYS.html        |     1 +
 .../ffi_stream/fn.export_reader_into_raw.html      |     8 +
 arrow_array/ffi_stream/fn.get_error_code.html      |     1 +
 arrow_array/ffi_stream/fn.get_last_error.html      |     3 +
 arrow_array/ffi_stream/fn.get_next.html            |     4 +
 arrow_array/ffi_stream/fn.get_schema.html          |     4 +
 arrow_array/ffi_stream/fn.get_stream_schema.html   |     5 +
 arrow_array/ffi_stream/fn.release_stream.html      |     1 +
 arrow_array/ffi_stream/index.html                  |    31 +
 arrow_array/ffi_stream/sidebar-items.js            |     1 +
 .../ffi_stream/struct.ArrowArrayStreamReader.html  |   215 +
 .../ffi_stream/struct.ExportedArrayStream.html     |    13 +
 .../ffi_stream/struct.FFI_ArrowArrayStream.html    |    35 +
 .../ffi_stream/struct.StreamPrivateData.html       |    14 +
 arrow_array/ffi_stream/type.Result.html            |     6 +
 arrow_array/index.html                             |   165 +
 arrow_array/iterator/index.html                    |     2 +
 arrow_array/iterator/sidebar-items.js              |     1 +
 arrow_array/iterator/struct.ArrayIter.html         |   229 +
 arrow_array/iterator/type.BooleanIter.html         |     7 +
 arrow_array/iterator/type.FixedSizeBinaryIter.html |     7 +
 arrow_array/iterator/type.FixedSizeListIter.html   |     7 +
 arrow_array/iterator/type.GenericBinaryIter.html   |     7 +
 .../iterator/type.GenericListArrayIter.html        |     7 +
 .../iterator/type.GenericListViewArrayIter.html    |     7 +
 arrow_array/iterator/type.GenericStringIter.html   |     7 +
 arrow_array/iterator/type.MapArrayIter.html        |     7 +
 arrow_array/iterator/type.PrimitiveIter.html       |     7 +
 arrow_array/macro.downcast_dictionary_array!.html  |    11 +
 arrow_array/macro.downcast_dictionary_array.html   |    26 +
 arrow_array/macro.downcast_integer!.html           |    11 +
 arrow_array/macro.downcast_integer.html            |    26 +
 arrow_array/macro.downcast_primitive!.html         |    11 +
 arrow_array/macro.downcast_primitive.html          |    25 +
 arrow_array/macro.downcast_primitive_array!.html   |    11 +
 arrow_array/macro.downcast_primitive_array.html    |    25 +
 arrow_array/macro.downcast_run_array!.html         |    11 +
 arrow_array/macro.downcast_run_array.html          |    26 +
 arrow_array/macro.downcast_run_end_index!.html     |    11 +
 arrow_array/macro.downcast_run_end_index.html      |    26 +
 arrow_array/macro.downcast_temporal!.html          |    11 +
 arrow_array/macro.downcast_temporal.html           |    22 +
 arrow_array/macro.downcast_temporal_array!.html    |    11 +
 arrow_array/macro.downcast_temporal_array.html     |    25 +
 arrow_array/numeric/index.html                     |     1 +
 arrow_array/numeric/sidebar-items.js               |     1 +
 arrow_array/numeric/trait.ArrowNumericType.html    |     2 +
 arrow_array/record_batch/index.html                |     4 +
 arrow_array/record_batch/sidebar-items.js          |     1 +
 arrow_array/record_batch/struct.RecordBatch.html   |   169 +
 .../record_batch/struct.RecordBatchIterator.html   |   219 +
 .../record_batch/struct.RecordBatchOptions.html    |    21 +
 .../record_batch/trait.RecordBatchReader.html      |    14 +
 .../record_batch/trait.RecordBatchWriter.html      |     8 +
 arrow_array/run_iterator/index.html                |     3 +
 arrow_array/run_iterator/sidebar-items.js          |     1 +
 arrow_array/run_iterator/struct.RunArrayIter.html  |   250 +
 arrow_array/scalar/index.html                      |     3 +
 arrow_array/scalar/sidebar-items.js                |     1 +
 arrow_array/scalar/struct.Scalar.html              |    38 +
 arrow_array/scalar/trait.Datum.html                |    57 +
 arrow_array/sidebar-items.js                       |     1 +
 arrow_array/struct.RecordBatch.html                |   169 +
 arrow_array/struct.RecordBatchIterator.html        |   219 +
 arrow_array/struct.RecordBatchOptions.html         |    21 +
 arrow_array/struct.Scalar.html                     |    38 +
 .../constant.EPOCH_DAYS_FROM_CE.html               |     2 +
 .../constant.MICROSECONDS.html                     |     2 +
 .../constant.MICROSECONDS_IN_DAY.html              |     2 +
 .../constant.MILLISECONDS.html                     |     2 +
 .../constant.MILLISECONDS_IN_DAY.html              |     2 +
 .../temporal_conversions/constant.NANOSECONDS.html |     2 +
 .../constant.NANOSECONDS_IN_DAY.html               |     2 +
 .../constant.SECONDS_IN_DAY.html                   |     2 +
 arrow_array/temporal_conversions/fn.as_date.html   |     2 +
 .../temporal_conversions/fn.as_datetime.html       |     2 +
 .../fn.as_datetime_with_timezone.html              |     5 +
 .../temporal_conversions/fn.as_duration.html       |     2 +
 arrow_array/temporal_conversions/fn.as_time.html   |     2 +
 .../fn.date32_to_datetime.html                     |     2 +
 .../fn.date64_to_datetime.html                     |     2 +
 .../fn.duration_ms_to_duration.html                |     2 +
 .../fn.duration_ns_to_duration.html                |     2 +
 .../fn.duration_s_to_duration.html                 |     2 +
 .../fn.duration_us_to_duration.html                |     2 +
 .../temporal_conversions/fn.split_second.html      |     1 +
 .../temporal_conversions/fn.time32ms_to_time.html  |     2 +
 .../temporal_conversions/fn.time32s_to_time.html   |     2 +
 .../temporal_conversions/fn.time64ns_to_time.html  |     2 +
 .../temporal_conversions/fn.time64us_to_time.html  |     2 +
 .../temporal_conversions/fn.time_to_time32ms.html  |     2 +
 .../temporal_conversions/fn.time_to_time32s.html   |     2 +
 .../temporal_conversions/fn.time_to_time64ns.html  |     2 +
 .../temporal_conversions/fn.time_to_time64us.html  |     2 +
 .../fn.timestamp_ms_to_datetime.html               |     2 +
 .../fn.timestamp_ns_to_datetime.html               |     2 +
 .../fn.timestamp_s_to_datetime.html                |     2 +
 .../fn.timestamp_us_to_datetime.html               |     2 +
 arrow_array/temporal_conversions/index.html        |     2 +
 arrow_array/temporal_conversions/sidebar-items.js  |     1 +
 arrow_array/timezone/fn.parse_fixed_offset.html    |     2 +
 arrow_array/timezone/index.html                    |     2 +
 arrow_array/timezone/private/enum.TzInner.html     |    17 +
 arrow_array/timezone/private/index.html            |     1 +
 arrow_array/timezone/private/macro.tz!.html        |    11 +
 arrow_array/timezone/private/macro.tz.html         |     3 +
 arrow_array/timezone/private/sidebar-items.js      |     1 +
 arrow_array/timezone/private/struct.Tz.html        |    61 +
 arrow_array/timezone/private/struct.TzOffset.html  |    19 +
 arrow_array/timezone/sidebar-items.js              |     1 +
 arrow_array/timezone/struct.Tz.html                |    61 +
 arrow_array/timezone/struct.TzOffset.html          |    19 +
 arrow_array/trait.ArrowNativeTypeOp.html           |    74 +
 arrow_array/trait.ArrowNumericType.html            |     2 +
 arrow_array/trait.Datum.html                       |    57 +
 arrow_array/trait.RecordBatchReader.html           |    14 +
 arrow_array/trait.RecordBatchWriter.html           |     8 +
 arrow_array/trusted_len/fn.trusted_len_unzip.html  |     9 +
 arrow_array/trusted_len/index.html                 |     3 +
 arrow_array/trusted_len/sidebar-items.js           |     1 +
 arrow_array/types/byte_view/index.html             |     1 +
 arrow_array/types/byte_view/sidebar-items.js       |     1 +
 arrow_array/types/byte_view/trait.Sealed.html      |     1 +
 arrow_array/types/bytes/index.html                 |     3 +
 arrow_array/types/bytes/sidebar-items.js           |     1 +
 .../types/bytes/trait.ByteArrayNativeType.html     |    10 +
 .../types/bytes/trait.ByteArrayTypeSealed.html     |     1 +
 arrow_array/types/decimal/index.html               |     3 +
 arrow_array/types/decimal/sidebar-items.js         |     1 +
 .../types/decimal/trait.DecimalTypeSealed.html     |     1 +
 arrow_array/types/fn.add_day_time.html             |     5 +
 arrow_array/types/fn.add_month_day_nano.html       |     5 +
 arrow_array/types/fn.add_year_months.html          |     5 +
 arrow_array/types/fn.format_decimal_str.html       |     1 +
 arrow_array/types/fn.subtract_day_time.html        |     5 +
 arrow_array/types/fn.subtract_month_day_nano.html  |     5 +
 arrow_array/types/fn.subtract_year_months.html     |     5 +
 .../fn.validate_decimal_precision_and_scale.html   |    12 +
 arrow_array/types/index.html                       |     6 +
 arrow_array/types/macro.make_type!.html            |    11 +
 arrow_array/types/macro.make_type.html             |     3 +
 arrow_array/types/primitive/index.html             |     1 +
 arrow_array/types/primitive/sidebar-items.js       |     1 +
 .../types/primitive/trait.PrimitiveTypeSealed.html |     1 +
 arrow_array/types/sidebar-items.js                 |     1 +
 arrow_array/types/struct.BinaryViewType.html       |    16 +
 arrow_array/types/struct.BooleanType.html          |    14 +
 arrow_array/types/struct.Date32Type.html           |    80 +
 arrow_array/types/struct.Date64Type.html           |    80 +
 arrow_array/types/struct.Decimal128Type.html       |    17 +
 arrow_array/types/struct.Decimal256Type.html       |    17 +
 .../types/struct.DurationMicrosecondType.html      |    14 +
 .../types/struct.DurationMillisecondType.html      |    14 +
 .../types/struct.DurationNanosecondType.html       |    14 +
 arrow_array/types/struct.DurationSecondType.html   |    14 +
 arrow_array/types/struct.Float16Type.html          |    14 +
 arrow_array/types/struct.Float32Type.html          |    14 +
 arrow_array/types/struct.Float64Type.html          |    14 +
 arrow_array/types/struct.GenericBinaryType.html    |    23 +
 arrow_array/types/struct.GenericStringType.html    |    23 +
 arrow_array/types/struct.Int16Type.html            |    14 +
 arrow_array/types/struct.Int32Type.html            |    14 +
 arrow_array/types/struct.Int64Type.html            |    14 +
 arrow_array/types/struct.Int8Type.html             |    14 +
 arrow_array/types/struct.IntervalDayTime.html      |   124 +
 arrow_array/types/struct.IntervalDayTimeType.html  |    25 +
 arrow_array/types/struct.IntervalMonthDayNano.html |   161 +
 .../types/struct.IntervalMonthDayNanoType.html     |    30 +
 .../types/struct.IntervalYearMonthType.html        |    31 +
 arrow_array/types/struct.StringViewType.html       |    16 +
 .../types/struct.Time32MillisecondType.html        |    14 +
 arrow_array/types/struct.Time32SecondType.html     |    14 +
 .../types/struct.Time64MicrosecondType.html        |    14 +
 arrow_array/types/struct.Time64NanosecondType.html |    14 +
 .../types/struct.TimestampMicrosecondType.html     |    80 +
 .../types/struct.TimestampMillisecondType.html     |    80 +
 .../types/struct.TimestampNanosecondType.html      |    80 +
 arrow_array/types/struct.TimestampSecondType.html  |    86 +
 arrow_array/types/struct.UInt16Type.html           |    14 +
 arrow_array/types/struct.UInt32Type.html           |    14 +
 arrow_array/types/struct.UInt64Type.html           |    14 +
 arrow_array/types/struct.UInt8Type.html            |    14 +
 .../types/trait.ArrowDictionaryKeyType.html        |     3 +
 arrow_array/types/trait.ArrowPrimitiveType.html    |    18 +
 arrow_array/types/trait.ArrowTemporalType.html     |     2 +
 arrow_array/types/trait.ArrowTimestampType.html    |    14 +
 arrow_array/types/trait.ByteArrayType.html         |    29 +
 arrow_array/types/trait.ByteViewType.html          |    25 +
 arrow_array/types/trait.DecimalType.html           |    37 +
 arrow_array/types/trait.RunEndIndexType.html       |     4 +
 arrow_array/types/type.BinaryType.html             |     4 +
 arrow_array/types/type.LargeBinaryType.html        |     4 +
 arrow_array/types/type.LargeUtf8Type.html          |     4 +
 arrow_array/types/type.Utf8Type.html               |     4 +
 arrow_avro/all.html                                |     1 +
 arrow_avro/codec/enum.Codec.html                   |    35 +
 arrow_avro/codec/enum.Nulls.html                   |    22 +
 arrow_avro/codec/fn.make_data_type.html            |     9 +
 arrow_avro/codec/index.html                        |     2 +
 arrow_avro/codec/sidebar-items.js                  |     1 +
 arrow_avro/codec/struct.AvroDataType.html          |    19 +
 arrow_avro/codec/struct.AvroField.html             |    19 +
 arrow_avro/codec/struct.Resolver.html              |    24 +
 .../compression/constant.CODEC_METADATA_KEY.html   |     2 +
 arrow_avro/compression/enum.CompressionCodec.html  |    18 +
 arrow_avro/compression/index.html                  |     1 +
 arrow_avro/compression/sidebar-items.js            |     1 +
 arrow_avro/index.html                              |     2 +
 .../reader/block/enum.BlockDecoderState.html       |    17 +
 arrow_avro/reader/block/index.html                 |     2 +
 arrow_avro/reader/block/sidebar-items.js           |     1 +
 arrow_avro/reader/block/struct.Block.html          |    20 +
 arrow_avro/reader/block/struct.BlockDecoder.html   |    25 +
 arrow_avro/reader/fn.read_blocks.html              |     4 +
 arrow_avro/reader/fn.read_header.html              |     2 +
 arrow_avro/reader/header/constant.MAGIC.html       |     1 +
 .../reader/header/enum.HeaderDecoderState.html     |    30 +
 arrow_avro/reader/header/index.html                |     2 +
 arrow_avro/reader/header/sidebar-items.js          |     1 +
 arrow_avro/reader/header/struct.Header.html        |    22 +
 arrow_avro/reader/header/struct.HeaderDecoder.html |    34 +
 arrow_avro/reader/index.html                       |     2 +
 arrow_avro/reader/sidebar-items.js                 |     1 +
 arrow_avro/reader/vlq/index.html                   |     1 +
 arrow_avro/reader/vlq/sidebar-items.js             |     1 +
 arrow_avro/reader/vlq/struct.VLQDecoder.html       |    20 +
 .../schema/constant.SCHEMA_METADATA_KEY.html       |     2 +
 arrow_avro/schema/enum.ComplexType.html            |    25 +
 arrow_avro/schema/enum.PrimitiveType.html          |    28 +
 arrow_avro/schema/enum.Schema.html                 |    23 +
 arrow_avro/schema/enum.TypeName.html               |    22 +
 arrow_avro/schema/index.html                       |     1 +
 arrow_avro/schema/sidebar-items.js                 |     1 +
 arrow_avro/schema/struct.Array.html                |    22 +
 arrow_avro/schema/struct.Attributes.html           |    26 +
 arrow_avro/schema/struct.Enum.html                 |    27 +
 arrow_avro/schema/struct.Field.html                |    23 +
 arrow_avro/schema/struct.Fixed.html                |    25 +
 arrow_avro/schema/struct.Map.html                  |    22 +
 arrow_avro/schema/struct.Record.html               |    26 +
 arrow_avro/schema/struct.Type.html                 |    21 +
 arrow_avro/sidebar-items.js                        |     1 +
 arrow_buffer/all.html                              |     1 +
 .../alloc/alignment/constant.ALIGNMENT.html        |     2 +
 arrow_buffer/alloc/alignment/index.html            |     1 +
 arrow_buffer/alloc/alignment/sidebar-items.js      |     1 +
 arrow_buffer/alloc/constant.ALIGNMENT.html         |     2 +
 arrow_buffer/alloc/enum.Deallocation.html          |    21 +
 arrow_buffer/alloc/index.html                      |     3 +
 arrow_buffer/alloc/sidebar-items.js                |     1 +
 arrow_buffer/alloc/trait.Allocation.html           |     6 +
 arrow_buffer/arith/index.html                      |     2 +
 arrow_buffer/arith/macro.derive_arith!.html        |    11 +
 arrow_buffer/arith/macro.derive_arith.html         |     5 +
 arrow_buffer/arith/sidebar-items.js                |     1 +
 arrow_buffer/bigint/div/fn.add_assign.html         |     2 +
 arrow_buffer/bigint/div/fn.binop_slice.html        |     6 +
 arrow_buffer/bigint/div/fn.bits.html               |     2 +
 arrow_buffer/bigint/div/fn.div_rem.html            |     7 +
 arrow_buffer/bigint/div/fn.div_rem_knuth.html      |    12 +
 arrow_buffer/bigint/div/fn.div_rem_small.html      |     5 +
 arrow_buffer/bigint/div/fn.div_rem_word.html       |     4 +
 arrow_buffer/bigint/div/fn.full_mul_u64.html       |     2 +
 arrow_buffer/bigint/div/fn.full_shl.html           |     2 +
 arrow_buffer/bigint/div/fn.full_shr.html           |     2 +
 arrow_buffer/bigint/div/fn.shl_word.html           |     2 +
 arrow_buffer/bigint/div/fn.sub_assign.html         |     2 +
 arrow_buffer/bigint/div/index.html                 |     4 +
 arrow_buffer/bigint/div/sidebar-items.js           |     1 +
 arrow_buffer/bigint/div/struct.ArrayPlusOne.html   |  2498 +++
 arrow_buffer/bigint/enum.DivRemError.html          |    18 +
 arrow_buffer/bigint/fn.mulx.html                   |     5 +
 arrow_buffer/bigint/fn.parse_impl.html             |     2 +
 arrow_buffer/bigint/fn.split_array.html            |     5 +
 arrow_buffer/bigint/index.html                     |     4 +
 .../bigint/macro.define_as_primitive!.html         |    11 +
 arrow_buffer/bigint/macro.define_as_primitive.html |     3 +
 arrow_buffer/bigint/sidebar-items.js               |     1 +
 arrow_buffer/bigint/struct.ParseI256Error.html     |    14 +
 arrow_buffer/bigint/struct.i256.html               |    96 +
 arrow_buffer/bit_chunk_iterator/index.html         |     2 +
 arrow_buffer/bit_chunk_iterator/sidebar-items.js   |     1 +
 .../struct.BitChunkIterator.html                   |   194 +
 .../bit_chunk_iterator/struct.BitChunks.html       |    29 +
 .../struct.UnalignedBitChunk.html                  |    31 +
 .../type.UnalignedBitChunkIterator.html            |     2 +
 .../bit_iterator/fn.try_for_each_valid_idx.html    |    16 +
 arrow_buffer/bit_iterator/index.html               |     3 +
 arrow_buffer/bit_iterator/sidebar-items.js         |     1 +
 .../bit_iterator/struct.BitIndexIterator.html      |   197 +
 arrow_buffer/bit_iterator/struct.BitIterator.html  |   216 +
 .../bit_iterator/struct.BitSliceIterator.html      |   202 +
 arrow_buffer/bit_mask/fn.set_bits.html             |    12 +
 arrow_buffer/bit_mask/index.html                   |     2 +
 arrow_buffer/bit_mask/sidebar-items.js             |     1 +
 arrow_buffer/bit_util/fn.ceil.html                 |     2 +
 arrow_buffer/bit_util/fn.get_bit.html              |     2 +
 arrow_buffer/bit_util/fn.get_bit_raw.html          |     5 +
 .../bit_util/fn.round_upto_multiple_of_64.html     |     2 +
 .../bit_util/fn.round_upto_power_of_2.html         |     3 +
 arrow_buffer/bit_util/fn.set_bit.html              |     2 +
 arrow_buffer/bit_util/fn.set_bit_raw.html          |     5 +
 arrow_buffer/bit_util/fn.unset_bit.html            |     2 +
 arrow_buffer/bit_util/fn.unset_bit_raw.html        |     5 +
 arrow_buffer/bit_util/index.html                   |     3 +
 arrow_buffer/bit_util/sidebar-items.js             |     1 +
 arrow_buffer/buffer/boolean/index.html             |     1 +
 arrow_buffer/buffer/boolean/sidebar-items.js       |     1 +
 .../buffer/boolean/struct.BooleanBuffer.html       |    53 +
 arrow_buffer/buffer/fn.bitwise_bin_op_helper.html  |    11 +
 .../buffer/fn.bitwise_quaternary_op_helper.html    |     9 +
 .../buffer/fn.bitwise_unary_op_helper.html         |     9 +
 arrow_buffer/buffer/fn.buffer_bin_and.html         |     9 +
 arrow_buffer/buffer/fn.buffer_bin_and_not.html     |     9 +
 arrow_buffer/buffer/fn.buffer_bin_or.html          |     9 +
 arrow_buffer/buffer/fn.buffer_bin_xor.html         |     9 +
 arrow_buffer/buffer/fn.buffer_unary_not.html       |     7 +
 arrow_buffer/buffer/immutable/index.html           |     2 +
 arrow_buffer/buffer/immutable/sidebar-items.js     |     1 +
 arrow_buffer/buffer/immutable/struct.Buffer.html   |  1279 ++
 arrow_buffer/buffer/index.html                     |    11 +
 arrow_buffer/buffer/mutable/fn.dangling_ptr.html   |     1 +
 arrow_buffer/buffer/mutable/index.html             |     1 +
 arrow_buffer/buffer/mutable/sidebar-items.js       |     1 +
 .../buffer/mutable/struct.MutableBuffer.html       |  2638 +++
 .../buffer/mutable/struct.SetLenOnDrop.html        |    15 +
 arrow_buffer/buffer/null/index.html                |     1 +
 arrow_buffer/buffer/null/sidebar-items.js          |     1 +
 arrow_buffer/buffer/null/struct.NullBuffer.html    |    65 +
 arrow_buffer/buffer/offset/index.html              |     1 +
 arrow_buffer/buffer/offset/sidebar-items.js        |     1 +
 .../buffer/offset/struct.OffsetBuffer.html         |  1208 ++
 .../buffer/ops/fn.bitwise_bin_op_helper.html       |    11 +
 .../ops/fn.bitwise_quaternary_op_helper.html       |     9 +
 .../buffer/ops/fn.bitwise_unary_op_helper.html     |     9 +
 arrow_buffer/buffer/ops/fn.buffer_bin_and.html     |     9 +
 arrow_buffer/buffer/ops/fn.buffer_bin_and_not.html |     9 +
 arrow_buffer/buffer/ops/fn.buffer_bin_or.html      |     9 +
 arrow_buffer/buffer/ops/fn.buffer_bin_xor.html     |     9 +
 arrow_buffer/buffer/ops/fn.buffer_unary_not.html   |     7 +
 arrow_buffer/buffer/ops/index.html                 |     9 +
 arrow_buffer/buffer/ops/sidebar-items.js           |     1 +
 arrow_buffer/buffer/run/index.html                 |     1 +
 arrow_buffer/buffer/run/sidebar-items.js           |     1 +
 arrow_buffer/buffer/run/struct.RunEndBuffer.html   |    79 +
 arrow_buffer/buffer/scalar/index.html              |     1 +
 arrow_buffer/buffer/scalar/sidebar-items.js        |     1 +
 .../buffer/scalar/struct.ScalarBuffer.html         |  1194 ++
 arrow_buffer/buffer/sidebar-items.js               |     1 +
 arrow_buffer/buffer/struct.BooleanBuffer.html      |    53 +
 arrow_buffer/buffer/struct.Buffer.html             |  1279 ++
 arrow_buffer/buffer/struct.MutableBuffer.html      |  2638 +++
 arrow_buffer/buffer/struct.NullBuffer.html         |    65 +
 arrow_buffer/buffer/struct.OffsetBuffer.html       |  1208 ++
 arrow_buffer/buffer/struct.RunEndBuffer.html       |    79 +
 arrow_buffer/buffer/struct.ScalarBuffer.html       |  1194 ++
 arrow_buffer/builder/boolean/index.html            |     1 +
 arrow_buffer/builder/boolean/sidebar-items.js      |     1 +
 .../boolean/struct.BooleanBufferBuilder.html       |    43 +
 arrow_buffer/builder/index.html                    |     2 +
 arrow_buffer/builder/null/index.html               |     1 +
 arrow_buffer/builder/null/sidebar-items.js         |     1 +
 .../builder/null/struct.NullBufferBuilder.html     |    45 +
 arrow_buffer/builder/offset/index.html             |     1 +
 arrow_buffer/builder/offset/sidebar-items.js       |     1 +
 .../builder/offset/struct.OffsetBufferBuilder.html |  1169 ++
 arrow_buffer/builder/sidebar-items.js              |     1 +
 .../builder/struct.BooleanBufferBuilder.html       |    43 +
 arrow_buffer/builder/struct.BufferBuilder.html     |   160 +
 arrow_buffer/builder/struct.NullBufferBuilder.html |    45 +
 .../builder/struct.OffsetBufferBuilder.html        |  1169 ++
 arrow_buffer/bytes/index.html                      |     4 +
 arrow_buffer/bytes/sidebar-items.js                |     1 +
 arrow_buffer/bytes/struct.Bytes.html               |  1182 ++
 arrow_buffer/index.html                            |     5 +
 arrow_buffer/interval/index.html                   |     1 +
 arrow_buffer/interval/sidebar-items.js             |     1 +
 arrow_buffer/interval/struct.IntervalDayTime.html  |    72 +
 .../interval/struct.IntervalMonthDayNano.html      |    90 +
 arrow_buffer/native/index.html                     |     2 +
 arrow_buffer/native/macro.native_float!.html       |    11 +
 arrow_buffer/native/macro.native_float.html        |     3 +
 arrow_buffer/native/macro.native_integer!.html     |    11 +
 arrow_buffer/native/macro.native_integer.html      |     3 +
 arrow_buffer/native/private/index.html             |     1 +
 arrow_buffer/native/private/sidebar-items.js       |     1 +
 arrow_buffer/native/private/trait.Sealed.html      |     1 +
 arrow_buffer/native/sidebar-items.js               |     1 +
 arrow_buffer/native/trait.ArrowNativeType.html     |    61 +
 arrow_buffer/native/trait.ToByteSlice.html         |     6 +
 arrow_buffer/sidebar-items.js                      |     1 +
 arrow_buffer/struct.IntervalDayTime.html           |    72 +
 arrow_buffer/struct.IntervalMonthDayNano.html      |    90 +
 arrow_buffer/struct.i256.html                      |    96 +
 arrow_buffer/trait.ArrowNativeType.html            |    61 +
 arrow_buffer/trait.ToByteSlice.html                |     6 +
 .../bit_chunk_iterator/fn.compute_prefix_mask.html |     1 +
 .../bit_chunk_iterator/fn.compute_suffix_mask.html |     1 +
 .../util/bit_chunk_iterator/fn.read_u64.html       |     1 +
 arrow_buffer/util/bit_chunk_iterator/index.html    |     2 +
 .../util/bit_chunk_iterator/sidebar-items.js       |     1 +
 .../struct.BitChunkIterator.html                   |   194 +
 .../util/bit_chunk_iterator/struct.BitChunks.html  |    29 +
 .../struct.UnalignedBitChunk.html                  |    31 +
 .../type.UnalignedBitChunkIterator.html            |     2 +
 .../bit_iterator/fn.try_for_each_valid_idx.html    |    16 +
 arrow_buffer/util/bit_iterator/index.html          |     3 +
 arrow_buffer/util/bit_iterator/sidebar-items.js    |     1 +
 .../util/bit_iterator/struct.BitIndexIterator.html |   197 +
 .../util/bit_iterator/struct.BitIterator.html      |   216 +
 .../util/bit_iterator/struct.BitSliceIterator.html |   202 +
 .../util/bit_mask/fn.or_write_u64_bytes.html       |     5 +
 .../util/bit_mask/fn.read_bytes_to_u64.html        |     3 +
 arrow_buffer/util/bit_mask/fn.set_bits.html        |    12 +
 arrow_buffer/util/bit_mask/fn.set_upto_64bits.html |    11 +
 arrow_buffer/util/bit_mask/fn.write_u64_bytes.html |     3 +
 arrow_buffer/util/bit_mask/index.html              |     4 +
 arrow_buffer/util/bit_mask/sidebar-items.js        |     1 +
 arrow_buffer/util/bit_util/fn.ceil.html            |     2 +
 arrow_buffer/util/bit_util/fn.get_bit.html         |     2 +
 arrow_buffer/util/bit_util/fn.get_bit_raw.html     |     5 +
 .../bit_util/fn.round_upto_multiple_of_64.html     |     2 +
 .../util/bit_util/fn.round_upto_power_of_2.html    |     3 +
 arrow_buffer/util/bit_util/fn.set_bit.html         |     2 +
 arrow_buffer/util/bit_util/fn.set_bit_raw.html     |     5 +
 arrow_buffer/util/bit_util/fn.unset_bit.html       |     2 +
 arrow_buffer/util/bit_util/fn.unset_bit_raw.html   |     5 +
 arrow_buffer/util/bit_util/index.html              |     3 +
 arrow_buffer/util/bit_util/sidebar-items.js        |     1 +
 arrow_buffer/util/index.html                       |     1 +
 arrow_buffer/util/sidebar-items.js                 |     1 +
 arrow_cast/all.html                                |     1 +
 arrow_cast/base64/constant.BASE64_STANDARD.html    |     2 +
 .../base64/constant.BASE64_STANDARD_NO_PAD.html    |     2 +
 arrow_cast/base64/constant.BASE64_URL_SAFE.html    |     2 +
 .../base64/constant.BASE64_URL_SAFE_NO_PAD.html    |     2 +
 arrow_cast/base64/fn.b64_decode.html               |     5 +
 arrow_cast/base64/fn.b64_encode.html               |     5 +
 arrow_cast/base64/index.html                       |     2 +
 arrow_cast/base64/sidebar-items.js                 |     1 +
 arrow_cast/base64/trait.Engine.html                |   172 +
 .../cast/decimal/fn.cast_decimal_to_decimal.html   |    11 +
 .../decimal/fn.cast_decimal_to_decimal_error.html  |     8 +
 .../fn.cast_decimal_to_decimal_same_type.html      |     9 +
 .../cast/decimal/fn.cast_decimal_to_float.html     |     5 +
 .../cast/decimal/fn.cast_decimal_to_integer.html   |    10 +
 .../fn.cast_floating_point_to_decimal128.html      |     7 +
 .../fn.cast_floating_point_to_decimal256.html      |     7 +
 .../cast/decimal/fn.cast_string_to_decimal.html    |     9 +
 ...n.convert_to_bigger_or_equal_scale_decimal.html |    11 +
 .../fn.convert_to_smaller_scale_decimal.html       |    11 +
 .../decimal/fn.parse_string_to_decimal_native.html |     7 +
 .../cast/decimal/fn.string_to_decimal_cast.html    |     8 +
 arrow_cast/cast/decimal/index.html                 |     3 +
 arrow_cast/cast/decimal/sidebar-items.js           |     1 +
 arrow_cast/cast/decimal/trait.DecimalCast.html     |     8 +
 .../dictionary/fn.binary_view_to_dictionary.html   |     4 +
 .../cast/dictionary/fn.cast_to_dictionary.html     |     8 +
 arrow_cast/cast/dictionary/fn.dictionary_cast.html |     8 +
 .../fn.pack_array_to_dictionary_via_primitive.html |     7 +
 .../dictionary/fn.pack_byte_to_dictionary.html     |     6 +
 .../dictionary/fn.pack_numeric_to_dictionary.html  |     7 +
 .../dictionary/fn.string_view_to_dictionary.html   |     4 +
 .../cast/dictionary/fn.unpack_dictionary.html      |     6 +
 .../cast/dictionary/fn.view_from_dict_values.html  |     4 +
 arrow_cast/cast/dictionary/index.html              |     3 +
 arrow_cast/cast/dictionary/sidebar-items.js        |     1 +
 .../cast/fn.adjust_timestamp_to_timezone.html      |     5 +
 arrow_cast/cast/fn.as_time_res_with_timezone.html  |     4 +
 arrow_cast/cast/fn.bool_to_numeric_cast.html       |     6 +
 arrow_cast/cast/fn.can_cast_types.html             |     3 +
 arrow_cast/cast/fn.cast.html                       |     6 +
 .../cast/fn.cast_binary_to_fixed_size_binary.html  |     6 +
 arrow_cast/cast/fn.cast_bool_to_numeric.html       |     8 +
 arrow_cast/cast/fn.cast_byte_container.html        |     9 +
 arrow_cast/cast/fn.cast_duration_to_interval.html  |     5 +
 .../cast/fn.cast_fixed_size_binary_to_binary.html  |     6 +
 arrow_cast/cast/fn.cast_integer_to_decimal.html    |     9 +
 ...terval_day_time_to_interval_month_day_nano.html |     5 +
 ...rval_year_month_to_interval_month_day_nano.html |     5 +
 .../cast/fn.cast_month_day_nano_to_duration.html   |     5 +
 arrow_cast/cast/fn.cast_numeric_arrays.html        |     9 +
 arrow_cast/cast/fn.cast_numeric_to_binary.html     |     3 +
 arrow_cast/cast/fn.cast_numeric_to_bool.html       |     4 +
 arrow_cast/cast/fn.cast_reinterpret_arrays.html    |     4 +
 arrow_cast/cast/fn.cast_view_to_byte.html          |     7 +
 arrow_cast/cast/fn.cast_with_options.html          |    89 +
 arrow_cast/cast/fn.make_duration_array.html        |     4 +
 arrow_cast/cast/fn.make_timestamp_array.html       |     5 +
 arrow_cast/cast/fn.numeric_cast.html               |     5 +
 arrow_cast/cast/fn.numeric_to_bool_cast.html       |     4 +
 arrow_cast/cast/fn.time_unit_multiple.html         |     2 +
 arrow_cast/cast/fn.timestamp_to_date32.html        |     3 +
 arrow_cast/cast/fn.try_numeric_cast.html           |     7 +
 arrow_cast/cast/index.html                         |    14 +
 .../cast/list/fn.cast_fixed_size_list_to_list.html |     4 +
 arrow_cast/cast/list/fn.cast_list.html             |     6 +
 .../cast/list/fn.cast_list_to_fixed_size_list.html |     7 +
 arrow_cast/cast/list/fn.cast_list_values.html      |     6 +
 ...t_single_element_fixed_size_list_to_values.html |     5 +
 .../list/fn.cast_values_to_fixed_size_list.html    |     7 +
 arrow_cast/cast/list/fn.cast_values_to_list.html   |     6 +
 arrow_cast/cast/list/index.html                    |     1 +
 arrow_cast/cast/list/sidebar-items.js              |     1 +
 arrow_cast/cast/map/fn.cast_map_values.html        |     7 +
 arrow_cast/cast/map/fn.key_field.html              |     2 +
 arrow_cast/cast/map/fn.value_field.html            |     2 +
 arrow_cast/cast/map/index.html                     |     1 +
 arrow_cast/cast/map/sidebar-items.js               |     1 +
 arrow_cast/cast/sidebar-items.js                   |     1 +
 .../cast/string/fn.cast_binary_to_string.html      |     6 +
 .../fn.cast_string_to_day_time_interval.html       |     4 +
 .../cast/string/fn.cast_string_to_interval.html    |     8 +
 .../string/fn.cast_string_to_interval_impl.html    |     8 +
 .../fn.cast_string_to_month_day_nano_interval.html |     4 +
 .../cast/string/fn.cast_string_to_timestamp.html   |     6 +
 .../string/fn.cast_string_to_timestamp_impl.html   |     5 +
 .../fn.cast_string_to_year_month_interval.html     |     4 +
 .../cast/string/fn.cast_utf8_to_boolean.html       |     6 +
 .../string/fn.cast_view_to_day_time_interval.html  |     4 +
 .../cast/string/fn.cast_view_to_interval.html      |     7 +
 .../fn.cast_view_to_month_day_nano_interval.html   |     4 +
 .../cast/string/fn.cast_view_to_timestamp.html     |     6 +
 .../fn.cast_view_to_year_month_interval.html       |     4 +
 arrow_cast/cast/string/fn.parse_string.html        |     5 +
 arrow_cast/cast/string/fn.parse_string_iter.html   |     5 +
 arrow_cast/cast/string/fn.parse_string_view.html   |     5 +
 arrow_cast/cast/string/fn.value_to_string.html     |     4 +
 arrow_cast/cast/string/index.html                  |     2 +
 arrow_cast/cast/string/sidebar-items.js            |     1 +
 arrow_cast/cast/struct.CastOptions.html            |    25 +
 arrow_cast/display/enum.DurationFormat.html        |    25 +
 arrow_cast/display/enum.FormatError.html           |    15 +
 arrow_cast/display/fn.array_format.html            |     5 +
 arrow_cast/display/fn.array_value_to_string.html   |     8 +
 arrow_cast/display/fn.date32_to_date.html          |     1 +
 arrow_cast/display/fn.lexical_to_string.html       |     2 +
 arrow_cast/display/fn.make_formatter.html          |     4 +
 arrow_cast/display/fn.write_list.html              |     5 +
 arrow_cast/display/fn.write_timestamp.html         |     6 +
 arrow_cast/display/index.html                      |     5 +
 arrow_cast/display/macro.decimal_display!.html     |    11 +
 arrow_cast/display/macro.decimal_display.html      |     3 +
 arrow_cast/display/macro.duration_display!.html    |    11 +
 arrow_cast/display/macro.duration_display.html     |     3 +
 arrow_cast/display/macro.duration_fmt!.html        |    11 +
 arrow_cast/display/macro.duration_fmt.html         |     4 +
 arrow_cast/display/macro.primitive_display!.html   |    11 +
 arrow_cast/display/macro.primitive_display.html    |     3 +
 .../display/macro.primitive_display_float!.html    |    11 +
 .../display/macro.primitive_display_float.html     |     3 +
 arrow_cast/display/macro.temporal_display!.html    |    11 +
 arrow_cast/display/macro.temporal_display.html     |     3 +
 arrow_cast/display/macro.timestamp_display!.html   |    11 +
 arrow_cast/display/macro.timestamp_display.html    |     3 +
 arrow_cast/display/sidebar-items.js                |     1 +
 arrow_cast/display/struct.ArrayFormat.html         |    28 +
 arrow_cast/display/struct.ArrayFormatter.html      |    58 +
 arrow_cast/display/struct.FormatOptions.html       |    61 +
 .../display/struct.MillisecondsFormatter.html      |    16 +
 .../display/struct.NanosecondsFormatter.html       |    16 +
 arrow_cast/display/struct.ValueFormatter.html      |    20 +
 arrow_cast/display/trait.DisplayIndex.html         |     5 +
 arrow_cast/display/trait.DisplayIndexState.html    |   216 +
 arrow_cast/display/type.FieldDisplay.html          |     2 +
 arrow_cast/display/type.FormatResult.html          |     6 +
 arrow_cast/display/type.TimeFormat.html            |     6 +
 arrow_cast/index.html                              |     2 +
 arrow_cast/parse/constant.EPOCH_DAYS_FROM_CE.html  |     2 +
 .../constant.ERR_NANOSECONDS_NOT_SUPPORTED.html    |     2 +
 arrow_cast/parse/constant.INTERVAL_PRECISION.html  |     2 +
 arrow_cast/parse/constant.NANOS_PER_HOUR.html      |     1 +
 arrow_cast/parse/constant.NANOS_PER_MILLIS.html    |     1 +
 arrow_cast/parse/constant.NANOS_PER_MINUTE.html    |     1 +
 arrow_cast/parse/constant.NANOS_PER_SECOND.html    |     1 +
 arrow_cast/parse/enum.IntervalUnit.html            |    47 +
 arrow_cast/parse/fn.is_some_and.html               |     2 +
 arrow_cast/parse/fn.not_interval_amount.html       |     2 +
 arrow_cast/parse/fn.parse_date.html                |     1 +
 arrow_cast/parse/fn.parse_decimal.html             |     7 +
 arrow_cast/parse/fn.parse_e_notation.html          |     9 +
 arrow_cast/parse/fn.parse_interval_components.html |     5 +
 arrow_cast/parse/fn.parse_interval_day_time.html   |     4 +
 .../parse/fn.parse_interval_month_day_nano.html    |     4 +
 .../fn.parse_interval_month_day_nano_config.html   |     5 +
 arrow_cast/parse/fn.parse_interval_year_month.html |     4 +
 arrow_cast/parse/fn.parse_nanos.html               |     2 +
 arrow_cast/parse/fn.split_interval_components.html |     4 +
 arrow_cast/parse/fn.string_to_datetime.html        |    34 +
 arrow_cast/parse/fn.string_to_time.html            |     1 +
 .../parse/fn.string_to_time_nanoseconds.html       |    13 +
 arrow_cast/parse/fn.string_to_timestamp_nanos.html |    28 +
 arrow_cast/parse/fn.to_timestamp_nanos.html        |     2 +
 arrow_cast/parse/index.html                        |     7 +
 arrow_cast/parse/macro.parser_primitive!.html      |    11 +
 arrow_cast/parse/macro.parser_primitive.html       |     3 +
 arrow_cast/parse/sidebar-items.js                  |     1 +
 arrow_cast/parse/struct.Interval.html              |    29 +
 arrow_cast/parse/struct.IntervalAmount.html        |    20 +
 arrow_cast/parse/struct.IntervalParseConfig.html   |    21 +
 arrow_cast/parse/struct.TimestampParser.html       |    30 +
 arrow_cast/parse/trait.Parser.html                 |    25 +
 arrow_cast/parse/type.MonthDayNano.html            |     2 +
 arrow_cast/pretty/fn.create_column.html            |     5 +
 arrow_cast/pretty/fn.create_table.html             |     5 +
 arrow_cast/pretty/fn.pretty_format_batches.html    |     4 +
 .../fn.pretty_format_batches_with_options.html     |     5 +
 arrow_cast/pretty/fn.pretty_format_columns.html    |     5 +
 .../fn.pretty_format_columns_with_options.html     |     6 +
 arrow_cast/pretty/fn.print_batches.html            |     2 +
 arrow_cast/pretty/fn.print_columns.html            |     5 +
 arrow_cast/pretty/index.html                       |     3 +
 arrow_cast/pretty/sidebar-items.js                 |     1 +
 arrow_cast/sidebar-items.js                        |     1 +
 arrow_csv/all.html                                 |     1 +
 arrow_csv/fn.map_csv_error.html                    |     1 +
 arrow_csv/index.html                               |     2 +
 arrow_csv/reader/fn.build_boolean_array.html       |     6 +
 arrow_csv/reader/fn.build_decimal_array.html       |     8 +
 arrow_csv/reader/fn.build_primitive_array.html     |     6 +
 arrow_csv/reader/fn.build_timestamp_array.html     |     7 +
 .../reader/fn.build_timestamp_array_impl.html      |     7 +
 arrow_csv/reader/fn.infer_file_schema.html         |    12 +
 arrow_csv/reader/fn.infer_reader_schema.html       |    10 +
 arrow_csv/reader/fn.infer_schema_from_files.html   |    10 +
 arrow_csv/reader/fn.parse.html                     |     9 +
 arrow_csv/reader/fn.parse_bool.html                |     1 +
 arrow_csv/reader/index.html                        |    78 +
 .../records/constant.AVERAGE_FIELD_SIZE.html       |     2 +
 .../reader/records/constant.MIN_CAPACITY.html      |     2 +
 arrow_csv/reader/records/index.html                |     1 +
 arrow_csv/reader/records/sidebar-items.js          |     1 +
 arrow_csv/reader/records/struct.RecordDecoder.html |    47 +
 arrow_csv/reader/records/struct.StringRecord.html  |    18 +
 arrow_csv/reader/records/struct.StringRecords.html |    18 +
 arrow_csv/reader/sidebar-items.js                  |     1 +
 arrow_csv/reader/struct.BufReader.html             |   203 +
 arrow_csv/reader/struct.Decoder.html               |    71 +
 arrow_csv/reader/struct.Format.html                |    48 +
 arrow_csv/reader/struct.InferredDataType.html      |    28 +
 arrow_csv/reader/struct.NullRegex.html             |    17 +
 arrow_csv/reader/struct.REGEX_SET.html             |   147 +
 arrow_csv/reader/struct.ReaderBuilder.html         |    60 +
 arrow_csv/reader/type.Bounds.html                  |     6 +
 arrow_csv/reader/type.Reader.html                  |     9 +
 arrow_csv/sidebar-items.js                         |     1 +
 arrow_csv/writer/constant.DEFAULT_NULL_VALUE.html  |     1 +
 arrow_csv/writer/index.html                        |    39 +
 arrow_csv/writer/sidebar-items.js                  |     1 +
 arrow_csv/writer/struct.Writer.html                |    41 +
 arrow_csv/writer/struct.WriterBuilder.html         |    83 +
 arrow_data/all.html                                |     1 +
 .../bit_iterator/fn.try_for_each_valid_idx.html    |    17 +
 arrow_data/bit_iterator/index.html                 |     3 +
 arrow_data/bit_iterator/sidebar-items.js           |     1 +
 .../bit_iterator/struct.BitIndexIterator.html      |   197 +
 arrow_data/bit_iterator/struct.BitIterator.html    |   216 +
 .../bit_iterator/struct.BitSliceIterator.html      |   198 +
 arrow_data/bit_mask/fn.set_bits.html               |    12 +
 arrow_data/bit_mask/index.html                     |     2 +
 arrow_data/bit_mask/sidebar-items.js               |     1 +
 arrow_data/byte_view/fn.validate_binary_view.html  |     5 +
 arrow_data/byte_view/fn.validate_string_view.html  |     5 +
 arrow_data/byte_view/fn.validate_view_impl.html    |     6 +
 arrow_data/byte_view/index.html                    |     2 +
 arrow_data/byte_view/sidebar-items.js              |     1 +
 arrow_data/byte_view/struct.ByteView.html          |    65 +
 arrow_data/data/enum.BufferSpec.html               |    38 +
 arrow_data/data/fn.contains_nulls.html             |     5 +
 arrow_data/data/fn.count_nulls.html                |     5 +
 arrow_data/data/fn.layout.html                     |     3 +
 arrow_data/data/fn.new_buffers.html                |     5 +
 arrow_data/data/index.html                         |     5 +
 arrow_data/data/sidebar-items.js                   |     1 +
 arrow_data/data/struct.ArrayData.html              |   271 +
 arrow_data/data/struct.ArrayDataBuilder.html       |    51 +
 arrow_data/data/struct.DataTypeLayout.html         |    33 +
 arrow_data/data/type.ArrayDataRef.html             |     2 +
 .../decimal/constant.DECIMAL128_MAX_PRECISION.html |     2 +
 .../decimal/constant.DECIMAL128_MAX_SCALE.html     |     2 +
 .../decimal/constant.DECIMAL256_MAX_PRECISION.html |     2 +
 .../decimal/constant.DECIMAL256_MAX_SCALE.html     |     2 +
 .../decimal/constant.DECIMAL_DEFAULT_SCALE.html    |     3 +
 ...AX_DECIMAL_BYTES_FOR_LARGER_EACH_PRECISION.html |     6 +
 .../constant.MAX_DECIMAL_FOR_EACH_PRECISION.html   |     3 +
 ...t.MAX_DECIMAL_FOR_EACH_PRECISION_ONE_BASED.html |     5 +
 ...IN_DECIMAL_BYTES_FOR_LARGER_EACH_PRECISION.html |     6 +
 .../constant.MIN_DECIMAL_FOR_EACH_PRECISION.html   |     3 +
 ...t.MIN_DECIMAL_FOR_EACH_PRECISION_ONE_BASED.html |     5 +
 .../fn.is_validate_decimal256_precision.html       |     3 +
 .../decimal/fn.is_validate_decimal_precision.html  |     3 +
 .../decimal/fn.validate_decimal256_precision.html  |     6 +
 .../decimal/fn.validate_decimal_precision.html     |     6 +
 arrow_data/decimal/index.html                      |    24 +
 arrow_data/decimal/sidebar-items.js                |     1 +
 arrow_data/enum.BufferSpec.html                    |    38 +
 arrow_data/equal/boolean/fn.boolean_equal.html     |     9 +
 arrow_data/equal/boolean/index.html                |     2 +
 arrow_data/equal/boolean/sidebar-items.js          |     1 +
 arrow_data/equal/byte_view/fn.byte_view_equal.html |     7 +
 arrow_data/equal/byte_view/index.html              |     1 +
 arrow_data/equal/byte_view/sidebar-items.js        |     1 +
 .../equal/dictionary/fn.dictionary_equal.html      |     7 +
 arrow_data/equal/dictionary/index.html             |     1 +
 arrow_data/equal/dictionary/sidebar-items.js       |     1 +
 .../equal/fixed_binary/fn.fixed_binary_equal.html  |     7 +
 arrow_data/equal/fixed_binary/index.html           |     1 +
 arrow_data/equal/fixed_binary/sidebar-items.js     |     1 +
 .../equal/fixed_list/fn.fixed_list_equal.html      |     7 +
 arrow_data/equal/fixed_list/index.html             |     1 +
 arrow_data/equal/fixed_list/sidebar-items.js       |     1 +
 arrow_data/equal/fn.equal.html                     |    17 +
 arrow_data/equal/fn.equal_range.html               |     7 +
 arrow_data/equal/fn.equal_values.html              |     9 +
 arrow_data/equal/index.html                        |     5 +
 arrow_data/equal/list/fn.lengths_equal.html        |     1 +
 arrow_data/equal/list/fn.list_equal.html           |     7 +
 arrow_data/equal/list/index.html                   |     1 +
 arrow_data/equal/list/sidebar-items.js             |     1 +
 arrow_data/equal/null/fn.null_equal.html           |     7 +
 arrow_data/equal/null/index.html                   |     1 +
 arrow_data/equal/null/sidebar-items.js             |     1 +
 ...constant.NULL_SLICES_SELECTIVITY_THRESHOLD.html |     1 +
 arrow_data/equal/primitive/fn.primitive_equal.html |     7 +
 arrow_data/equal/primitive/index.html              |     1 +
 arrow_data/equal/primitive/sidebar-items.js        |     1 +
 arrow_data/equal/run/fn.run_equal.html             |    11 +
 arrow_data/equal/run/index.html                    |     4 +
 arrow_data/equal/run/sidebar-items.js              |     1 +
 arrow_data/equal/sidebar-items.js                  |     1 +
 .../equal/structure/fn.equal_child_values.html     |     9 +
 arrow_data/equal/structure/fn.struct_equal.html    |     7 +
 arrow_data/equal/structure/index.html              |     2 +
 arrow_data/equal/structure/sidebar-items.js        |     1 +
 arrow_data/equal/union/fn.equal_dense.html         |    10 +
 arrow_data/equal/union/fn.equal_sparse.html        |     7 +
 arrow_data/equal/union/fn.union_equal.html         |     7 +
 arrow_data/equal/union/index.html                  |     1 +
 arrow_data/equal/union/sidebar-items.js            |     1 +
 arrow_data/equal/utils/fn.base_equal.html          |     1 +
 arrow_data/equal/utils/fn.equal_bits.html          |     7 +
 arrow_data/equal/utils/fn.equal_len.html           |     7 +
 arrow_data/equal/utils/fn.equal_nulls.html         |     7 +
 arrow_data/equal/utils/index.html                  |     1 +
 arrow_data/equal/utils/sidebar-items.js            |     1 +
 .../equal/variable_size/fn.offset_value_equal.html |     9 +
 .../variable_size/fn.variable_sized_equal.html     |     7 +
 arrow_data/equal/variable_size/index.html          |     1 +
 arrow_data/equal/variable_size/sidebar-items.js    |     1 +
 arrow_data/ffi/fn.align_nulls.html                 |     3 +
 arrow_data/ffi/fn.release_array.html               |     1 +
 arrow_data/ffi/index.html                          |     3 +
 arrow_data/ffi/sidebar-items.js                    |     1 +
 arrow_data/ffi/struct.ArrayPrivateData.html        |    16 +
 arrow_data/ffi/struct.FFI_ArrowArray.html          |    51 +
 arrow_data/fn.layout.html                          |     3 +
 arrow_data/fn.validate_binary_view.html            |     5 +
 arrow_data/fn.validate_string_view.html            |     5 +
 arrow_data/index.html                              |     9 +
 arrow_data/sidebar-items.js                        |     1 +
 arrow_data/struct.ArrayData.html                   |   271 +
 arrow_data/struct.ArrayDataBuilder.html            |    51 +
 arrow_data/struct.ByteView.html                    |    65 +
 arrow_data/struct.DataTypeLayout.html              |    33 +
 arrow_data/transform/boolean/fn.build_extend.html  |     3 +
 arrow_data/transform/boolean/fn.extend_nulls.html  |     1 +
 arrow_data/transform/boolean/index.html            |     1 +
 arrow_data/transform/boolean/sidebar-items.js      |     1 +
 arrow_data/transform/enum.Capacities.html          |    46 +
 .../transform/fixed_binary/fn.build_extend.html    |     3 +
 .../transform/fixed_binary/fn.extend_nulls.html    |     1 +
 arrow_data/transform/fixed_binary/index.html       |     1 +
 arrow_data/transform/fixed_binary/sidebar-items.js |     1 +
 .../transform/fixed_size_list/fn.build_extend.html |     3 +
 .../transform/fixed_size_list/fn.extend_nulls.html |     1 +
 arrow_data/transform/fixed_size_list/index.html    |     1 +
 .../transform/fixed_size_list/sidebar-items.js     |     1 +
 arrow_data/transform/fn.build_extend.html          |     3 +
 .../transform/fn.build_extend_dictionary.html      |     8 +
 .../transform/fn.build_extend_null_bits.html       |     4 +
 arrow_data/transform/fn.build_extend_nulls.html    |     3 +
 arrow_data/transform/fn.build_extend_view.html     |     5 +
 .../fn.preallocate_offset_and_binary_buffer.html   |     4 +
 arrow_data/transform/index.html                    |     8 +
 arrow_data/transform/list/fn.build_extend.html     |     3 +
 arrow_data/transform/list/fn.extend_nulls.html     |     4 +
 arrow_data/transform/list/index.html               |     1 +
 arrow_data/transform/list/sidebar-items.js         |     1 +
 arrow_data/transform/null/fn.build_extend.html     |     3 +
 arrow_data/transform/null/fn.extend_nulls.html     |     1 +
 arrow_data/transform/null/index.html               |     1 +
 arrow_data/transform/null/sidebar-items.js         |     1 +
 .../transform/primitive/fn.build_extend.html       |     3 +
 .../primitive/fn.build_extend_with_offset.html     |     5 +
 .../transform/primitive/fn.extend_nulls.html       |     4 +
 arrow_data/transform/primitive/index.html          |     1 +
 arrow_data/transform/primitive/sidebar-items.js    |     1 +
 arrow_data/transform/sidebar-items.js              |     1 +
 arrow_data/transform/struct.MutableArrayData.html  |   111 +
 arrow_data/transform/struct._MutableArrayData.html |    21 +
 .../transform/structure/fn.build_extend.html       |     3 +
 .../transform/structure/fn.extend_nulls.html       |     1 +
 arrow_data/transform/structure/index.html          |     1 +
 arrow_data/transform/structure/sidebar-items.js    |     1 +
 arrow_data/transform/type.Extend.html              |     1 +
 arrow_data/transform/type.ExtendNullBits.html      |     1 +
 arrow_data/transform/type.ExtendNulls.html         |     1 +
 .../transform/union/fn.build_extend_dense.html     |     3 +
 .../transform/union/fn.build_extend_sparse.html    |     3 +
 .../transform/union/fn.extend_nulls_dense.html     |     4 +
 .../transform/union/fn.extend_nulls_sparse.html    |     4 +
 arrow_data/transform/union/index.html              |     1 +
 arrow_data/transform/union/sidebar-items.js        |     1 +
 arrow_data/transform/utils/fn.extend_offsets.html  |     5 +
 arrow_data/transform/utils/fn.get_last_offset.html |     3 +
 arrow_data/transform/utils/fn.resize_for_bits.html |     2 +
 arrow_data/transform/utils/index.html              |     1 +
 arrow_data/transform/utils/sidebar-items.js        |     1 +
 .../transform/variable_size/fn.build_extend.html   |     3 +
 .../transform/variable_size/fn.extend_nulls.html   |     4 +
 .../variable_size/fn.extend_offset_values.html     |     7 +
 arrow_data/transform/variable_size/index.html      |     1 +
 .../transform/variable_size/sidebar-items.js       |     1 +
 arrow_data/type.ArrayDataRef.html                  |     2 +
 arrow_file_to_stream/all.html                      |     1 +
 arrow_file_to_stream/fn.main.html                  |     1 +
 arrow_file_to_stream/index.html                    |     1 +
 arrow_file_to_stream/sidebar-items.js              |     1 +
 arrow_file_to_stream/struct.Args.html              |    34 +
 arrow_flight/all.html                              |     1 +
 arrow_flight/client/index.html                     |     2 +
 arrow_flight/client/sidebar-items.js               |     1 +
 arrow_flight/client/struct.FlightClient.html       |   318 +
 arrow_flight/decode/enum.DecodedPayload.html       |    25 +
 arrow_flight/decode/index.html                     |     8 +
 arrow_flight/decode/sidebar-items.js               |     1 +
 arrow_flight/decode/struct.DecodedFlightData.html  |    27 +
 arrow_flight/decode/struct.FlightDataDecoder.html  |   353 +
 .../decode/struct.FlightRecordBatchStream.html     |   366 +
 arrow_flight/decode/struct.FlightStreamState.html  |    22 +
 ...constant.GRPC_TARGET_MAX_FLIGHT_SIZE_BYTES.html |     4 +
 arrow_flight/encode/enum.DictionaryHandling.html   |    55 +
 arrow_flight/encode/fn.hydrate_dictionaries.html   |     6 +
 arrow_flight/encode/fn.hydrate_dictionary.html     |     5 +
 .../encode/fn.prepare_field_for_flight.html        |     5 +
 .../encode/fn.prepare_schema_for_flight.html       |     8 +
 .../encode/fn.split_batch_for_grpc_response.html   |     8 +
 arrow_flight/encode/index.html                     |     6 +
 arrow_flight/encode/sidebar-items.js               |     1 +
 arrow_flight/encode/struct.FlightDataEncoder.html  |   340 +
 .../encode/struct.FlightDataEncoderBuilder.html    |   108 +
 arrow_flight/encode/struct.FlightIpcEncoder.html   |    32 +
 arrow_flight/enum.CancelStatus.html                |    62 +
 arrow_flight/error/enum.FlightError.html           |    34 +
 arrow_flight/error/index.html                      |     2 +
 arrow_flight/error/sidebar-items.js                |     1 +
 arrow_flight/error/type.Result.html                |     7 +
 .../flight_descriptor/enum.DescriptorType.html     |    56 +
 arrow_flight/flight_descriptor/index.html          |     2 +
 arrow_flight/flight_descriptor/sidebar-items.js    |     1 +
 arrow_flight/flight_service_client/index.html      |     5 +
 .../flight_service_client/sidebar-items.js         |     1 +
 .../struct.FlightServiceClient.html                |   150 +
 arrow_flight/flight_service_server/index.html      |     6 +
 .../flight_service_server/sidebar-items.js         |     1 +
 .../struct.FlightServiceServer.html                |   131 +
 .../flight_service_server/trait.FlightService.html |   200 +
 arrow_flight/fn.flight_schema_as_encoded_data.html |     4 +
 arrow_flight/fn.flight_schema_as_flatbuffer.html   |     4 +
 arrow_flight/fn.limited_fmt.html                   |     6 +
 arrow_flight/fn.schema_to_ipc_format.html          |     3 +
 arrow_flight/gen/enum.CancelStatus.html            |    62 +
 .../gen/flight_descriptor/enum.DescriptorType.html |    56 +
 arrow_flight/gen/flight_descriptor/index.html      |     2 +
 .../gen/flight_descriptor/sidebar-items.js         |     1 +
 arrow_flight/gen/flight_service_client/index.html  |     5 +
 .../gen/flight_service_client/sidebar-items.js     |     1 +
 .../struct.FlightServiceClient.html                |   150 +
 .../constant.SERVICE_NAME.html                     |     2 +
 arrow_flight/gen/flight_service_server/index.html  |     5 +
 .../gen/flight_service_server/sidebar-items.js     |     1 +
 .../struct.FlightServiceServer.html                |   131 +
 .../flight_service_server/trait.FlightService.html |   200 +
 arrow_flight/gen/index.html                        |     7 +
 arrow_flight/gen/sidebar-items.js                  |     1 +
 arrow_flight/gen/struct.Action.html                |    39 +
 arrow_flight/gen/struct.ActionType.html            |    39 +
 arrow_flight/gen/struct.BasicAuth.html             |    38 +
 .../gen/struct.CancelFlightInfoRequest.html        |    41 +
 .../gen/struct.CancelFlightInfoResult.html         |    42 +
 arrow_flight/gen/struct.Criteria.html              |    38 +
 arrow_flight/gen/struct.Empty.html                 |    34 +
 arrow_flight/gen/struct.FlightData.html            |    65 +
 arrow_flight/gen/struct.FlightDescriptor.html      |    49 +
 arrow_flight/gen/struct.FlightEndpoint.html        |    83 +
 arrow_flight/gen/struct.FlightInfo.html            |   101 +
 arrow_flight/gen/struct.HandshakeRequest.html      |    40 +
 arrow_flight/gen/struct.HandshakeResponse.html     |    39 +
 arrow_flight/gen/struct.Location.html              |    39 +
 arrow_flight/gen/struct.PollInfo.html              |    78 +
 arrow_flight/gen/struct.PutResult.html             |    40 +
 .../gen/struct.RenewFlightEndpointRequest.html     |    41 +
 arrow_flight/gen/struct.Result.html                |    38 +
 arrow_flight/gen/struct.SchemaResult.html          |    41 +
 arrow_flight/gen/struct.Ticket.html                |    44 +
 arrow_flight/index.html                            |    32 +
 arrow_flight/sidebar-items.js                      |     1 +
 arrow_flight/sql/client/enum.ArrowFlightData.html  |    23 +
 .../sql/client/fn.arrow_data_from_flight_data.html |     5 +
 .../sql/client/fn.decode_error_to_arrow_error.html |     1 +
 .../sql/client/fn.flight_error_to_arrow_error.html |     1 +
 .../sql/client/fn.status_to_arrow_error.html       |     1 +
 arrow_flight/sql/client/index.html                 |     3 +
 arrow_flight/sql/client/sidebar-items.js           |     1 +
 .../sql/client/struct.FlightSqlServiceClient.html  |   135 +
 .../sql/client/struct.PreparedStatement.html       |    53 +
 ...nt.ACTION_BEGIN_SAVEPOINT_REQUEST_TYPE_URL.html |     1 +
 ...ant.ACTION_BEGIN_SAVEPOINT_RESULT_TYPE_URL.html |     1 +
 ....ACTION_BEGIN_TRANSACTION_REQUEST_TYPE_URL.html |     1 +
 ...t.ACTION_BEGIN_TRANSACTION_RESULT_TYPE_URL.html |     1 +
 ...stant.ACTION_CANCEL_QUERY_REQUEST_TYPE_URL.html |     1 +
 ...nstant.ACTION_CANCEL_QUERY_RESULT_TYPE_URL.html |     1 +
 ..._CLOSE_PREPARED_STATEMENT_REQUEST_TYPE_URL.html |     1 +
 ...CREATE_PREPARED_STATEMENT_REQUEST_TYPE_URL.html |     1 +
 ..._CREATE_PREPARED_STATEMENT_RESULT_TYPE_URL.html |     1 +
 ...E_PREPARED_SUBSTRAIT_PLAN_REQUEST_TYPE_URL.html |     1 +
 ...tant.ACTION_END_SAVEPOINT_REQUEST_TYPE_URL.html |     1 +
 ...nt.ACTION_END_TRANSACTION_REQUEST_TYPE_URL.html |     1 +
 .../constant.COMMAND_GET_CATALOGS_TYPE_URL.html    |     1 +
 ...stant.COMMAND_GET_CROSS_REFERENCE_TYPE_URL.html |     1 +
 .../constant.COMMAND_GET_DB_SCHEMAS_TYPE_URL.html  |     1 +
 ...onstant.COMMAND_GET_EXPORTED_KEYS_TYPE_URL.html |     1 +
 ...onstant.COMMAND_GET_IMPORTED_KEYS_TYPE_URL.html |     1 +
 ...constant.COMMAND_GET_PRIMARY_KEYS_TYPE_URL.html |     1 +
 .../constant.COMMAND_GET_SQL_INFO_TYPE_URL.html    |     1 +
 .../sql/constant.COMMAND_GET_TABLES_TYPE_URL.html  |     1 +
 .../constant.COMMAND_GET_TABLE_TYPES_TYPE_URL.html |     1 +
 ...nstant.COMMAND_GET_XDBC_TYPE_INFO_TYPE_URL.html |     1 +
 ....COMMAND_PREPARED_STATEMENT_QUERY_TYPE_URL.html |     1 +
 ...COMMAND_PREPARED_STATEMENT_UPDATE_TYPE_URL.html |     1 +
 ...constant.COMMAND_STATEMENT_INGEST_TYPE_URL.html |     1 +
 .../constant.COMMAND_STATEMENT_QUERY_TYPE_URL.html |     1 +
 ....COMMAND_STATEMENT_SUBSTRAIT_PLAN_TYPE_URL.html |     1 +
 ...constant.COMMAND_STATEMENT_UPDATE_TYPE_URL.html |     1 +
 ....DO_PUT_PREPARED_STATEMENT_RESULT_TYPE_URL.html |     1 +
 .../constant.DO_PUT_UPDATE_RESULT_TYPE_URL.html    |     1 +
 .../constant.TICKET_STATEMENT_QUERY_TYPE_URL.html  |     1 +
 arrow_flight/sql/enum.Command.html                 |   107 +
 arrow_flight/sql/enum.EndTransaction.html          |    52 +
 arrow_flight/sql/enum.Nullable.html                |    62 +
 arrow_flight/sql/enum.Searchable.html              |    73 +
 arrow_flight/sql/enum.SqlInfo.html                 |   617 +
 arrow_flight/sql/enum.SqlNullOrdering.html         |    51 +
 .../sql/enum.SqlOuterJoinsSupportLevel.html        |    50 +
 .../sql/enum.SqlSupportedCaseSensitivity.html      |    51 +
 .../sql/enum.SqlSupportedElementActions.html       |    50 +
 arrow_flight/sql/enum.SqlSupportedGroupBy.html     |    49 +
 .../sql/enum.SqlSupportedPositionedCommands.html   |    54 +
 .../sql/enum.SqlSupportedResultSetConcurrency.html |    55 +
 .../sql/enum.SqlSupportedResultSetType.html        |    51 +
 arrow_flight/sql/enum.SqlSupportedSubqueries.html  |    51 +
 arrow_flight/sql/enum.SqlSupportedTransaction.html |    56 +
 .../sql/enum.SqlSupportedTransactions.html         |    50 +
 arrow_flight/sql/enum.SqlSupportedUnions.html      |    49 +
 arrow_flight/sql/enum.SqlSupportsConvert.html      |    67 +
 .../sql/enum.SqlTransactionIsolationLevel.html     |    54 +
 arrow_flight/sql/enum.SupportedSqlGrammar.html     |    50 +
 arrow_flight/sql/enum.TableExistsOption.html       |    56 +
 arrow_flight/sql/enum.TableNotExistOption.html     |    54 +
 arrow_flight/sql/enum.UpdateDeleteRules.html       |    52 +
 arrow_flight/sql/enum.XdbcDataType.html            |    76 +
 arrow_flight/sql/enum.XdbcDatetimeSubcode.html     |    78 +
 .../enum.CancelResult.html                         |    60 +
 .../sql/gen/action_cancel_query_result/index.html  |     2 +
 .../action_cancel_query_result/sidebar-items.js    |     1 +
 .../enum.EndSavepoint.html                         |    52 +
 .../gen/action_end_savepoint_request/index.html    |     2 +
 .../action_end_savepoint_request/sidebar-items.js  |     1 +
 .../enum.EndTransaction.html                       |    52 +
 .../gen/action_end_transaction_request/index.html  |     2 +
 .../sidebar-items.js                               |     1 +
 .../sql/gen/command_statement_ingest/index.html    |     2 +
 .../gen/command_statement_ingest/sidebar-items.js  |     1 +
 .../struct.TableDefinitionOptions.html             |    42 +
 .../enum.TableExistsOption.html                    |    56 +
 .../enum.TableNotExistOption.html                  |    54 +
 .../table_definition_options/index.html            |     2 +
 .../table_definition_options/sidebar-items.js      |     1 +
 arrow_flight/sql/gen/enum.Nullable.html            |    62 +
 arrow_flight/sql/gen/enum.Searchable.html          |    73 +
 arrow_flight/sql/gen/enum.SqlInfo.html             |   617 +
 arrow_flight/sql/gen/enum.SqlNullOrdering.html     |    51 +
 .../sql/gen/enum.SqlOuterJoinsSupportLevel.html    |    50 +
 .../sql/gen/enum.SqlSupportedCaseSensitivity.html  |    51 +
 .../sql/gen/enum.SqlSupportedElementActions.html   |    50 +
 arrow_flight/sql/gen/enum.SqlSupportedGroupBy.html |    49 +
 .../gen/enum.SqlSupportedPositionedCommands.html   |    54 +
 .../gen/enum.SqlSupportedResultSetConcurrency.html |    55 +
 .../sql/gen/enum.SqlSupportedResultSetType.html    |    51 +
 .../sql/gen/enum.SqlSupportedSubqueries.html       |    51 +
 .../sql/gen/enum.SqlSupportedTransaction.html      |    56 +
 .../sql/gen/enum.SqlSupportedTransactions.html     |    50 +
 arrow_flight/sql/gen/enum.SqlSupportedUnions.html  |    49 +
 arrow_flight/sql/gen/enum.SqlSupportsConvert.html  |    67 +
 .../sql/gen/enum.SqlTransactionIsolationLevel.html |    54 +
 .../gen/enum.SupportedAnsi92SqlGrammarLevel.html   |    55 +
 arrow_flight/sql/gen/enum.SupportedSqlGrammar.html |    50 +
 arrow_flight/sql/gen/enum.UpdateDeleteRules.html   |    52 +
 arrow_flight/sql/gen/enum.XdbcDataType.html        |    76 +
 arrow_flight/sql/gen/enum.XdbcDatetimeSubcode.html |    78 +
 arrow_flight/sql/gen/index.html                    |    31 +
 arrow_flight/sql/gen/sidebar-items.js              |     1 +
 .../gen/struct.ActionBeginSavepointRequest.html    |    43 +
 .../sql/gen/struct.ActionBeginSavepointResult.html |    42 +
 .../gen/struct.ActionBeginTransactionRequest.html  |    36 +
 .../gen/struct.ActionBeginTransactionResult.html   |    42 +
 .../sql/gen/struct.ActionCancelQueryRequest.html   |    51 +
 .../sql/gen/struct.ActionCancelQueryResult.html    |    42 +
 ...struct.ActionClosePreparedStatementRequest.html |    39 +
 ...truct.ActionCreatePreparedStatementRequest.html |    42 +
 ...struct.ActionCreatePreparedStatementResult.html |    53 +
 ...t.ActionCreatePreparedSubstraitPlanRequest.html |    42 +
 .../sql/gen/struct.ActionEndSavepointRequest.html  |    47 +
 .../gen/struct.ActionEndTransactionRequest.html    |    45 +
 .../sql/gen/struct.CommandGetCatalogs.html         |    48 +
 .../sql/gen/struct.CommandGetCrossReference.html   |   109 +
 .../sql/gen/struct.CommandGetDbSchemas.html        |    62 +
 .../sql/gen/struct.CommandGetExportedKeys.html     |    73 +
 .../sql/gen/struct.CommandGetImportedKeys.html     |    77 +
 .../sql/gen/struct.CommandGetPrimaryKeys.html      |    64 +
 arrow_flight/sql/gen/struct.CommandGetSqlInfo.html |    72 +
 .../sql/gen/struct.CommandGetTableTypes.html       |    49 +
 arrow_flight/sql/gen/struct.CommandGetTables.html  |    91 +
 .../sql/gen/struct.CommandGetXdbcTypeInfo.html     |   100 +
 .../gen/struct.CommandPreparedStatementQuery.html  |    65 +
 .../gen/struct.CommandPreparedStatementUpdate.html |    40 +
 .../sql/gen/struct.CommandStatementIngest.html     |    58 +
 .../sql/gen/struct.CommandStatementQuery.html      |    60 +
 .../gen/struct.CommandStatementSubstraitPlan.html  |    61 +
 .../sql/gen/struct.CommandStatementUpdate.html     |    42 +
 .../gen/struct.DoPutPreparedStatementResult.html   |    48 +
 arrow_flight/sql/gen/struct.DoPutUpdateResult.html |    41 +
 arrow_flight/sql/gen/struct.SubstraitPlan.html     |    45 +
 .../sql/gen/struct.TicketStatementQuery.html       |    42 +
 arrow_flight/sql/index.html                        |    47 +
 arrow_flight/sql/macro.as_item!.html               |    11 +
 arrow_flight/sql/macro.as_item.html                |     6 +
 arrow_flight/sql/macro.prost_message_ext!.html     |    11 +
 arrow_flight/sql/macro.prost_message_ext.html      |     3 +
 .../metadata/catalogs/fn.get_catalogs_schema.html  |     1 +
 arrow_flight/sql/metadata/catalogs/index.html      |     1 +
 .../sql/metadata/catalogs/sidebar-items.js         |     1 +
 .../catalogs/static.GET_CATALOG_SCHEMA.html        |     2 +
 .../catalogs/struct.GetCatalogsBuilder.html        |    30 +
 .../db_schemas/fn.get_db_schemas_schema.html       |     1 +
 arrow_flight/sql/metadata/db_schemas/index.html    |     2 +
 .../sql/metadata/db_schemas/sidebar-items.js       |     1 +
 .../db_schemas/static.GET_DB_SCHEMAS_SCHEMA.html   |     2 +
 .../db_schemas/struct.GetDbSchemasBuilder.html     |    59 +
 .../sql/metadata/fn.lexsort_to_indices.html        |     2 +
 arrow_flight/sql/metadata/index.html               |    10 +
 arrow_flight/sql/metadata/sidebar-items.js         |     1 +
 .../sql/metadata/sql_info/enum.SqlInfoValue.html   |    30 +
 arrow_flight/sql/metadata/sql_info/index.html      |     9 +
 .../sql/metadata/sql_info/sidebar-items.js         |     1 +
 .../metadata/sql_info/static.SQL_INFO_SCHEMA.html  |     1 +
 .../sql/metadata/sql_info/static.UNION_TYPE.html   |     2 +
 .../sql_info/struct.GetSqlInfoBuilder.html         |    25 +
 .../sql/metadata/sql_info/struct.SqlInfoData.html  |    39 +
 .../sql_info/struct.SqlInfoDataBuilder.html        |    37 +
 .../sql_info/struct.SqlInfoUnionBuilder.html       |    39 +
 .../sql/metadata/sql_info/trait.SqlInfoName.html   |     5 +
 .../sql/metadata/struct.GetCatalogsBuilder.html    |    30 +
 .../sql/metadata/struct.GetDbSchemasBuilder.html   |    59 +
 .../sql/metadata/struct.GetTablesBuilder.html      |    85 +
 arrow_flight/sql/metadata/struct.SqlInfoData.html  |    39 +
 .../sql/metadata/struct.SqlInfoDataBuilder.html    |    37 +
 arrow_flight/sql/metadata/struct.XdbcTypeInfo.html |    61 +
 .../sql/metadata/struct.XdbcTypeInfoData.html      |    31 +
 .../metadata/struct.XdbcTypeInfoDataBuilder.html   |    56 +
 .../table_types/fn.get_table_types_schema.html     |     1 +
 arrow_flight/sql/metadata/table_types/index.html   |     2 +
 .../sql/metadata/table_types/sidebar-items.js      |     1 +
 .../table_types/static.GET_TABLE_TYPES_SCHEMA.html |     2 +
 .../table_types/struct.GetTableTypesBuilder.html   |    30 +
 .../sql/metadata/tables/fn.get_tables_schema.html  |     1 +
 arrow_flight/sql/metadata/tables/index.html        |     2 +
 arrow_flight/sql/metadata/tables/sidebar-items.js  |     1 +
 ...tic.GET_TABLES_SCHEMA_WITHOUT_TABLE_SCHEMA.html |     2 +
 ...static.GET_TABLES_SCHEMA_WITH_TABLE_SCHEMA.html |     2 +
 .../metadata/tables/struct.GetTablesBuilder.html   |    85 +
 arrow_flight/sql/metadata/xdbc_info/index.html     |    10 +
 .../sql/metadata/xdbc_info/sidebar-items.js        |     1 +
 .../xdbc_info/static.GET_XDBC_INFO_SCHEMA.html     |     2 +
 .../xdbc_info/struct.GetXdbcTypeInfoBuilder.html   |    24 +
 .../metadata/xdbc_info/struct.XdbcTypeInfo.html    |    61 +
 .../xdbc_info/struct.XdbcTypeInfoData.html         |    31 +
 .../xdbc_info/struct.XdbcTypeInfoDataBuilder.html  |    56 +
 .../sql/server/fn.arrow_error_to_status.html       |     1 +
 .../sql/server/fn.decode_error_to_status.html      |     1 +
 arrow_flight/sql/server/index.html                 |     3 +
 arrow_flight/sql/server/sidebar-items.js           |     1 +
 .../sql/server/static.BEGIN_SAVEPOINT.html         |     1 +
 .../sql/server/static.BEGIN_TRANSACTION.html       |     1 +
 arrow_flight/sql/server/static.CANCEL_QUERY.html   |     1 +
 .../server/static.CLOSE_PREPARED_STATEMENT.html    |     1 +
 .../server/static.CREATE_PREPARED_STATEMENT.html   |     1 +
 .../static.CREATE_PREPARED_SUBSTRAIT_PLAN.html     |     1 +
 arrow_flight/sql/server/static.END_SAVEPOINT.html  |     1 +
 .../sql/server/static.END_TRANSACTION.html         |     1 +
 .../server/struct.PeekableFlightDataStream.html    |   353 +
 .../sql/server/trait.FlightSqlService.html         |   654 +
 arrow_flight/sql/sidebar-items.js                  |     1 +
 .../sql/struct.ActionBeginSavepointRequest.html    |    43 +
 .../sql/struct.ActionBeginSavepointResult.html     |    42 +
 .../sql/struct.ActionBeginTransactionRequest.html  |    36 +
 .../sql/struct.ActionBeginTransactionResult.html   |    42 +
 .../sql/struct.ActionCancelQueryRequest.html       |    51 +
 .../sql/struct.ActionCancelQueryResult.html        |    42 +
 ...struct.ActionClosePreparedStatementRequest.html |    39 +
 ...truct.ActionCreatePreparedStatementRequest.html |    42 +
 ...struct.ActionCreatePreparedStatementResult.html |    53 +
 ...t.ActionCreatePreparedSubstraitPlanRequest.html |    42 +
 .../sql/struct.ActionEndSavepointRequest.html      |    47 +
 .../sql/struct.ActionEndTransactionRequest.html    |    45 +
 arrow_flight/sql/struct.Any.html                   |    57 +
 arrow_flight/sql/struct.CommandGetCatalogs.html    |    48 +
 .../sql/struct.CommandGetCrossReference.html       |   109 +
 arrow_flight/sql/struct.CommandGetDbSchemas.html   |    62 +
 .../sql/struct.CommandGetExportedKeys.html         |    73 +
 .../sql/struct.CommandGetImportedKeys.html         |    77 +
 arrow_flight/sql/struct.CommandGetPrimaryKeys.html |    64 +
 arrow_flight/sql/struct.CommandGetSqlInfo.html     |    72 +
 arrow_flight/sql/struct.CommandGetTableTypes.html  |    49 +
 arrow_flight/sql/struct.CommandGetTables.html      |    91 +
 .../sql/struct.CommandGetXdbcTypeInfo.html         |   100 +
 .../sql/struct.CommandPreparedStatementQuery.html  |    65 +
 .../sql/struct.CommandPreparedStatementUpdate.html |    40 +
 .../sql/struct.CommandStatementIngest.html         |    58 +
 arrow_flight/sql/struct.CommandStatementQuery.html |    60 +
 .../sql/struct.CommandStatementSubstraitPlan.html  |    61 +
 .../sql/struct.CommandStatementUpdate.html         |    42 +
 .../sql/struct.DoPutPreparedStatementResult.html   |    48 +
 arrow_flight/sql/struct.DoPutUpdateResult.html     |    41 +
 arrow_flight/sql/struct.SubstraitPlan.html         |    45 +
 .../sql/struct.TableDefinitionOptions.html         |    42 +
 arrow_flight/sql/struct.TicketStatementQuery.html  |    42 +
 arrow_flight/sql/trait.ProstMessageExt.html        |     8 +
 arrow_flight/streams/index.html                    |     3 +
 arrow_flight/streams/sidebar-items.js              |     1 +
 .../streams/struct.FallibleRequestStream.html      |   323 +
 .../struct.FallibleTonicResponseStream.html        |   325 +
 arrow_flight/struct.Action.html                    |    39 +
 arrow_flight/struct.ActionType.html                |    39 +
 arrow_flight/struct.BasicAuth.html                 |    38 +
 arrow_flight/struct.CancelFlightInfoRequest.html   |    41 +
 arrow_flight/struct.CancelFlightInfoResult.html    |    42 +
 arrow_flight/struct.Criteria.html                  |    38 +
 arrow_flight/struct.Empty.html                     |    34 +
 arrow_flight/struct.FlightData.html                |    65 +
 arrow_flight/struct.FlightDescriptor.html          |    49 +
 arrow_flight/struct.FlightEndpoint.html            |    83 +
 arrow_flight/struct.FlightInfo.html                |   101 +
 arrow_flight/struct.HandshakeRequest.html          |    40 +
 arrow_flight/struct.HandshakeResponse.html         |    39 +
 arrow_flight/struct.IpcMessage.html                |  1159 ++
 arrow_flight/struct.Location.html                  |    39 +
 arrow_flight/struct.PollInfo.html                  |    78 +
 arrow_flight/struct.PutResult.html                 |    40 +
 .../struct.RenewFlightEndpointRequest.html         |    41 +
 arrow_flight/struct.Result.html                    |    38 +
 arrow_flight/struct.SchemaAsIpc.html               |    23 +
 arrow_flight/struct.SchemaResult.html              |    41 +
 arrow_flight/struct.Ticket.html                    |    44 +
 .../trailers/fn.extract_lazy_trailers.html         |     6 +
 arrow_flight/trailers/index.html                   |     2 +
 arrow_flight/trailers/sidebar-items.js             |     1 +
 .../trailers/struct.ExtractTrailersStream.html     |   314 +
 arrow_flight/trailers/struct.LazyTrailers.html     |    23 +
 arrow_flight/trailers/type.SharedTrailers.html     |     1 +
 arrow_flight/type.ArrowResult.html                 |     6 +
 arrow_flight/utils/fn.batches_to_flight_data.html  |     5 +
 .../utils/fn.flight_data_from_arrow_batch.html     |     6 +
 .../utils/fn.flight_data_from_arrow_schema.html    |     5 +
 .../utils/fn.flight_data_to_arrow_batch.html       |     6 +
 arrow_flight/utils/fn.flight_data_to_batches.html  |     4 +
 .../utils/fn.flight_schema_from_arrow_schema.html  |     5 +
 .../utils/fn.ipc_message_from_arrow_schema.html    |     5 +
 arrow_flight/utils/index.html                      |     3 +
 arrow_flight/utils/sidebar-items.js                |     1 +
 arrow_integration_test/all.html                    |     1 +
 .../datatype/fn.data_type_from_json.html           |     2 +
 .../datatype/fn.data_type_to_json.html             |     2 +
 arrow_integration_test/datatype/index.html         |     1 +
 arrow_integration_test/datatype/sidebar-items.js   |     1 +
 .../field/fn.field_from_json.html                  |     2 +
 arrow_integration_test/field/fn.field_to_json.html |     2 +
 arrow_integration_test/field/index.html            |     1 +
 arrow_integration_test/field/sidebar-items.js      |     1 +
 arrow_integration_test/fn.array_from_json.html     |     6 +
 arrow_integration_test/fn.create_null_buf.html     |     2 +
 arrow_integration_test/fn.data_type_from_json.html |     2 +
 arrow_integration_test/fn.data_type_to_json.html   |     2 +
 .../fn.dictionary_array_from_json.html             |     9 +
 arrow_integration_test/fn.field_from_json.html     |     2 +
 arrow_integration_test/fn.field_to_json.html       |     2 +
 .../fn.record_batch_from_json.html                 |     6 +
 arrow_integration_test/fn.schema_from_json.html    |     2 +
 arrow_integration_test/fn.schema_to_json.html      |     2 +
 arrow_integration_test/index.html                  |     4 +
 .../schema/fn.from_metadata.html                   |     3 +
 .../schema/fn.schema_from_json.html                |     2 +
 .../schema/fn.schema_to_json.html                  |     2 +
 arrow_integration_test/schema/index.html           |     2 +
 arrow_integration_test/schema/sidebar-items.js     |     1 +
 .../schema/struct.MetadataKeyValue.html            |    19 +
 arrow_integration_test/sidebar-items.js            |     1 +
 arrow_integration_test/struct.ArrowJson.html       |    28 +
 arrow_integration_test/struct.ArrowJsonBatch.html  |    25 +
 arrow_integration_test/struct.ArrowJsonColumn.html |    34 +
 .../struct.ArrowJsonDictionaryBatch.html           |    25 +
 arrow_integration_test/struct.ArrowJsonField.html  |    35 +
 .../struct.ArrowJsonFieldDictionary.html           |    25 +
 arrow_integration_test/struct.ArrowJsonSchema.html |    25 +
 .../struct.DictionaryIndexType.html                |    25 +
 arrow_integration_testing/all.html                 |     1 +
 .../constant.AUTH_PASSWORD.html                    |     2 +
 .../constant.AUTH_USERNAME.html                    |     2 +
 .../auth_basic_proto/fn.authenticate.html          |     5 +
 .../auth_basic_proto/fn.run_scenario.html          |     5 +
 .../auth_basic_proto/index.html                    |     2 +
 .../auth_basic_proto/sidebar-items.js              |     1 +
 .../auth_basic_proto/type.Client.html              |     1 +
 .../auth_basic_proto/type.Error.html               |     1 +
 .../auth_basic_proto/type.Result.html              |     6 +
 .../flight_client_scenarios/index.html             |     2 +
 .../fn.consume_flight_location.html                |     5 +
 .../fn.receive_batch_flight_data.html              |     5 +
 .../fn.receive_schema_flight_data.html             |     3 +
 .../integration_test/fn.run_scenario.html          |     6 +
 .../integration_test/fn.send_batch.html            |     6 +
 .../integration_test/fn.upload_data.html           |     6 +
 .../integration_test/fn.verify_data.html           |     5 +
 .../integration_test/index.html                    |     2 +
 .../integration_test/sidebar-items.js              |     1 +
 .../integration_test/type.Client.html              |     1 +
 .../integration_test/type.Error.html               |     1 +
 .../integration_test/type.Result.html              |     6 +
 .../middleware/fn.middleware_interceptor.html      |     1 +
 .../middleware/fn.run_scenario.html                |     5 +
 .../flight_client_scenarios/middleware/index.html  |     2 +
 .../middleware/sidebar-items.js                    |     1 +
 .../middleware/type.Error.html                     |     1 +
 .../middleware/type.Result.html                    |     6 +
 .../flight_client_scenarios/sidebar-items.js       |     1 +
 .../auth_basic_proto/fn.scenario_setup.html        |     4 +
 .../auth_basic_proto/index.html                    |     2 +
 .../auth_basic_proto/sidebar-items.js              |     1 +
 .../struct.AuthBasicProtoScenarioImpl.html         |   125 +
 .../struct.GrpcServerCallContext.html              |    21 +
 .../auth_basic_proto/type.Error.html               |     1 +
 .../auth_basic_proto/type.Result.html              |     6 +
 .../auth_basic_proto/type.TonicStream.html         |     1 +
 .../flight_server_scenarios/fn.endpoint.html       |     2 +
 .../flight_server_scenarios/fn.listen_on.html      |     4 +
 .../flight_server_scenarios/index.html             |     2 +
 .../fn.dictionary_from_message.html                |     6 +
 .../fn.record_batch_from_message.html              |     6 +
 .../integration_test/fn.save_uploaded_chunks.html  |     8 +
 .../integration_test/fn.scenario_setup.html        |     4 +
 .../integration_test/fn.send_app_metadata.html     |     4 +
 .../integration_test/index.html                    |     2 +
 .../integration_test/sidebar-items.js              |     1 +
 .../integration_test/struct.FlightServiceImpl.html |   118 +
 .../struct.IntegrationDataset.html                 |    24 +
 .../integration_test/type.Error.html               |     1 +
 .../integration_test/type.Result.html              |     6 +
 .../integration_test/type.TonicStream.html         |     1 +
 .../middleware/fn.scenario_setup.html              |     4 +
 .../flight_server_scenarios/middleware/index.html  |     2 +
 .../middleware/sidebar-items.js                    |     1 +
 .../middleware/struct.MiddlewareScenarioImpl.html  |   116 +
 .../middleware/type.Error.html                     |     1 +
 .../middleware/type.Result.html                    |     6 +
 .../middleware/type.TonicStream.html               |     1 +
 .../flight_server_scenarios/sidebar-items.js       |     1 +
 .../flight_server_scenarios/type.Error.html        |     1 +
 .../flight_server_scenarios/type.Result.html       |     6 +
 ...s_cdata_integration_export_batch_from_json.html |     7 +
 ..._cdata_integration_export_schema_from_json.html |     6 +
 ...tegration_import_batch_and_compare_to_json.html |     7 +
 ...egration_import_schema_and_compare_to_json.html |     6 +
 .../fn.arrow_rs_free_error.html                    |     5 +
 .../fn.canonicalize_schema.html                    |     2 +
 ...n.cdata_integration_export_batch_from_json.html |     6 +
 ....cdata_integration_export_schema_from_json.html |     5 +
 ...tegration_import_batch_and_compare_to_json.html |     5 +
 ...egration_import_schema_and_compare_to_json.html |     4 +
 arrow_integration_testing/fn.compare_batches.html  |     1 +
 arrow_integration_testing/fn.open_json_file.html   |     2 +
 arrow_integration_testing/fn.read_gzip_json.html   |     7 +
 .../fn.result_to_c_error.html                      |     3 +
 arrow_integration_testing/index.html               |     2 +
 arrow_integration_testing/sidebar-items.js         |     1 +
 arrow_integration_testing/struct.ArrowFile.html    |    27 +
 arrow_ipc/all.html                                 |     1 +
 .../constant.LENGTH_NO_COMPRESSED_DATA.html        |     1 +
 .../constant.LENGTH_OF_PREFIX_DATA.html            |     1 +
 arrow_ipc/compression/enum.CompressionCodec.html   |    44 +
 arrow_ipc/compression/fn.compress_lz4.html         |     1 +
 arrow_ipc/compression/fn.compress_zstd.html        |     1 +
 arrow_ipc/compression/fn.decompress_lz4.html       |     4 +
 arrow_ipc/compression/fn.decompress_zstd.html      |     4 +
 .../compression/fn.read_uncompressed_size.html     |     6 +
 arrow_ipc/compression/index.html                   |     5 +
 arrow_ipc/compression/sidebar-items.js             |     1 +
 arrow_ipc/constant.ARROW_MAGIC.html                |     1 +
 arrow_ipc/constant.CONTINUATION_MARKER.html        |     1 +
 arrow_ipc/convert/fn.build_field.html              |     6 +
 arrow_ipc/convert/fn.fb_to_schema.html             |     2 +
 arrow_ipc/convert/fn.get_data_type.html            |     5 +
 arrow_ipc/convert/fn.get_fb_dictionary.html        |     7 +
 arrow_ipc/convert/fn.get_fb_field_type.html        |     6 +
 arrow_ipc/convert/fn.metadata_to_fb.html           |     5 +
 arrow_ipc/convert/fn.schema_to_fb.html             |     2 +
 arrow_ipc/convert/fn.schema_to_fb_offset.html      |     5 +
 .../fn.try_schema_from_flatbuffer_bytes.html       |     4 +
 .../convert/fn.try_schema_from_ipc_buffer.html     |     2 +
 arrow_ipc/convert/index.html                       |     2 +
 arrow_ipc/convert/sidebar-items.js                 |     1 +
 arrow_ipc/convert/struct.FBFieldType.html          |    16 +
 arrow_ipc/convert/struct.IpcSchemaEncoder.html     |    48 +
 arrow_ipc/convert/struct.MessageBuffer.html        |    25 +
 arrow_ipc/gen/File/enum.FooterOffset.html          |    12 +
 arrow_ipc/gen/File/fn.finish_footer_buffer.html    |     4 +
 .../fn.finish_size_prefixed_footer_buffer.html     |     4 +
 arrow_ipc/gen/File/fn.root_as_footer.html          |     7 +
 .../gen/File/fn.root_as_footer_unchecked.html      |     4 +
 .../gen/File/fn.root_as_footer_with_opts.html      |    10 +
 .../gen/File/fn.size_prefixed_root_as_footer.html  |     9 +
 .../fn.size_prefixed_root_as_footer_unchecked.html |     4 +
 .../fn.size_prefixed_root_as_footer_with_opts.html |    10 +
 arrow_ipc/gen/File/index.html                      |    22 +
 arrow_ipc/gen/File/sidebar-items.js                |     1 +
 arrow_ipc/gen/File/struct.Block.html               |    23 +
 arrow_ipc/gen/File/struct.Footer.html              |    29 +
 arrow_ipc/gen/File/struct.FooterArgs.html          |    18 +
 arrow_ipc/gen/File/struct.FooterBuilder.html       |    18 +
 .../constant.ENUM_MAX_BODY_COMPRESSION_METHOD.html |     1 +
 .../constant.ENUM_MAX_COMPRESSION_TYPE.html        |     1 +
 .../Message/constant.ENUM_MAX_MESSAGE_HEADER.html  |     1 +
 .../constant.ENUM_MIN_BODY_COMPRESSION_METHOD.html |     1 +
 .../constant.ENUM_MIN_COMPRESSION_TYPE.html        |     1 +
 .../Message/constant.ENUM_MIN_MESSAGE_HEADER.html  |     1 +
 ...nstant.ENUM_VALUES_BODY_COMPRESSION_METHOD.html |     1 +
 .../constant.ENUM_VALUES_COMPRESSION_TYPE.html     |     1 +
 .../constant.ENUM_VALUES_MESSAGE_HEADER.html       |     1 +
 .../gen/Message/enum.BodyCompressionOffset.html    |    12 +
 .../gen/Message/enum.DictionaryBatchOffset.html    |    12 +
 arrow_ipc/gen/Message/enum.MessageOffset.html      |    12 +
 arrow_ipc/gen/Message/enum.RecordBatchOffset.html  |    12 +
 .../gen/Message/fn.finish_message_buffer.html      |     4 +
 .../fn.finish_size_prefixed_message_buffer.html    |     4 +
 arrow_ipc/gen/Message/fn.root_as_message.html      |     7 +
 .../gen/Message/fn.root_as_message_unchecked.html  |     4 +
 .../gen/Message/fn.root_as_message_with_opts.html  |    10 +
 .../Message/fn.size_prefixed_root_as_message.html  |     9 +
 ...fn.size_prefixed_root_as_message_unchecked.html |     4 +
 ...fn.size_prefixed_root_as_message_with_opts.html |    10 +
 arrow_ipc/gen/Message/index.html                   |    34 +
 arrow_ipc/gen/Message/sidebar-items.js             |     1 +
 arrow_ipc/gen/Message/struct.BodyCompression.html  |    30 +
 .../gen/Message/struct.BodyCompressionArgs.html    |    15 +
 .../gen/Message/struct.BodyCompressionBuilder.html |    17 +
 .../gen/Message/struct.BodyCompressionMethod.html  |    40 +
 arrow_ipc/gen/Message/struct.CompressionType.html  |    30 +
 arrow_ipc/gen/Message/struct.DictionaryBatch.html  |    33 +
 .../gen/Message/struct.DictionaryBatchArgs.html    |    16 +
 .../gen/Message/struct.DictionaryBatchBuilder.html |    17 +
 arrow_ipc/gen/Message/struct.FieldNode.html        |    32 +
 arrow_ipc/gen/Message/struct.Message.html          |    26 +
 arrow_ipc/gen/Message/struct.MessageArgs.html      |    18 +
 arrow_ipc/gen/Message/struct.MessageBuilder.html   |    18 +
 arrow_ipc/gen/Message/struct.MessageHeader.html    |    37 +
 .../struct.MessageHeaderUnionTableOffset.html      |    12 +
 arrow_ipc/gen/Message/struct.RecordBatch.html      |    48 +
 arrow_ipc/gen/Message/struct.RecordBatchArgs.html  |    18 +
 .../gen/Message/struct.RecordBatchBuilder.html     |    18 +
 .../gen/Schema/constant.ENUM_MAX_DATE_UNIT.html    |     1 +
 .../Schema/constant.ENUM_MAX_DICTIONARY_KIND.html  |     1 +
 .../gen/Schema/constant.ENUM_MAX_ENDIANNESS.html   |     1 +
 .../gen/Schema/constant.ENUM_MAX_FEATURE.html      |     1 +
 .../Schema/constant.ENUM_MAX_INTERVAL_UNIT.html    |     1 +
 .../Schema/constant.ENUM_MAX_METADATA_VERSION.html |     1 +
 .../gen/Schema/constant.ENUM_MAX_PRECISION.html    |     1 +
 .../gen/Schema/constant.ENUM_MAX_TIME_UNIT.html    |     1 +
 arrow_ipc/gen/Schema/constant.ENUM_MAX_TYPE.html   |     1 +
 .../gen/Schema/constant.ENUM_MAX_UNION_MODE.html   |     1 +
 .../gen/Schema/constant.ENUM_MIN_DATE_UNIT.html    |     1 +
 .../Schema/constant.ENUM_MIN_DICTIONARY_KIND.html  |     1 +
 .../gen/Schema/constant.ENUM_MIN_ENDIANNESS.html   |     1 +
 .../gen/Schema/constant.ENUM_MIN_FEATURE.html      |     1 +
 .../Schema/constant.ENUM_MIN_INTERVAL_UNIT.html    |     1 +
 .../Schema/constant.ENUM_MIN_METADATA_VERSION.html |     1 +
 .../gen/Schema/constant.ENUM_MIN_PRECISION.html    |     1 +
 .../gen/Schema/constant.ENUM_MIN_TIME_UNIT.html    |     1 +
 arrow_ipc/gen/Schema/constant.ENUM_MIN_TYPE.html   |     1 +
 .../gen/Schema/constant.ENUM_MIN_UNION_MODE.html   |     1 +
 .../gen/Schema/constant.ENUM_VALUES_DATE_UNIT.html |     1 +
 .../constant.ENUM_VALUES_DICTIONARY_KIND.html      |     1 +
 .../Schema/constant.ENUM_VALUES_ENDIANNESS.html    |     1 +
 .../gen/Schema/constant.ENUM_VALUES_FEATURE.html   |     1 +
 .../Schema/constant.ENUM_VALUES_INTERVAL_UNIT.html |     1 +
 .../constant.ENUM_VALUES_METADATA_VERSION.html     |     1 +
 .../gen/Schema/constant.ENUM_VALUES_PRECISION.html |     1 +
 .../gen/Schema/constant.ENUM_VALUES_TIME_UNIT.html |     1 +
 .../gen/Schema/constant.ENUM_VALUES_TYPE.html      |     1 +
 .../Schema/constant.ENUM_VALUES_UNION_MODE.html    |     1 +
 arrow_ipc/gen/Schema/enum.BinaryOffset.html        |    12 +
 arrow_ipc/gen/Schema/enum.BinaryViewOffset.html    |    12 +
 arrow_ipc/gen/Schema/enum.BoolOffset.html          |    12 +
 arrow_ipc/gen/Schema/enum.DateOffset.html          |    12 +
 arrow_ipc/gen/Schema/enum.DecimalOffset.html       |    12 +
 .../gen/Schema/enum.DictionaryEncodingOffset.html  |    12 +
 arrow_ipc/gen/Schema/enum.DurationOffset.html      |    12 +
 arrow_ipc/gen/Schema/enum.FieldOffset.html         |    12 +
 .../gen/Schema/enum.FixedSizeBinaryOffset.html     |    12 +
 arrow_ipc/gen/Schema/enum.FixedSizeListOffset.html |    12 +
 arrow_ipc/gen/Schema/enum.FloatingPointOffset.html |    12 +
 arrow_ipc/gen/Schema/enum.IntOffset.html           |    12 +
 arrow_ipc/gen/Schema/enum.IntervalOffset.html      |    12 +
 arrow_ipc/gen/Schema/enum.KeyValueOffset.html      |    12 +
 arrow_ipc/gen/Schema/enum.LargeBinaryOffset.html   |    12 +
 arrow_ipc/gen/Schema/enum.LargeListOffset.html     |    12 +
 arrow_ipc/gen/Schema/enum.LargeListViewOffset.html |    12 +
 arrow_ipc/gen/Schema/enum.LargeUtf8Offset.html     |    12 +
 arrow_ipc/gen/Schema/enum.ListOffset.html          |    12 +
 arrow_ipc/gen/Schema/enum.ListViewOffset.html      |    12 +
 arrow_ipc/gen/Schema/enum.MapOffset.html           |    12 +
 arrow_ipc/gen/Schema/enum.NullOffset.html          |    12 +
 arrow_ipc/gen/Schema/enum.RunEndEncodedOffset.html |    12 +
 arrow_ipc/gen/Schema/enum.SchemaOffset.html        |    12 +
 arrow_ipc/gen/Schema/enum.Struct_Offset.html       |    12 +
 arrow_ipc/gen/Schema/enum.TimeOffset.html          |    12 +
 arrow_ipc/gen/Schema/enum.TimestampOffset.html     |    12 +
 arrow_ipc/gen/Schema/enum.UnionOffset.html         |    12 +
 arrow_ipc/gen/Schema/enum.Utf8Offset.html          |    12 +
 arrow_ipc/gen/Schema/enum.Utf8ViewOffset.html      |    12 +
 arrow_ipc/gen/Schema/fn.finish_schema_buffer.html  |     4 +
 .../fn.finish_size_prefixed_schema_buffer.html     |     4 +
 arrow_ipc/gen/Schema/fn.root_as_schema.html        |     7 +
 .../gen/Schema/fn.root_as_schema_unchecked.html    |     4 +
 .../gen/Schema/fn.root_as_schema_with_opts.html    |    10 +
 .../Schema/fn.size_prefixed_root_as_schema.html    |     9 +
 .../fn.size_prefixed_root_as_schema_unchecked.html |     4 +
 .../fn.size_prefixed_root_as_schema_with_opts.html |    10 +
 arrow_ipc/gen/Schema/index.html                    |    59 +
 arrow_ipc/gen/Schema/sidebar-items.js              |     1 +
 arrow_ipc/gen/Schema/struct.Binary.html            |    25 +
 arrow_ipc/gen/Schema/struct.BinaryArgs.html        |    12 +
 arrow_ipc/gen/Schema/struct.BinaryBuilder.html     |    15 +
 arrow_ipc/gen/Schema/struct.BinaryView.html        |    30 +
 arrow_ipc/gen/Schema/struct.BinaryViewArgs.html    |    12 +
 arrow_ipc/gen/Schema/struct.BinaryViewBuilder.html |    15 +
 arrow_ipc/gen/Schema/struct.Bool.html              |    24 +
 arrow_ipc/gen/Schema/struct.BoolArgs.html          |    12 +
 arrow_ipc/gen/Schema/struct.BoolBuilder.html       |    15 +
 arrow_ipc/gen/Schema/struct.Buffer.html            |    28 +
 arrow_ipc/gen/Schema/struct.Date.html              |    31 +
 arrow_ipc/gen/Schema/struct.DateArgs.html          |    14 +
 arrow_ipc/gen/Schema/struct.DateBuilder.html       |    15 +
 arrow_ipc/gen/Schema/struct.DateUnit.html          |    30 +
 arrow_ipc/gen/Schema/struct.Decimal.html           |    32 +
 arrow_ipc/gen/Schema/struct.DecimalArgs.html       |    16 +
 arrow_ipc/gen/Schema/struct.DecimalBuilder.html    |    15 +
 .../gen/Schema/struct.DictionaryEncoding.html      |    36 +
 .../gen/Schema/struct.DictionaryEncodingArgs.html  |    17 +
 .../Schema/struct.DictionaryEncodingBuilder.html   |    17 +
 arrow_ipc/gen/Schema/struct.DictionaryKind.html    |    35 +
 arrow_ipc/gen/Schema/struct.Duration.html          |    24 +
 arrow_ipc/gen/Schema/struct.DurationArgs.html      |    14 +
 arrow_ipc/gen/Schema/struct.DurationBuilder.html   |    15 +
 arrow_ipc/gen/Schema/struct.Endianness.html        |    33 +
 arrow_ipc/gen/Schema/struct.Feature.html           |    54 +
 arrow_ipc/gen/Schema/struct.Field.html             |    37 +
 arrow_ipc/gen/Schema/struct.FieldArgs.html         |    20 +
 arrow_ipc/gen/Schema/struct.FieldBuilder.html      |    21 +
 arrow_ipc/gen/Schema/struct.FixedSizeBinary.html   |    25 +
 .../gen/Schema/struct.FixedSizeBinaryArgs.html     |    14 +
 .../gen/Schema/struct.FixedSizeBinaryBuilder.html  |    17 +
 arrow_ipc/gen/Schema/struct.FixedSizeList.html     |    25 +
 arrow_ipc/gen/Schema/struct.FixedSizeListArgs.html |    14 +
 .../gen/Schema/struct.FixedSizeListBuilder.html    |    15 +
 arrow_ipc/gen/Schema/struct.FloatingPoint.html     |    24 +
 arrow_ipc/gen/Schema/struct.FloatingPointArgs.html |    14 +
 .../gen/Schema/struct.FloatingPointBuilder.html    |    15 +
 arrow_ipc/gen/Schema/struct.Int.html               |    24 +
 arrow_ipc/gen/Schema/struct.IntArgs.html           |    15 +
 arrow_ipc/gen/Schema/struct.IntBuilder.html        |    15 +
 arrow_ipc/gen/Schema/struct.Interval.html          |    24 +
 arrow_ipc/gen/Schema/struct.IntervalArgs.html      |    14 +
 arrow_ipc/gen/Schema/struct.IntervalBuilder.html   |    15 +
 arrow_ipc/gen/Schema/struct.IntervalUnit.html      |    30 +
 arrow_ipc/gen/Schema/struct.KeyValue.html          |    27 +
 arrow_ipc/gen/Schema/struct.KeyValueArgs.html      |    15 +
 arrow_ipc/gen/Schema/struct.KeyValueBuilder.html   |    15 +
 arrow_ipc/gen/Schema/struct.LargeBinary.html       |    26 +
 arrow_ipc/gen/Schema/struct.LargeBinaryArgs.html   |    12 +
 .../gen/Schema/struct.LargeBinaryBuilder.html      |    15 +
 arrow_ipc/gen/Schema/struct.LargeList.html         |    26 +
 arrow_ipc/gen/Schema/struct.LargeListArgs.html     |    12 +
 arrow_ipc/gen/Schema/struct.LargeListBuilder.html  |    15 +
 arrow_ipc/gen/Schema/struct.LargeListView.html     |    26 +
 arrow_ipc/gen/Schema/struct.LargeListViewArgs.html |    12 +
 .../gen/Schema/struct.LargeListViewBuilder.html    |    15 +
 arrow_ipc/gen/Schema/struct.LargeUtf8.html         |    26 +
 arrow_ipc/gen/Schema/struct.LargeUtf8Args.html     |    12 +
 arrow_ipc/gen/Schema/struct.LargeUtf8Builder.html  |    15 +
 arrow_ipc/gen/Schema/struct.List.html              |    24 +
 arrow_ipc/gen/Schema/struct.ListArgs.html          |    12 +
 arrow_ipc/gen/Schema/struct.ListBuilder.html       |    15 +
 arrow_ipc/gen/Schema/struct.ListView.html          |    27 +
 arrow_ipc/gen/Schema/struct.ListViewArgs.html      |    12 +
 arrow_ipc/gen/Schema/struct.ListViewBuilder.html   |    15 +
 arrow_ipc/gen/Schema/struct.Map.html               |    43 +
 arrow_ipc/gen/Schema/struct.MapArgs.html           |    14 +
 arrow_ipc/gen/Schema/struct.MapBuilder.html        |    15 +
 arrow_ipc/gen/Schema/struct.MetadataVersion.html   |    46 +
 arrow_ipc/gen/Schema/struct.Null.html              |    25 +
 arrow_ipc/gen/Schema/struct.NullArgs.html          |    12 +
 arrow_ipc/gen/Schema/struct.NullBuilder.html       |    15 +
 arrow_ipc/gen/Schema/struct.Precision.html         |    30 +
 arrow_ipc/gen/Schema/struct.RunEndEncoded.html     |    29 +
 arrow_ipc/gen/Schema/struct.RunEndEncodedArgs.html |    12 +
 .../gen/Schema/struct.RunEndEncodedBuilder.html    |    15 +
 arrow_ipc/gen/Schema/struct.Schema.html            |    32 +
 arrow_ipc/gen/Schema/struct.SchemaArgs.html        |    17 +
 arrow_ipc/gen/Schema/struct.SchemaBuilder.html     |    21 +
 arrow_ipc/gen/Schema/struct.Struct_.html           |    27 +
 arrow_ipc/gen/Schema/struct.Struct_Args.html       |    12 +
 arrow_ipc/gen/Schema/struct.Struct_Builder.html    |    15 +
 arrow_ipc/gen/Schema/struct.Time.html              |    38 +
 arrow_ipc/gen/Schema/struct.TimeArgs.html          |    15 +
 arrow_ipc/gen/Schema/struct.TimeBuilder.html       |    15 +
 arrow_ipc/gen/Schema/struct.TimeUnit.html          |    30 +
 arrow_ipc/gen/Schema/struct.Timestamp.html         |   114 +
 arrow_ipc/gen/Schema/struct.TimestampArgs.html     |    15 +
 arrow_ipc/gen/Schema/struct.TimestampBuilder.html  |    15 +
 arrow_ipc/gen/Schema/struct.Type.html              |    33 +
 .../gen/Schema/struct.TypeUnionTableOffset.html    |    12 +
 arrow_ipc/gen/Schema/struct.Union.html             |    28 +
 arrow_ipc/gen/Schema/struct.UnionArgs.html         |    15 +
 arrow_ipc/gen/Schema/struct.UnionBuilder.html      |    15 +
 arrow_ipc/gen/Schema/struct.UnionMode.html         |    30 +
 arrow_ipc/gen/Schema/struct.Utf8.html              |    25 +
 arrow_ipc/gen/Schema/struct.Utf8Args.html          |    12 +
 arrow_ipc/gen/Schema/struct.Utf8Builder.html       |    15 +
 arrow_ipc/gen/Schema/struct.Utf8View.html          |    30 +
 arrow_ipc/gen/Schema/struct.Utf8ViewArgs.html      |    12 +
 arrow_ipc/gen/Schema/struct.Utf8ViewBuilder.html   |    15 +
 ...ant.ENUM_MAX_SPARSE_MATRIX_COMPRESSED_AXIS.html |     1 +
 .../constant.ENUM_MAX_SPARSE_TENSOR_INDEX.html     |     1 +
 ...ant.ENUM_MIN_SPARSE_MATRIX_COMPRESSED_AXIS.html |     1 +
 .../constant.ENUM_MIN_SPARSE_TENSOR_INDEX.html     |     1 +
 ....ENUM_VALUES_SPARSE_MATRIX_COMPRESSED_AXIS.html |     1 +
 .../constant.ENUM_VALUES_SPARSE_TENSOR_INDEX.html  |     1 +
 .../enum.SparseMatrixIndexCSXOffset.html           |    12 +
 .../enum.SparseTensorIndexCOOOffset.html           |    12 +
 .../enum.SparseTensorIndexCSFOffset.html           |    12 +
 .../gen/SparseTensor/enum.SparseTensorOffset.html  |    12 +
 ....finish_size_prefixed_sparse_tensor_buffer.html |     4 +
 .../fn.finish_sparse_tensor_buffer.html            |     4 +
 .../gen/SparseTensor/fn.root_as_sparse_tensor.html |     9 +
 .../fn.root_as_sparse_tensor_unchecked.html        |     4 +
 .../fn.root_as_sparse_tensor_with_opts.html        |    10 +
 .../fn.size_prefixed_root_as_sparse_tensor.html    |     9 +
 ...e_prefixed_root_as_sparse_tensor_unchecked.html |     6 +
 ...e_prefixed_root_as_sparse_tensor_with_opts.html |    10 +
 arrow_ipc/gen/SparseTensor/index.html              |    22 +
 arrow_ipc/gen/SparseTensor/sidebar-items.js        |     1 +
 .../struct.SparseMatrixCompressedAxis.html         |    30 +
 .../SparseTensor/struct.SparseMatrixIndexCSX.html  |    49 +
 .../struct.SparseMatrixIndexCSXArgs.html           |    18 +
 .../struct.SparseMatrixIndexCSXBuilder.html        |    17 +
 .../gen/SparseTensor/struct.SparseTensor.html      |    37 +
 .../gen/SparseTensor/struct.SparseTensorArgs.html  |    20 +
 .../SparseTensor/struct.SparseTensorBuilder.html   |    18 +
 .../gen/SparseTensor/struct.SparseTensorIndex.html |    30 +
 .../SparseTensor/struct.SparseTensorIndexCOO.html  |    58 +
 .../struct.SparseTensorIndexCOOArgs.html           |    17 +
 .../struct.SparseTensorIndexCOOBuilder.html        |    17 +
 .../SparseTensor/struct.SparseTensorIndexCSF.html  |    72 +
 .../struct.SparseTensorIndexCSFArgs.html           |    18 +
 .../struct.SparseTensorIndexCSFBuilder.html        |    23 +
 .../struct.SparseTensorIndexUnionTableOffset.html  |    12 +
 arrow_ipc/gen/Tensor/enum.TensorDimOffset.html     |    12 +
 arrow_ipc/gen/Tensor/enum.TensorOffset.html        |    12 +
 .../fn.finish_size_prefixed_tensor_buffer.html     |     4 +
 arrow_ipc/gen/Tensor/fn.finish_tensor_buffer.html  |     4 +
 arrow_ipc/gen/Tensor/fn.root_as_tensor.html        |     7 +
 .../gen/Tensor/fn.root_as_tensor_unchecked.html    |     4 +
 .../gen/Tensor/fn.root_as_tensor_with_opts.html    |    10 +
 .../Tensor/fn.size_prefixed_root_as_tensor.html    |     9 +
 .../fn.size_prefixed_root_as_tensor_unchecked.html |     4 +
 .../fn.size_prefixed_root_as_tensor_with_opts.html |    10 +
 arrow_ipc/gen/Tensor/index.html                    |    22 +
 arrow_ipc/gen/Tensor/sidebar-items.js              |     1 +
 arrow_ipc/gen/Tensor/struct.Tensor.html            |    30 +
 arrow_ipc/gen/Tensor/struct.TensorArgs.html        |    18 +
 arrow_ipc/gen/Tensor/struct.TensorBuilder.html     |    18 +
 arrow_ipc/gen/Tensor/struct.TensorDim.html         |    29 +
 arrow_ipc/gen/Tensor/struct.TensorDimArgs.html     |    15 +
 arrow_ipc/gen/Tensor/struct.TensorDimBuilder.html  |    15 +
 arrow_ipc/gen/index.html                           |     2 +
 arrow_ipc/gen/sidebar-items.js                     |     1 +
 arrow_ipc/index.html                               |     2 +
 arrow_ipc/reader/fn.create_array.html              |    21 +
 arrow_ipc/reader/fn.create_dictionary_array.html   |     9 +
 arrow_ipc/reader/fn.create_list_array.html         |     9 +
 arrow_ipc/reader/fn.create_primitive_array.html    |     8 +
 arrow_ipc/reader/fn.parse_message.html             |     3 +
 arrow_ipc/reader/fn.read_block.html                |     5 +
 arrow_ipc/reader/fn.read_buffer.html               |    14 +
 arrow_ipc/reader/fn.read_dictionary.html           |     9 +
 arrow_ipc/reader/fn.read_dictionary_impl.html      |     8 +
 arrow_ipc/reader/fn.read_footer_length.html        |     3 +
 arrow_ipc/reader/fn.read_record_batch.html         |    16 +
 arrow_ipc/reader/fn.read_record_batch_impl.html    |     9 +
 arrow_ipc/reader/index.html                        |    16 +
 arrow_ipc/reader/sidebar-items.js                  |     1 +
 arrow_ipc/reader/stream/enum.DecoderState.html     |    34 +
 arrow_ipc/reader/stream/index.html                 |     1 +
 arrow_ipc/reader/stream/sidebar-items.js           |     1 +
 arrow_ipc/reader/stream/struct.StreamDecoder.html  |    57 +
 arrow_ipc/reader/struct.ArrayReader.html           |    29 +
 arrow_ipc/reader/struct.FileDecoder.html           |    88 +
 arrow_ipc/reader/struct.FileReader.html            |   232 +
 arrow_ipc/reader/struct.FileReaderBuilder.html     |    44 +
 arrow_ipc/reader/struct.StreamDecoder.html         |    57 +
 arrow_ipc/reader/struct.StreamReader.html          |   230 +
 arrow_ipc/sidebar-items.js                         |     1 +
 arrow_ipc/writer/constant.PADDING.html             |     1 +
 .../writer/fn.append_variadic_buffer_counts.html   |     1 +
 arrow_ipc/writer/fn.buffer_need_truncate.html      |     7 +
 arrow_ipc/writer/fn.get_buffer_element_width.html  |     2 +
 arrow_ipc/writer/fn.get_byte_array_buffers.html    |     7 +
 arrow_ipc/writer/fn.get_list_array_buffers.html    |     5 +
 arrow_ipc/writer/fn.has_validity_bitmap.html       |     7 +
 .../writer/fn.into_zero_offset_run_array.html      |     3 +
 arrow_ipc/writer/fn.pad_to_alignment.html          |     2 +
 arrow_ipc/writer/fn.reencode_offsets.html          |     6 +
 arrow_ipc/writer/fn.unslice_run_array.html         |     1 +
 arrow_ipc/writer/fn.write_array_data.html          |    12 +
 arrow_ipc/writer/fn.write_body_buffers.html        |     5 +
 arrow_ipc/writer/fn.write_buffer.html              |    18 +
 arrow_ipc/writer/fn.write_continuation.html        |     7 +
 arrow_ipc/writer/fn.write_message.html             |     6 +
 arrow_ipc/writer/index.html                        |    12 +
 arrow_ipc/writer/sidebar-items.js                  |     1 +
 arrow_ipc/writer/struct.DictionaryTracker.html     |    57 +
 arrow_ipc/writer/struct.EncodedData.html           |    18 +
 arrow_ipc/writer/struct.FileWriter.html            |    71 +
 arrow_ipc/writer/struct.IpcDataGenerator.html      |    82 +
 arrow_ipc/writer/struct.IpcWriteOptions.html       |    52 +
 arrow_ipc/writer/struct.StreamWriter.html          |    73 +
 arrow_json/all.html                                |     1 +
 arrow_json/index.html                              |    32 +
 arrow_json/macro.json_serializable!.html           |    11 +
 arrow_json/macro.json_serializable.html            |     3 +
 arrow_json/reader/boolean_array/index.html         |     1 +
 arrow_json/reader/boolean_array/sidebar-items.js   |     1 +
 .../boolean_array/struct.BooleanArrayDecoder.html  |    16 +
 arrow_json/reader/decimal_array/index.html         |     1 +
 arrow_json/reader/decimal_array/sidebar-items.js   |     1 +
 .../decimal_array/struct.DecimalArrayDecoder.html  |    21 +
 arrow_json/reader/fn.infer_json_schema.html        |    26 +
 .../reader/fn.infer_json_schema_from_iterator.html |    17 +
 .../reader/fn.infer_json_schema_from_seekable.html |    20 +
 arrow_json/reader/fn.make_decoder.html             |     6 +
 arrow_json/reader/index.html                       |    85 +
 arrow_json/reader/list_array/index.html            |     1 +
 arrow_json/reader/list_array/sidebar-items.js      |     1 +
 .../reader/list_array/struct.ListArrayDecoder.html |    27 +
 arrow_json/reader/macro.primitive_decoder!.html    |    11 +
 arrow_json/reader/macro.primitive_decoder.html     |     3 +
 arrow_json/reader/map_array/index.html             |     1 +
 arrow_json/reader/map_array/sidebar-items.js       |     1 +
 .../reader/map_array/struct.MapArrayDecoder.html   |    25 +
 arrow_json/reader/null_array/index.html            |     1 +
 arrow_json/reader/null_array/sidebar-items.js      |     1 +
 .../reader/null_array/struct.NullArrayDecoder.html |    16 +
 arrow_json/reader/primitive_array/index.html       |     1 +
 .../primitive_array/macro.primitive_parse!.html    |    11 +
 .../primitive_array/macro.primitive_parse.html     |     3 +
 arrow_json/reader/primitive_array/sidebar-items.js |     1 +
 .../struct.PrimitiveArrayDecoder.html              |    21 +
 .../primitive_array/trait.ParseJsonNumber.html     |    10 +
 arrow_json/reader/schema/enum.InferredType.html    |    19 +
 arrow_json/reader/schema/fn.coerce_data_type.html  |     7 +
 .../schema/fn.collect_field_types_from_object.html |     4 +
 arrow_json/reader/schema/fn.generate_datatype.html |     1 +
 arrow_json/reader/schema/fn.generate_fields.html   |     3 +
 arrow_json/reader/schema/fn.generate_schema.html   |     4 +
 .../reader/schema/fn.infer_array_element_type.html |     1 +
 arrow_json/reader/schema/fn.infer_json_schema.html |    26 +
 .../schema/fn.infer_json_schema_from_iterator.html |    17 +
 .../schema/fn.infer_json_schema_from_seekable.html |    20 +
 .../reader/schema/fn.infer_nested_array_type.html  |     1 +
 .../reader/schema/fn.infer_scalar_array_type.html  |     1 +
 .../reader/schema/fn.infer_struct_array_type.html  |     1 +
 arrow_json/reader/schema/fn.list_type_of.html      |     2 +
 .../schema/fn.set_object_scalar_field_type.html    |     5 +
 arrow_json/reader/schema/index.html                |     3 +
 arrow_json/reader/schema/sidebar-items.js          |     1 +
 arrow_json/reader/schema/struct.ValueIter.html     |   212 +
 arrow_json/reader/serializer/index.html            |     1 +
 arrow_json/reader/serializer/sidebar-items.js      |     1 +
 .../reader/serializer/struct.ListSerializer.html   |    18 +
 .../reader/serializer/struct.ObjectSerializer.html |    28 +
 .../reader/serializer/struct.SerializerError.html  |    15 +
 .../reader/serializer/struct.TapeSerializer.html   |   105 +
 arrow_json/reader/sidebar-items.js                 |     1 +
 arrow_json/reader/string_array/constant.FALSE.html |     1 +
 arrow_json/reader/string_array/constant.TRUE.html  |     1 +
 arrow_json/reader/string_array/index.html          |     1 +
 arrow_json/reader/string_array/sidebar-items.js    |     1 +
 .../string_array/struct.StringArrayDecoder.html    |    22 +
 arrow_json/reader/struct.Decoder.html              |   198 +
 arrow_json/reader/struct.Reader.html               |   196 +
 arrow_json/reader/struct.ReaderBuilder.html        |    54 +
 arrow_json/reader/struct.ValueIter.html            |   212 +
 .../reader/struct_array/fn.struct_fields.html      |     1 +
 arrow_json/reader/struct_array/index.html          |     1 +
 arrow_json/reader/struct_array/sidebar-items.js    |     1 +
 .../struct_array/struct.StructArrayDecoder.html    |    25 +
 arrow_json/reader/tape/enum.DecoderState.html      |    33 +
 arrow_json/reader/tape/enum.Literal.html           |    18 +
 arrow_json/reader/tape/enum.TapeElement.html       |    62 +
 .../reader/tape/fn.char_from_surrogate_pair.html   |     2 +
 arrow_json/reader/tape/fn.err.html                 |     2 +
 arrow_json/reader/tape/fn.json_whitespace.html     |     2 +
 arrow_json/reader/tape/fn.parse_hex.html           |     2 +
 arrow_json/reader/tape/fn.write_char.html          |     2 +
 arrow_json/reader/tape/index.html                  |     2 +
 arrow_json/reader/tape/macro.next!.html            |    11 +
 arrow_json/reader/tape/macro.next.html             |     4 +
 arrow_json/reader/tape/sidebar-items.js            |     1 +
 arrow_json/reader/tape/struct.BufIter.html         |   189 +
 arrow_json/reader/tape/struct.Tape.html            |    28 +
 arrow_json/reader/tape/struct.TapeDecoder.html     |    32 +
 arrow_json/reader/timestamp_array/index.html       |     1 +
 arrow_json/reader/timestamp_array/sidebar-items.js |     1 +
 .../struct.TimestampArrayDecoder.html              |    29 +
 arrow_json/reader/trait.ArrayDecoder.html          |    18 +
 arrow_json/sidebar-items.js                        |     1 +
 arrow_json/trait.JsonSerializable.html             |     6 +
 arrow_json/writer/encoder/fn.encode_string.html    |     1 +
 arrow_json/writer/encoder/fn.is_some_and.html      |     2 +
 arrow_json/writer/encoder/fn.make_encoder.html     |     4 +
 .../writer/encoder/fn.make_encoder_impl.html       |     4 +
 arrow_json/writer/encoder/index.html               |     2 +
 arrow_json/writer/encoder/macro.float_encode!.html |    11 +
 arrow_json/writer/encoder/macro.float_encode.html  |     3 +
 .../writer/encoder/macro.integer_encode!.html      |    11 +
 .../writer/encoder/macro.integer_encode.html       |     3 +
 arrow_json/writer/encoder/sidebar-items.js         |     1 +
 .../writer/encoder/struct.BinaryEncoder.html       |    22 +
 .../writer/encoder/struct.BooleanEncoder.html      |    12 +
 .../writer/encoder/struct.DictionaryEncoder.html   |    18 +
 .../writer/encoder/struct.EncoderOptions.html      |    16 +
 arrow_json/writer/encoder/struct.FieldEncoder.html |    15 +
 .../encoder/struct.FixedSizeListEncoder.html       |    18 +
 arrow_json/writer/encoder/struct.ListEncoder.html  |    19 +
 arrow_json/writer/encoder/struct.MapEncoder.html   |    20 +
 arrow_json/writer/encoder/struct.NullEncoder.html  |    12 +
 .../writer/encoder/struct.PrimitiveEncoder.html    |    24 +
 .../writer/encoder/struct.RawArrayFormatter.html   |    12 +
 .../writer/encoder/struct.StringEncoder.html       |    14 +
 .../writer/encoder/struct.StructArrayEncoder.html  |    14 +
 arrow_json/writer/encoder/trait.Encoder.html       |     9 +
 .../writer/encoder/trait.PrimitiveEncode.html      |     9 +
 arrow_json/writer/index.html                       |    71 +
 arrow_json/writer/sidebar-items.js                 |     1 +
 arrow_json/writer/struct.JsonArray.html            |    18 +
 arrow_json/writer/struct.LineDelimited.html        |    20 +
 arrow_json/writer/struct.Writer.html               |    61 +
 arrow_json/writer/struct.WriterBuilder.html        |    42 +
 arrow_json/writer/trait.JsonFormat.html            |    21 +
 arrow_json/writer/type.ArrayWriter.html            |    13 +
 arrow_json/writer/type.LineDelimitedWriter.html    |    13 +
 arrow_json_integration_test/all.html               |     1 +
 arrow_json_integration_test/enum.Mode.html         |    26 +
 arrow_json_integration_test/fn.arrow_to_json.html  |     5 +
 arrow_json_integration_test/fn.json_to_arrow.html  |     5 +
 arrow_json_integration_test/fn.main.html           |     1 +
 arrow_json_integration_test/fn.validate.html       |     5 +
 arrow_json_integration_test/index.html             |     1 +
 arrow_json_integration_test/sidebar-items.js       |     1 +
 arrow_json_integration_test/struct.Args.html       |    43 +
 arrow_ord/all.html                                 |     1 +
 arrow_ord/cmp/enum.Op.html                         |    24 +
 arrow_ord/cmp/fn.apply.html                        |    10 +
 arrow_ord/cmp/fn.apply_op.html                     |    12 +
 arrow_ord/cmp/fn.apply_op_vectored.html            |     9 +
 arrow_ord/cmp/fn.collect_bool.html                 |     8 +
 arrow_ord/cmp/fn.compare_byte_view.html            |     7 +
 arrow_ord/cmp/fn.compare_byte_view_unchecked.html  |    29 +
 arrow_ord/cmp/fn.compare_op.html                   |     6 +
 arrow_ord/cmp/fn.distinct.html                     |    15 +
 arrow_ord/cmp/fn.eq.html                           |    11 +
 arrow_ord/cmp/fn.gt.html                           |    11 +
 arrow_ord/cmp/fn.gt_eq.html                        |    14 +
 arrow_ord/cmp/fn.lt.html                           |    11 +
 arrow_ord/cmp/fn.lt_eq.html                        |    14 +
 arrow_ord/cmp/fn.neq.html                          |    11 +
 arrow_ord/cmp/fn.not_distinct.html                 |    15 +
 arrow_ord/cmp/fn.take_bits.html                    |     2 +
 arrow_ord/cmp/index.html                           |     6 +
 arrow_ord/cmp/sidebar-items.js                     |     1 +
 arrow_ord/cmp/trait.ArrayOrd.html                  |    16 +
 arrow_ord/index.html                               |    16 +
 arrow_ord/ord/fn.child_opts.html                   |     3 +
 arrow_ord/ord/fn.compare.html                      |     3 +
 arrow_ord/ord/fn.compare_boolean.html              |     5 +
 arrow_ord/ord/fn.compare_byte_view.html            |     5 +
 arrow_ord/ord/fn.compare_bytes.html                |     5 +
 arrow_ord/ord/fn.compare_dict.html                 |     5 +
 arrow_ord/ord/fn.compare_fixed_list.html           |     5 +
 arrow_ord/ord/fn.compare_impl.html                 |     6 +
 arrow_ord/ord/fn.compare_list.html                 |     5 +
 arrow_ord/ord/fn.compare_primitive.html            |     6 +
 arrow_ord/ord/fn.compare_struct.html               |     5 +
 arrow_ord/ord/fn.make_comparator.html              |    50 +
 arrow_ord/ord/index.html                           |     4 +
 arrow_ord/ord/sidebar-items.js                     |     1 +
 arrow_ord/ord/type.DynComparator.html              |     2 +
 arrow_ord/partition/fn.find_boundaries.html        |     2 +
 .../fn.lexicographical_partition_ranges.html       |     9 +
 arrow_ord/partition/fn.partition.html              |    41 +
 arrow_ord/partition/index.html                     |     5 +
 arrow_ord/partition/sidebar-items.js               |     1 +
 arrow_ord/partition/struct.Partitions.html         |    20 +
 arrow_ord/rank/fn.bytes_rank.html                  |     4 +
 arrow_ord/rank/fn.primitive_rank.html              |     5 +
 arrow_ord/rank/fn.rank.html                        |    11 +
 arrow_ord/rank/fn.rank_impl.html                   |    10 +
 arrow_ord/rank/index.html                          |     2 +
 arrow_ord/rank/sidebar-items.js                    |     1 +
 arrow_ord/sidebar-items.js                         |     1 +
 arrow_ord/sort/fn.can_rank.html                    |     2 +
 arrow_ord/sort/fn.can_sort_to_indices.html         |     2 +
 arrow_ord/sort/fn.child_rank.html                  |     5 +
 arrow_ord/sort/fn.lexsort.html                     |    41 +
 arrow_ord/sort/fn.lexsort_to_indices.html          |     8 +
 arrow_ord/sort/fn.partial_sort.html                |     3 +
 arrow_ord/sort/fn.partition_validity.html          |     1 +
 arrow_ord/sort/fn.sort.html                        |    16 +
 arrow_ord/sort/fn.sort_boolean.html                |     7 +
 arrow_ord/sort/fn.sort_byte_view.html              |     7 +
 arrow_ord/sort/fn.sort_bytes.html                  |     7 +
 arrow_ord/sort/fn.sort_dictionary.html             |     7 +
 arrow_ord/sort/fn.sort_fixed_size_binary.html      |     7 +
 arrow_ord/sort/fn.sort_fixed_size_list.html        |     7 +
 arrow_ord/sort/fn.sort_impl.html                   |     7 +
 arrow_ord/sort/fn.sort_limit.html                  |    25 +
 arrow_ord/sort/fn.sort_list.html                   |     7 +
 arrow_ord/sort/fn.sort_native_type.html            |     5 +
 arrow_ord/sort/fn.sort_primitive.html              |     7 +
 arrow_ord/sort/fn.sort_run.html                    |     5 +
 arrow_ord/sort/fn.sort_run_downcasted.html         |     5 +
 arrow_ord/sort/fn.sort_run_inner.html              |     7 +
 arrow_ord/sort/fn.sort_run_to_indices.html         |     5 +
 arrow_ord/sort/fn.sort_to_indices.html             |     7 +
 arrow_ord/sort/fn.sort_unstable_by.html            |     3 +
 arrow_ord/sort/index.html                          |     5 +
 arrow_ord/sort/sidebar-items.js                    |     1 +
 .../sort/struct.LexicographicalComparator.html     |    20 +
 arrow_ord/sort/struct.SortColumn.html              |    19 +
 arrow_ord/sort/struct.SortOptions.html             |    75 +
 arrow_row/all.html                                 |     1 +
 arrow_row/enum.Codec.html                          |    26 +
 arrow_row/enum.Encoder.html                        |    24 +
 arrow_row/fixed/fn.decode_bool.html                |     2 +
 arrow_row/fixed/fn.decode_fixed.html               |     8 +
 arrow_row/fixed/fn.decode_fixed_size_binary.html   |     6 +
 arrow_row/fixed/fn.decode_nulls.html               |     4 +
 arrow_row/fixed/fn.decode_primitive.html           |     7 +
 arrow_row/fixed/fn.encode.html                     |    12 +
 arrow_row/fixed/fn.encode_boolean.html             |    12 +
 arrow_row/fixed/fn.encode_boolean_not_null.html    |     8 +
 arrow_row/fixed/fn.encode_fixed_size_binary.html   |     6 +
 arrow_row/fixed/fn.encode_not_null.html            |     8 +
 arrow_row/fixed/fn.encoded_len.html                |     4 +
 arrow_row/fixed/fn.split_off.html                  |     2 +
 arrow_row/fixed/index.html                         |     5 +
 arrow_row/fixed/macro.encode_signed!.html          |    11 +
 arrow_row/fixed/macro.encode_signed.html           |     3 +
 arrow_row/fixed/macro.encode_unsigned!.html        |    11 +
 arrow_row/fixed/macro.encode_unsigned.html         |     3 +
 arrow_row/fixed/sidebar-items.js                   |     1 +
 arrow_row/fixed/trait.FixedLengthEncoding.html     |    11 +
 arrow_row/fixed/trait.FromSlice.html               |     4 +
 arrow_row/fn.decode_column.html                    |     9 +
 arrow_row/fn.encode_column.html                    |     8 +
 arrow_row/fn.encode_dictionary_values.html         |     8 +
 arrow_row/fn.null_sentinel.html                    |     2 +
 arrow_row/fn.row_lengths.html                      |     5 +
 arrow_row/index.html                               |    81 +
 arrow_row/list/fn.compute_lengths.html             |     5 +
 arrow_row/list/fn.decode.html                      |     9 +
 arrow_row/list/fn.encode.html                      |     9 +
 arrow_row/list/fn.encode_one.html                  |     6 +
 arrow_row/list/fn.encoded_len.html                 |     1 +
 arrow_row/list/index.html                          |     1 +
 arrow_row/list/sidebar-items.js                    |     1 +
 arrow_row/macro.decode_primitive_helper!.html      |    11 +
 arrow_row/macro.decode_primitive_helper.html       |     3 +
 arrow_row/sidebar-items.js                         |     1 +
 arrow_row/struct.OwnedRow.html                     |    32 +
 arrow_row/struct.Row.html                          |    36 +
 arrow_row/struct.RowConfig.html                    |    20 +
 arrow_row/struct.RowConverter.html                 |   227 +
 arrow_row/struct.RowParser.html                    |    18 +
 arrow_row/struct.Rows.html                         |    48 +
 arrow_row/struct.RowsIter.html                     |   211 +
 arrow_row/struct.SortField.html                    |    27 +
 .../variable/constant.BLOCK_CONTINUATION.html      |     2 +
 arrow_row/variable/constant.BLOCK_SIZE.html        |     2 +
 arrow_row/variable/constant.EMPTY_SENTINEL.html    |     2 +
 arrow_row/variable/constant.MINI_BLOCK_COUNT.html  |     3 +
 arrow_row/variable/constant.MINI_BLOCK_SIZE.html   |     2 +
 .../variable/constant.NON_EMPTY_SENTINEL.html      |     2 +
 arrow_row/variable/fn.decode_binary.html           |     5 +
 arrow_row/variable/fn.decode_binary_view.html      |     5 +
 .../variable/fn.decode_binary_view_inner.html      |     5 +
 arrow_row/variable/fn.decode_blocks.html           |     7 +
 arrow_row/variable/fn.decode_string.html           |     8 +
 arrow_row/variable/fn.decode_string_view.html      |     8 +
 arrow_row/variable/fn.decoded_len.html             |     2 +
 arrow_row/variable/fn.encode.html                  |    18 +
 arrow_row/variable/fn.encode_blocks.html           |     2 +
 arrow_row/variable/fn.encode_empty.html            |     1 +
 arrow_row/variable/fn.encode_null.html             |     1 +
 arrow_row/variable/fn.encode_one.html              |     5 +
 arrow_row/variable/fn.encoded_len.html             |     2 +
 arrow_row/variable/fn.padded_length.html           |     2 +
 arrow_row/variable/index.html                      |     2 +
 arrow_row/variable/sidebar-items.js                |     1 +
 arrow_schema/all.html                              |     1 +
 .../constant.DECIMAL128_MAX_PRECISION.html         |     2 +
 arrow_schema/constant.DECIMAL128_MAX_SCALE.html    |     2 +
 .../constant.DECIMAL256_MAX_PRECISION.html         |     2 +
 arrow_schema/constant.DECIMAL256_MAX_SCALE.html    |     2 +
 arrow_schema/constant.DECIMAL_DEFAULT_SCALE.html   |     3 +
 .../constant.DECIMAL128_MAX_PRECISION.html         |     2 +
 .../datatype/constant.DECIMAL128_MAX_SCALE.html    |     2 +
 .../constant.DECIMAL256_MAX_PRECISION.html         |     2 +
 .../datatype/constant.DECIMAL256_MAX_SCALE.html    |     2 +
 .../datatype/constant.DECIMAL_DEFAULT_SCALE.html   |     3 +
 arrow_schema/datatype/enum.DataType.html           |   357 +
 arrow_schema/datatype/enum.IntervalUnit.html       |    40 +
 arrow_schema/datatype/enum.TimeUnit.html           |    35 +
 arrow_schema/datatype/enum.UnionMode.html          |    31 +
 arrow_schema/datatype/index.html                   |     2 +
 arrow_schema/datatype/sidebar-items.js             |     1 +
 arrow_schema/datatype_parse/enum.Token.html        |    37 +
 arrow_schema/datatype_parse/fn.is_separator.html   |     2 +
 arrow_schema/datatype_parse/fn.make_error.html     |     1 +
 .../datatype_parse/fn.make_error_expected.html     |     5 +
 .../datatype_parse/fn.parse_data_type.html         |     1 +
 arrow_schema/datatype_parse/index.html             |     1 +
 arrow_schema/datatype_parse/sidebar-items.js       |     1 +
 arrow_schema/datatype_parse/struct.Parser.html     |    43 +
 arrow_schema/datatype_parse/struct.Tokenizer.html  |   205 +
 arrow_schema/datatype_parse/type.ArrowResult.html  |     6 +
 arrow_schema/enum.ArrowError.html                  |    51 +
 arrow_schema/enum.DataType.html                    |   357 +
 arrow_schema/enum.IntervalUnit.html                |    40 +
 arrow_schema/enum.TimeUnit.html                    |    35 +
 arrow_schema/enum.UnionMode.html                   |    31 +
 arrow_schema/error/enum.ArrowError.html            |    51 +
 arrow_schema/error/index.html                      |     2 +
 arrow_schema/error/sidebar-items.js                |     1 +
 arrow_schema/ffi/fn.get_format_string.html         |     1 +
 arrow_schema/ffi/fn.release_schema.html            |     1 +
 arrow_schema/ffi/index.html                        |    16 +
 arrow_schema/ffi/sidebar-items.js                  |     1 +
 arrow_schema/ffi/struct.FFI_ArrowSchema.html       |    67 +
 arrow_schema/ffi/struct.Flags.html                 |    72 +
 arrow_schema/ffi/struct.SchemaPrivateData.html     |    15 +
 arrow_schema/field/index.html                      |     1 +
 arrow_schema/field/sidebar-items.js                |     1 +
 arrow_schema/field/struct.Field.html               |   183 +
 arrow_schema/field/type.FieldRef.html              |     2 +
 arrow_schema/fields/index.html                     |     1 +
 arrow_schema/fields/sidebar-items.js               |     1 +
 arrow_schema/fields/struct.Fields.html             |  1233 ++
 arrow_schema/fields/struct.UnionFields.html        |    50 +
 arrow_schema/index.html                            |     3 +
 arrow_schema/schema/index.html                     |     1 +
 arrow_schema/schema/sidebar-items.js               |     1 +
 arrow_schema/schema/struct.Schema.html             |   127 +
 arrow_schema/schema/struct.SchemaBuilder.html      |    33 +
 arrow_schema/schema/type.SchemaRef.html            |     2 +
 arrow_schema/sidebar-items.js                      |     1 +
 arrow_schema/struct.Field.html                     |   183 +
 arrow_schema/struct.Fields.html                    |  1233 ++
 arrow_schema/struct.Schema.html                    |   127 +
 arrow_schema/struct.SchemaBuilder.html             |    33 +
 arrow_schema/struct.SortOptions.html               |    71 +
 arrow_schema/struct.UnionFields.html               |    50 +
 arrow_schema/type.FieldRef.html                    |     2 +
 arrow_schema/type.SchemaRef.html                   |     2 +
 arrow_select/all.html                              |     1 +
 arrow_select/concat/fn.binary_capacity.html        |     1 +
 arrow_select/concat/fn.concat.html                 |     2 +
 arrow_select/concat/fn.concat_batches.html         |     8 +
 arrow_select/concat/fn.concat_dictionaries.html    |     3 +
 arrow_select/concat/fn.concat_fallback.html        |     6 +
 .../concat/fn.fixed_size_list_capacity.html        |     4 +
 arrow_select/concat/fn.get_capacity.html           |     1 +
 arrow_select/concat/index.html                     |    12 +
 arrow_select/concat/macro.dict_helper!.html        |    11 +
 arrow_select/concat/macro.dict_helper.html         |     3 +
 arrow_select/concat/sidebar-items.js               |     1 +
 arrow_select/dictionary/fn.bytes_ptr_eq.html       |     3 +
 .../dictionary/fn.compute_values_mask.html         |     7 +
 arrow_select/dictionary/fn.get_masked_values.html  |     5 +
 arrow_select/dictionary/fn.masked_bytes.html       |     6 +
 .../dictionary/fn.merge_dictionary_values.html     |    11 +
 .../fn.should_merge_dictionary_values.html         |     8 +
 arrow_select/dictionary/index.html                 |     8 +
 arrow_select/dictionary/sidebar-items.js           |     1 +
 arrow_select/dictionary/struct.Interner.html       |    31 +
 .../dictionary/struct.MergedDictionaries.html      |    17 +
 arrow_select/dictionary/type.PtrEq.html            |     2 +
 ...nstant.FILTER_SLICES_SELECTIVITY_THRESHOLD.html |     5 +
 arrow_select/filter/enum.IterationStrategy.html    |    28 +
 arrow_select/filter/fn.build_filter.html           |     7 +
 arrow_select/filter/fn.filter.html                 |    13 +
 arrow_select/filter/fn.filter_array.html           |     4 +
 arrow_select/filter/fn.filter_bits.html            |     2 +
 arrow_select/filter/fn.filter_boolean.html         |     5 +
 arrow_select/filter/fn.filter_byte_view.html       |     5 +
 arrow_select/filter/fn.filter_bytes.html           |     8 +
 arrow_select/filter/fn.filter_count.html           |     2 +
 arrow_select/filter/fn.filter_dict.html            |     7 +
 .../filter/fn.filter_fixed_size_binary.html        |     4 +
 arrow_select/filter/fn.filter_native.html          |     4 +
 arrow_select/filter/fn.filter_null_mask.html       |     8 +
 arrow_select/filter/fn.filter_primitive.html       |     6 +
 arrow_select/filter/fn.filter_record_batch.html    |     7 +
 arrow_select/filter/fn.filter_run_end_array.html   |     6 +
 arrow_select/filter/fn.filter_sparse_union.html    |     5 +
 arrow_select/filter/fn.filter_struct.html          |     5 +
 arrow_select/filter/fn.multiple_arrays.html        |     1 +
 arrow_select/filter/fn.prep_null_mask_filter.html  |     2 +
 arrow_select/filter/index.html                     |     8 +
 arrow_select/filter/sidebar-items.js               |     1 +
 arrow_select/filter/struct.FilterBuilder.html      |    23 +
 arrow_select/filter/struct.FilterBytes.html        |    33 +
 arrow_select/filter/struct.FilterPredicate.html    |    19 +
 arrow_select/filter/struct.IndexIterator.html      |   194 +
 arrow_select/filter/struct.SlicesIterator.html     |   202 +
 arrow_select/filter/type.Filter.html               |     3 +
 arrow_select/index.html                            |     2 +
 arrow_select/interleave/fn.interleave.html         |    25 +
 arrow_select/interleave/fn.interleave_bytes.html   |     4 +
 .../interleave/fn.interleave_dictionaries.html     |     4 +
 .../interleave/fn.interleave_fallback.html         |     5 +
 .../interleave/fn.interleave_primitive.html        |     5 +
 arrow_select/interleave/index.html                 |     2 +
 arrow_select/interleave/macro.dict_helper!.html    |    11 +
 arrow_select/interleave/macro.dict_helper.html     |     3 +
 .../interleave/macro.primitive_helper!.html        |    11 +
 .../interleave/macro.primitive_helper.html         |     3 +
 arrow_select/interleave/sidebar-items.js           |     1 +
 arrow_select/interleave/struct.Interleave.html     |    23 +
 arrow_select/nullif/fn.nullif.html                 |     7 +
 arrow_select/nullif/index.html                     |     3 +
 arrow_select/nullif/sidebar-items.js               |     1 +
 arrow_select/sidebar-items.js                      |     1 +
 arrow_select/take/fn.check_bounds.html             |     5 +
 arrow_select/take/fn.maybe_usize.html              |     1 +
 arrow_select/take/fn.take.html                     |    36 +
 arrow_select/take/fn.take_arrays.html              |    42 +
 arrow_select/take/fn.take_bits.html                |     4 +
 arrow_select/take/fn.take_boolean.html             |     5 +
 arrow_select/take/fn.take_byte_view.html           |     5 +
 arrow_select/take/fn.take_bytes.html               |     5 +
 arrow_select/take/fn.take_dict.html                |     7 +
 arrow_select/take/fn.take_fixed_size_binary.html   |     5 +
 arrow_select/take/fn.take_fixed_size_list.html     |     9 +
 arrow_select/take/fn.take_impl.html                |     4 +
 arrow_select/take/fn.take_list.html                |    12 +
 arrow_select/take/fn.take_native.html              |     4 +
 arrow_select/take/fn.take_nulls.html               |     4 +
 arrow_select/take/fn.take_primitive.html           |    14 +
 arrow_select/take/fn.take_record_batch.html        |    35 +
 arrow_select/take/fn.take_run.html                 |    11 +
 ...fn.take_value_indices_from_fixed_size_list.html |     7 +
 .../take/fn.take_value_indices_from_list.html      |    12 +
 arrow_select/take/index.html                       |     4 +
 arrow_select/take/macro.to_indices_identity!.html  |    11 +
 arrow_select/take/macro.to_indices_identity.html   |     3 +
 .../take/macro.to_indices_reinterpret!.html        |    11 +
 .../take/macro.to_indices_reinterpret.html         |     3 +
 arrow_select/take/macro.to_indices_widening!.html  |    11 +
 arrow_select/take/macro.to_indices_widening.html   |     3 +
 arrow_select/take/sidebar-items.js                 |     1 +
 arrow_select/take/struct.TakeOptions.html          |    20 +
 arrow_select/take/trait.ToIndices.html             |     8 +
 .../constant.EQ_SCALAR_CHUNK_SIZE.html             |     1 +
 .../constant.IS_SEQUENTIAL_CHUNK_SIZE.html         |     1 +
 arrow_select/union_extract/enum.BoolValue.html     |    20 +
 arrow_select/union_extract/fn.count_first_run.html |     5 +
 arrow_select/union_extract/fn.eq_scalar.html       |     1 +
 arrow_select/union_extract/fn.eq_scalar_inner.html |     1 +
 arrow_select/union_extract/fn.extract_dense.html   |     5 +
 .../fn.extract_dense_all_selected.html             |     5 +
 arrow_select/union_extract/fn.extract_sparse.html  |     5 +
 arrow_select/union_extract/fn.is_sequential.html   |     1 +
 .../union_extract/fn.is_sequential_generic.html    |     1 +
 arrow_select/union_extract/fn.union_extract.html   |    41 +
 arrow_select/union_extract/index.html              |     2 +
 arrow_select/union_extract/sidebar-items.js        |     1 +
 arrow_select/window/fn.shift.html                  |    27 +
 arrow_select/window/index.html                     |     4 +
 arrow_select/window/sidebar-items.js               |     1 +
 arrow_select/zip/fn.zip.html                       |    13 +
 arrow_select/zip/index.html                        |     3 +
 arrow_select/zip/sidebar-items.js                  |     1 +
 arrow_stream_to_file/all.html                      |     1 +
 arrow_stream_to_file/fn.main.html                  |     1 +
 arrow_stream_to_file/index.html                    |     1 +
 arrow_stream_to_file/sidebar-items.js              |     1 +
 arrow_string/all.html                              |     1 +
 .../concat_elements/fn.concat_element_binary.html  |     5 +
 .../concat_elements/fn.concat_elements_bytes.html  |     5 +
 .../concat_elements/fn.concat_elements_dyn.html    |     7 +
 .../concat_elements/fn.concat_elements_utf8.html   |    13 +
 .../fn.concat_elements_utf8_many.html              |     7 +
 arrow_string/concat_elements/index.html            |     2 +
 arrow_string/concat_elements/sidebar-items.js      |     1 +
 arrow_string/index.html                            |     5 +
 arrow_string/length/fn.bit_length.html             |     8 +
 arrow_string/length/fn.bit_length_impl.html        |     4 +
 arrow_string/length/fn.length.html                 |     9 +
 arrow_string/length/fn.length_impl.html            |     4 +
 arrow_string/length/index.html                     |     2 +
 arrow_string/length/sidebar-items.js               |     1 +
 arrow_string/like/enum.Op.html                     |    19 +
 arrow_string/like/fn.apply.html                    |     9 +
 arrow_string/like/fn.binary_predicate.html         |     6 +
 arrow_string/like/fn.contains.html                 |     5 +
 arrow_string/like/fn.ends_with.html                |     5 +
 arrow_string/like/fn.ilike.html                    |     8 +
 arrow_string/like/fn.like.html                     |    17 +
 arrow_string/like/fn.like_op.html                  |     5 +
 arrow_string/like/fn.make_scalar.html              |     4 +
 arrow_string/like/fn.nilike.html                   |     6 +
 arrow_string/like/fn.nlike.html                    |     6 +
 arrow_string/like/fn.op_binary.html                |     5 +
 arrow_string/like/fn.op_scalar.html                |     6 +
 arrow_string/like/fn.starts_with.html              |     5 +
 arrow_string/like/fn.str_contains.html             |     1 +
 arrow_string/like/fn.vectored_iter.html            |     4 +
 arrow_string/like/index.html                       |     2 +
 arrow_string/like/macro.legacy_kernels!.html       |    11 +
 arrow_string/like/macro.legacy_kernels.html        |     3 +
 arrow_string/like/sidebar-items.js                 |     1 +
 arrow_string/like/trait.StringArrayType.html       |    15 +
 arrow_string/predicate/enum.Predicate.html         |    31 +
 .../predicate/fn.contains_like_pattern.html        |     1 +
 arrow_string/predicate/fn.ends_with.html           |     7 +
 arrow_string/predicate/fn.equals_bytes.html        |     5 +
 .../fn.equals_ignore_ascii_case_kernel.html        |     1 +
 arrow_string/predicate/fn.equals_kernel.html       |     1 +
 arrow_string/predicate/fn.is_like_pattern.html     |     1 +
 arrow_string/predicate/fn.regex_like.html          |    12 +
 arrow_string/predicate/fn.starts_with.html         |     7 +
 arrow_string/predicate/index.html                  |     3 +
 arrow_string/predicate/sidebar-items.js            |     1 +
 .../regexp/fn.get_scalar_pattern_flag.html         |     4 +
 arrow_string/regexp/fn.regexp_array_match.html     |     5 +
 arrow_string/regexp/fn.regexp_is_match.html        |    34 +
 arrow_string/regexp/fn.regexp_is_match_scalar.html |    24 +
 arrow_string/regexp/fn.regexp_is_match_utf8.html   |    11 +
 .../regexp/fn.regexp_is_match_utf8_scalar.html     |     8 +
 arrow_string/regexp/fn.regexp_match.html           |    22 +
 arrow_string/regexp/fn.regexp_scalar_match.html    |     4 +
 arrow_string/regexp/index.html                     |     6 +
 arrow_string/regexp/sidebar-items.js               |     1 +
 arrow_string/sidebar-items.js                      |     1 +
 arrow_string/substring/fn.byte_substring.html      |     6 +
 .../substring/fn.fixed_size_binary_substring.html  |     6 +
 .../substring/fn.get_start_end_offset.html         |    11 +
 arrow_string/substring/fn.substring.html           |    38 +
 arrow_string/substring/fn.substring_by_char.html   |    30 +
 arrow_string/substring/index.html                  |     4 +
 arrow_string/substring/sidebar-items.js            |     1 +
 crates.js                                          |     2 +
 flight_sql_client/all.html                         |     1 +
 flight_sql_client/enum.Command.html                |    87 +
 .../fn.construct_record_batch_from_params.html     |     4 +
 flight_sql_client/fn.execute_flight.html           |     4 +
 flight_sql_client/fn.log_metadata.html             |     2 +
 flight_sql_client/fn.main.html                     |     1 +
 flight_sql_client/fn.parse_key_val.html            |     2 +
 flight_sql_client/fn.setup_client.html             |     3 +
 flight_sql_client/fn.setup_logging.html            |     1 +
 flight_sql_client/index.html                       |     1 +
 flight_sql_client/sidebar-items.js                 |     1 +
 flight_sql_client/struct.Args.html                 |    42 +
 flight_sql_client/struct.ClientArgs.html           |    58 +
 flight_sql_client/struct.LoggingArgs.html          |    44 +
 flight_test_integration_client/all.html            |     1 +
 flight_test_integration_client/enum.Scenario.html  |    25 +
 flight_test_integration_client/fn.main.html        |     1 +
 flight_test_integration_client/index.html          |     1 +
 flight_test_integration_client/sidebar-items.js    |     1 +
 flight_test_integration_client/struct.Args.html    |    42 +
 flight_test_integration_client/type.Error.html     |     1 +
 flight_test_integration_client/type.Result.html    |     6 +
 flight_test_integration_server/all.html            |     1 +
 flight_test_integration_server/enum.Scenario.html  |    25 +
 flight_test_integration_server/fn.main.html        |     1 +
 flight_test_integration_server/index.html          |     1 +
 flight_test_integration_server/sidebar-items.js    |     1 +
 flight_test_integration_server/struct.Args.html    |    40 +
 flight_test_integration_server/type.Error.html     |     1 +
 flight_test_integration_server/type.Result.html    |     6 +
 gen/all.html                                       |     1 +
 gen/fn.main.html                                   |     1 +
 gen/fn.prost_config.html                           |     1 +
 gen/index.html                                     |     1 +
 gen/sidebar-items.js                               |     1 +
 help.html                                          |     1 +
 index.html                                         |     2 +
 parquet/all.html                                   |     1 +
 parquet/arrow/array_reader/trait.RowGroups.html    |    11 +
 parquet/arrow/arrow_reader/filter/index.html       |     1 +
 parquet/arrow/arrow_reader/filter/sidebar-items.js |     1 +
 .../filter/struct.ArrowPredicateFn.html            |    38 +
 .../arrow_reader/filter/struct.RowFilter.html      |    51 +
 .../arrow_reader/filter/trait.ArrowPredicate.html  |    22 +
 parquet/arrow/arrow_reader/fn.apply_range.html     |     7 +
 .../arrow/arrow_reader/fn.evaluate_predicate.html  |    14 +
 parquet/arrow/arrow_reader/fn.selects_any.html     |     2 +
 parquet/arrow/arrow_reader/index.html              |     6 +
 .../selection/fn.intersect_row_selections.html     |     9 +
 .../selection/fn.union_row_selections.html         |    10 +
 parquet/arrow/arrow_reader/selection/index.html    |     9 +
 .../arrow/arrow_reader/selection/sidebar-items.js  |     1 +
 .../selection/struct.RowSelection.html             |   109 +
 .../arrow_reader/selection/struct.RowSelector.html |    33 +
 parquet/arrow/arrow_reader/sidebar-items.js        |     1 +
 .../statistics/fn.from_bytes_to_f16.html           |     1 +
 .../statistics/fn.from_bytes_to_i128.html          |     1 +
 .../statistics/fn.from_bytes_to_i256.html          |     1 +
 .../statistics/fn.max_page_statistics.html         |     7 +
 .../arrow_reader/statistics/fn.max_statistics.html |     6 +
 .../statistics/fn.min_page_statistics.html         |     7 +
 .../arrow_reader/statistics/fn.min_statistics.html |     7 +
 .../statistics/fn.null_counts_page_statistics.html |     7 +
 parquet/arrow/arrow_reader/statistics/index.html   |    23 +
 .../macro.get_data_page_statistics!.html           |    11 +
 .../statistics/macro.get_data_page_statistics.html |     3 +
 .../macro.get_decimal_page_stats_iterator!.html    |    11 +
 .../macro.get_decimal_page_stats_iterator.html     |     3 +
 .../statistics/macro.get_statistics!.html          |    11 +
 .../statistics/macro.get_statistics.html           |     9 +
 .../macro.make_data_page_stats_iterator!.html      |    11 +
 .../macro.make_data_page_stats_iterator.html       |     3 +
 .../macro.make_decimal_stats_iterator!.html        |    11 +
 .../macro.make_decimal_stats_iterator.html         |    18 +
 .../statistics/macro.make_stats_iterator!.html     |    11 +
 .../statistics/macro.make_stats_iterator.html      |    13 +
 .../arrow/arrow_reader/statistics/sidebar-items.js |     1 +
 .../struct.MaxBooleanDataPageStatsIterator.html    |   614 +
 .../statistics/struct.MaxBooleanStatsIterator.html |   624 +
 .../struct.MaxByteArrayDataPageStatsIterator.html  |   614 +
 .../struct.MaxByteArrayStatsIterator.html          |   624 +
 .../struct.MaxDecimal128DataPageStatsIterator.html |   614 +
 .../struct.MaxDecimal128StatsIterator.html         |   614 +
 .../struct.MaxDecimal256DataPageStatsIterator.html |   614 +
 .../struct.MaxDecimal256StatsIterator.html         |   614 +
 .../statistics/struct.MaxDoubleStatsIterator.html  |   624 +
 ....MaxFixedLenByteArrayDataPageStatsIterator.html |   614 +
 .../struct.MaxFixedLenByteArrayStatsIterator.html  |   624 +
 .../struct.MaxFloat16DataPageStatsIterator.html    |   614 +
 .../struct.MaxFloat32DataPageStatsIterator.html    |   614 +
 .../struct.MaxFloat64DataPageStatsIterator.html    |   614 +
 .../statistics/struct.MaxFloatStatsIterator.html   |   624 +
 .../struct.MaxInt32DataPageStatsIterator.html      |   614 +
 .../statistics/struct.MaxInt32StatsIterator.html   |   624 +
 .../struct.MaxInt64DataPageStatsIterator.html      |   614 +
 .../statistics/struct.MaxInt64StatsIterator.html   |   624 +
 .../struct.MinBooleanDataPageStatsIterator.html    |   614 +
 .../statistics/struct.MinBooleanStatsIterator.html |   624 +
 .../struct.MinByteArrayDataPageStatsIterator.html  |   614 +
 .../struct.MinByteArrayStatsIterator.html          |   624 +
 .../struct.MinDecimal128DataPageStatsIterator.html |   614 +
 .../struct.MinDecimal128StatsIterator.html         |   614 +
 .../struct.MinDecimal256DataPageStatsIterator.html |   614 +
 .../struct.MinDecimal256StatsIterator.html         |   614 +
 .../statistics/struct.MinDoubleStatsIterator.html  |   624 +
 ....MinFixedLenByteArrayDataPageStatsIterator.html |   614 +
 .../struct.MinFixedLenByteArrayStatsIterator.html  |   624 +
 .../struct.MinFloat16DataPageStatsIterator.html    |   614 +
 .../struct.MinFloat32DataPageStatsIterator.html    |   614 +
 .../struct.MinFloat64DataPageStatsIterator.html    |   614 +
 .../statistics/struct.MinFloatStatsIterator.html   |   624 +
 .../struct.MinInt32DataPageStatsIterator.html      |   614 +
 .../statistics/struct.MinInt32StatsIterator.html   |   624 +
 .../struct.MinInt64DataPageStatsIterator.html      |   614 +
 .../statistics/struct.MinInt64StatsIterator.html   |   624 +
 .../statistics/struct.StatisticsConverter.html     |   230 +
 .../arrow_reader/struct.ArrowPredicateFn.html      |    38 +
 .../arrow_reader/struct.ArrowReaderBuilder.html    |   176 +
 .../arrow_reader/struct.ArrowReaderMetadata.html   |    73 +
 .../arrow_reader/struct.ArrowReaderOptions.html    |    84 +
 .../struct.ParquetRecordBatchReader.html           |   641 +
 .../arrow_reader/struct.ReaderPageIterator.html    |   610 +
 .../arrow/arrow_reader/struct.ReaderRowGroups.html |    26 +
 parquet/arrow/arrow_reader/struct.RowFilter.html   |    51 +
 .../arrow/arrow_reader/struct.RowSelection.html    |   109 +
 parquet/arrow/arrow_reader/struct.RowSelector.html |    33 +
 .../arrow/arrow_reader/trait.ArrowPredicate.html   |    22 +
 parquet/arrow/arrow_reader/trait.RowGroups.html    |     8 +
 .../type.ParquetRecordBatchReaderBuilder.html      |    54 +
 .../byte_array/enum.FallbackEncoderImpl.html       |    35 +
 .../byte_array/fn.compute_min_max.html             |     8 +
 .../arrow/arrow_writer/byte_array/fn.encode.html   |     5 +
 parquet/arrow/arrow_writer/byte_array/index.html   |     1 +
 .../byte_array/macro.downcast_dict_impl!.html      |    11 +
 .../byte_array/macro.downcast_dict_impl.html       |     3 +
 .../byte_array/macro.downcast_dict_op!.html        |    11 +
 .../byte_array/macro.downcast_dict_op.html         |     3 +
 .../byte_array/macro.downcast_op!.html             |    11 +
 .../arrow_writer/byte_array/macro.downcast_op.html |     3 +
 .../arrow/arrow_writer/byte_array/sidebar-items.js |     1 +
 .../byte_array/struct.ByteArrayEncoder.html        |    42 +
 .../byte_array/struct.ByteArrayStorage.html        |    24 +
 .../byte_array/struct.DictEncoder.html             |    31 +
 .../byte_array/struct.FallbackEncoder.html         |    35 +
 .../arrow_writer/enum.ArrowColumnWriterImpl.html   |    21 +
 parquet/arrow/arrow_writer/fn.compute_leaves.html  |     5 +
 .../arrow_writer/fn.get_arrow_column_writer.html   |     7 +
 .../arrow_writer/fn.get_bool_array_slice.html      |     1 +
 .../arrow/arrow_writer/fn.get_column_writers.html  |     6 +
 .../fn.get_decimal_128_array_slice.html            |     4 +
 .../fn.get_decimal_256_array_slice.html            |     4 +
 .../arrow_writer/fn.get_float_16_array_slice.html  |     4 +
 .../arrow/arrow_writer/fn.get_fsb_array_slice.html |     4 +
 .../fn.get_interval_dt_array_slice.html            |     6 +
 .../fn.get_interval_ym_array_slice.html            |     6 +
 parquet/arrow/arrow_writer/fn.write_leaf.html      |     4 +
 parquet/arrow/arrow_writer/fn.write_primitive.html |     5 +
 parquet/arrow/arrow_writer/index.html              |     4 +
 .../arrow_writer/levels/enum.LevelInfoBuilder.html |    61 +
 .../levels/fn.calculate_array_levels.html          |     6 +
 parquet/arrow/arrow_writer/levels/fn.is_leaf.html  |     3 +
 parquet/arrow/arrow_writer/levels/index.html       |    23 +
 parquet/arrow/arrow_writer/levels/sidebar-items.js |     1 +
 .../arrow_writer/levels/struct.ArrayLevels.html    |    41 +
 .../arrow_writer/levels/struct.LevelContext.html   |    27 +
 parquet/arrow/arrow_writer/sidebar-items.js        |     1 +
 .../arrow_writer/struct.ArrowColumnChunk.html      |    27 +
 .../arrow_writer/struct.ArrowColumnChunkData.html  |    23 +
 .../struct.ArrowColumnChunkReader.html             |    75 +
 .../arrow_writer/struct.ArrowColumnWriter.html     |   104 +
 .../arrow/arrow_writer/struct.ArrowLeafColumn.html |    19 +
 .../arrow/arrow_writer/struct.ArrowPageWriter.html |    24 +
 .../arrow_writer/struct.ArrowRowGroupWriter.html   |    27 +
 parquet/arrow/arrow_writer/struct.ArrowWriter.html |   125 +
 .../arrow_writer/struct.ArrowWriterOptions.html    |    34 +
 .../arrow/arrow_writer/type.SharedColumnChunk.html |     4 +
 .../arrow/async_reader/enum.ColumnChunkData.html   |    36 +
 parquet/arrow/async_reader/enum.StreamState.html   |    27 +
 .../async_reader/fn.fetch_parquet_metadata.html    |    22 +
 parquet/arrow/async_reader/index.html              |    39 +
 .../metadata/fn.fetch_parquet_metadata.html        |    22 +
 parquet/arrow/async_reader/metadata/index.html     |     1 +
 .../arrow/async_reader/metadata/sidebar-items.js   |     1 +
 .../metadata/struct.MetadataFetchFn.html           |    27 +
 .../metadata/struct.MetadataLoader.html            |    49 +
 .../async_reader/metadata/trait.MetadataFetch.html |    30 +
 parquet/arrow/async_reader/sidebar-items.js        |     1 +
 parquet/arrow/async_reader/store/index.html        |     1 +
 parquet/arrow/async_reader/store/sidebar-items.js  |     1 +
 .../store/struct.ParquetObjectReader.html          |    50 +
 .../async_reader/struct.ColumnChunkIterator.html   |   614 +
 .../async_reader/struct.InMemoryRowGroup.html      |    31 +
 .../arrow/async_reader/struct.MetadataLoader.html  |    49 +
 .../async_reader/struct.ParquetObjectReader.html   |    50 +
 .../struct.ParquetRecordBatchStream.html           |   274 +
 .../arrow/async_reader/struct.ReaderFactory.html   |    39 +
 .../arrow/async_reader/trait.AsyncFileReader.html  |    39 +
 .../arrow/async_reader/trait.MetadataFetch.html    |    30 +
 .../type.ParquetRecordBatchStreamBuilder.html      |    61 +
 parquet/arrow/async_reader/type.ReadResult.html    |     6 +
 parquet/arrow/async_writer/index.html              |    24 +
 parquet/arrow/async_writer/sidebar-items.js        |     1 +
 parquet/arrow/async_writer/store/index.html        |     1 +
 parquet/arrow/async_writer/store/sidebar-items.js  |     1 +
 .../store/struct.ParquetObjectWriter.html          |    53 +
 .../async_writer/struct.AsyncArrowWriter.html      |    77 +
 .../async_writer/struct.ParquetObjectWriter.html   |    53 +
 .../arrow/async_writer/trait.AsyncFileWriter.html  |    12 +
 .../arrow/buffer/bit_util/fn.count_set_bits.html   |     2 +
 .../buffer/bit_util/fn.iter_set_bits_rev.html      |     2 +
 .../arrow/buffer/bit_util/fn.sign_extend_be.html   |     2 +
 parquet/arrow/buffer/bit_util/index.html           |     1 +
 parquet/arrow/buffer/bit_util/sidebar-items.js     |     1 +
 .../dictionary_buffer/enum.DictionaryBuffer.html   |    50 +
 parquet/arrow/buffer/dictionary_buffer/index.html  |     2 +
 .../buffer/dictionary_buffer/sidebar-items.js      |     1 +
 parquet/arrow/buffer/index.html                    |     2 +
 parquet/arrow/buffer/offset_buffer/index.html      |     2 +
 .../arrow/buffer/offset_buffer/sidebar-items.js    |     1 +
 .../buffer/offset_buffer/struct.OffsetBuffer.html  |    60 +
 parquet/arrow/buffer/sidebar-items.js              |     1 +
 parquet/arrow/buffer/view_buffer/index.html        |     2 +
 parquet/arrow/buffer/view_buffer/sidebar-items.js  |     1 +
 .../buffer/view_buffer/struct.ViewBuffer.html      |    55 +
 parquet/arrow/constant.ARROW_SCHEMA_META_KEY.html  |     2 +
 .../arrow/constant.PARQUET_FIELD_ID_META_KEY.html  |     3 +
 parquet/arrow/decoder/delta_byte_array/index.html  |     1 +
 .../decoder/delta_byte_array/sidebar-items.js      |     1 +
 .../struct.DeltaByteArrayDecoder.html              |    34 +
 parquet/arrow/decoder/dictionary_index/index.html  |     1 +
 .../decoder/dictionary_index/sidebar-items.js      |     1 +
 .../dictionary_index/struct.DictIndexDecoder.html  |    44 +
 parquet/arrow/decoder/index.html                   |     2 +
 parquet/arrow/decoder/sidebar-items.js             |     1 +
 parquet/arrow/fn.arrow_to_parquet_schema.html      |     4 +
 parquet/arrow/fn.parquet_column.html               |     7 +
 .../arrow/fn.parquet_to_arrow_field_levels.html    |    15 +
 parquet/arrow/fn.parquet_to_arrow_schema.html      |     7 +
 .../fn.parquet_to_arrow_schema_by_columns.html     |     7 +
 parquet/arrow/index.html                           |    41 +
 parquet/arrow/record_reader/buffer/index.html      |     1 +
 .../arrow/record_reader/buffer/sidebar-items.js    |     1 +
 .../record_reader/buffer/trait.ValuesBuffer.html   |    35 +
 .../definition_levels/enum.BufferInner.html        |    32 +
 .../definition_levels/enum.MaybePacked.html        |    22 +
 .../record_reader/definition_levels/index.html     |     2 +
 .../definition_levels/sidebar-items.js             |     1 +
 .../struct.DefinitionLevelBuffer.html              |    26 +
 .../struct.DefinitionLevelBufferDecoder.html       |    26 +
 .../definition_levels/struct.PackedDecoder.html    |    43 +
 .../arrow/record_reader/fn.packed_null_mask.html   |     4 +
 parquet/arrow/record_reader/index.html             |     3 +
 parquet/arrow/record_reader/sidebar-items.js       |     1 +
 .../record_reader/struct.GenericRecordReader.html  |    68 +
 parquet/arrow/record_reader/type.ColumnReader.html |    17 +
 parquet/arrow/record_reader/type.RecordReader.html |    12 +
 .../arrow/schema/fn.arrow_to_parquet_schema.html   |    11 +
 .../schema/fn.parquet_to_arrow_field_levels.html   |    11 +
 .../arrow/schema/fn.parquet_to_arrow_schema.html   |    11 +
 .../fn.parquet_to_arrow_schema_by_columns.html     |    11 +
 parquet/arrow/schema/struct.FieldLevels.html       |    11 +
 parquet/arrow/sidebar-items.js                     |     1 +
 parquet/arrow/struct.FieldLevels.html              |    29 +
 parquet/arrow/struct.ProjectionMask.html           |    62 +
 parquet/basic/enum.ColumnOrder.html                |    47 +
 parquet/basic/enum.Compression.html                |    57 +
 parquet/basic/enum.ConvertedType.html              |    98 +
 parquet/basic/enum.Encoding.html                   |    96 +
 parquet/basic/enum.LogicalType.html                |    77 +
 parquet/basic/enum.PageType.html                   |    38 +
 parquet/basic/enum.Repetition.html                 |    33 +
 parquet/basic/enum.SortOrder.html                  |    39 +
 parquet/basic/enum.Type.html                       |    49 +
 parquet/basic/fn.check_level_is_none.html          |     1 +
 parquet/basic/fn.require_level.html                |     1 +
 parquet/basic/fn.split_compression_string.html     |     3 +
 parquet/basic/index.html                           |     4 +
 parquet/basic/sidebar-items.js                     |     1 +
 parquet/basic/struct.BrotliLevel.html              |    30 +
 parquet/basic/struct.GzipLevel.html                |    55 +
 parquet/basic/struct.ZstdLevel.html                |    30 +
 .../bloom_filter/constant.BITSET_MAX_LENGTH.html   |     1 +
 .../bloom_filter/constant.BITSET_MIN_LENGTH.html   |     1 +
 parquet/bloom_filter/constant.SALT.html            |     2 +
 .../constant.SBBF_HEADER_SIZE_ESTIMATE.html        |     1 +
 parquet/bloom_filter/constant.SEED.html            |     1 +
 ....chunk_read_bloom_filter_header_and_offset.html |     6 +
 parquet/bloom_filter/fn.hash_as_bytes.html         |     1 +
 .../bloom_filter/fn.num_of_bits_from_ndv_fpp.html  |     1 +
 parquet/bloom_filter/fn.optimal_num_of_bytes.html  |     1 +
 .../fn.read_bloom_filter_header_and_length.html    |     5 +
 parquet/bloom_filter/index.html                    |    40 +
 parquet/bloom_filter/sidebar-items.js              |     1 +
 parquet/bloom_filter/struct.Block.html             |    27 +
 parquet/bloom_filter/struct.Sbbf.html              |    44 +
 parquet/column/index.html                          |    82 +
 parquet/column/page/enum.Page.html                 |    78 +
 parquet/column/page/index.html                     |     5 +
 parquet/column/page/sidebar-items.js               |     1 +
 parquet/column/page/struct.CompressedPage.html     |    38 +
 parquet/column/page/struct.PageMetadata.html       |    29 +
 parquet/column/page/struct.PageWriteSpec.html      |    34 +
 parquet/column/page/trait.PageIterator.html        |     2 +
 parquet/column/page/trait.PageReader.html          |    23 +
 parquet/column/page/trait.PageWriter.html          |    15 +
 .../constant.REPETITION_LEVELS_BATCH_SIZE.html     |     1 +
 .../reader/decoder/constant.SKIP_BUFFER_SIZE.html  |     1 +
 .../column/reader/decoder/enum.LevelDecoder.html   |    22 +
 parquet/column/reader/decoder/index.html           |     1 +
 parquet/column/reader/decoder/sidebar-items.js     |     1 +
 .../decoder/struct.ColumnValueDecoderImpl.html     |    35 +
 .../decoder/struct.DefinitionLevelDecoderImpl.html |    28 +
 .../decoder/struct.RepetitionLevelDecoderImpl.html |    45 +
 .../reader/decoder/trait.ColumnLevelDecoder.html   |     8 +
 .../reader/decoder/trait.ColumnValueDecoder.html   |    57 +
 .../decoder/trait.DefinitionLevelDecoder.html      |    19 +
 .../decoder/trait.RepetitionLevelDecoder.html      |    36 +
 parquet/column/reader/enum.ColumnReader.html       |    36 +
 parquet/column/reader/fn.get_column_reader.html    |     6 +
 .../column/reader/fn.get_typed_column_reader.html  |     6 +
 parquet/column/reader/fn.parse_v1_level.html       |     6 +
 parquet/column/reader/index.html                   |     4 +
 parquet/column/reader/sidebar-items.js             |     1 +
 .../column/reader/struct.GenericColumnReader.html  |   102 +
 parquet/column/reader/type.ColumnReaderImpl.html   |    18 +
 parquet/column/sidebar-items.js                    |     1 +
 parquet/column/writer/encoder/fn.get_min_max.html  |     3 +
 parquet/column/writer/encoder/fn.replace_zero.html |     5 +
 parquet/column/writer/encoder/index.html           |     2 +
 parquet/column/writer/encoder/sidebar-items.js     |     1 +
 .../encoder/struct.ColumnValueEncoderImpl.html     |    41 +
 .../writer/encoder/struct.DataPageValues.html      |    32 +
 .../writer/encoder/struct.DictionaryPage.html      |    24 +
 .../writer/encoder/trait.ColumnValueEncoder.html   |    60 +
 .../column/writer/encoder/trait.ColumnValues.html  |     6 +
 parquet/column/writer/enum.ColumnWriter.html       |    39 +
 parquet/column/writer/enum.Level.html              |    22 +
 parquet/column/writer/fn.compare_greater.html      |     6 +
 .../fn.compare_greater_byte_array_decimals.html    |     2 +
 parquet/column/writer/fn.fallback_encoding.html    |     2 +
 parquet/column/writer/fn.get_column_writer.html    |     6 +
 .../column/writer/fn.get_typed_column_writer.html  |     6 +
 .../writer/fn.get_typed_column_writer_mut.html     |     4 +
 .../writer/fn.get_typed_column_writer_ref.html     |     4 +
 .../column/writer/fn.has_dictionary_support.html   |     2 +
 parquet/column/writer/fn.increment.html            |     3 +
 parquet/column/writer/fn.increment_utf8.html       |     3 +
 parquet/column/writer/fn.is_nan.html               |     1 +
 parquet/column/writer/fn.truncate_utf8.html        |     3 +
 parquet/column/writer/fn.update_max.html           |     5 +
 parquet/column/writer/fn.update_min.html           |     5 +
 parquet/column/writer/fn.update_stat.html          |    10 +
 parquet/column/writer/index.html                   |     5 +
 parquet/column/writer/macro.downcast_writer!.html  |    11 +
 parquet/column/writer/macro.downcast_writer.html   |     3 +
 parquet/column/writer/sidebar-items.js             |     1 +
 .../column/writer/struct.ColumnCloseResult.html    |    35 +
 parquet/column/writer/struct.ColumnMetrics.html    |    49 +
 .../column/writer/struct.GenericColumnWriter.html  |   151 +
 parquet/column/writer/struct.PageMetrics.html      |    31 +
 parquet/column/writer/type.ColumnWriterImpl.html   |    24 +
 parquet/compression/struct.BrotliLevel.html        |    11 +
 parquet/compression/struct.GzipLevel.html          |    11 +
 parquet/compression/struct.ZstdLevel.html          |    11 +
 parquet/data_type/enum.Decimal.html                |    60 +
 parquet/data_type/index.html                       |     7 +
 parquet/data_type/macro.ensure_phys_ty!.html       |    11 +
 parquet/data_type/macro.ensure_phys_ty.html        |     4 +
 parquet/data_type/macro.gen_as_bytes!.html         |    11 +
 parquet/data_type/macro.gen_as_bytes.html          |     3 +
 parquet/data_type/macro.make_type!.html            |    11 +
 parquet/data_type/macro.make_type.html             |     3 +
 .../macro.unimplemented_slice_as_bytes!.html       |    11 +
 .../macro.unimplemented_slice_as_bytes.html        |     3 +
 parquet/data_type/private/index.html               |     1 +
 .../data_type/private/macro.impl_from_raw!.html    |    11 +
 parquet/data_type/private/macro.impl_from_raw.html |     3 +
 parquet/data_type/private/sidebar-items.js         |     1 +
 .../data_type/private/trait.ParquetValueType.html  |   107 +
 parquet/data_type/sidebar-items.js                 |     1 +
 parquet/data_type/struct.BoolType.html             |    32 +
 parquet/data_type/struct.ByteArray.html            |    54 +
 parquet/data_type/struct.ByteArrayType.html        |    32 +
 parquet/data_type/struct.DoubleType.html           |    32 +
 parquet/data_type/struct.FixedLenByteArray.html    |    60 +
 .../data_type/struct.FixedLenByteArrayType.html    |    32 +
 parquet/data_type/struct.FloatType.html            |    32 +
 parquet/data_type/struct.Int32Type.html            |    32 +
 parquet/data_type/struct.Int64Type.html            |    32 +
 parquet/data_type/struct.Int96.html                |    48 +
 parquet/data_type/struct.Int96Type.html            |    32 +
 parquet/data_type/trait.AsBytes.html               |     6 +
 parquet/data_type/trait.DataType.html              |    46 +
 parquet/data_type/trait.SliceAsBytes.html          |    11 +
 parquet/data_type/trait.SliceAsBytesDataType.html  |     4 +
 parquet/errors/enum.ParquetError.html              |    42 +
 parquet/errors/index.html                          |     2 +
 parquet/errors/macro.arrow_err!.html               |    11 +
 parquet/errors/macro.arrow_err.html                |     6 +
 parquet/errors/macro.eof_err!.html                 |    11 +
 parquet/errors/macro.eof_err.html                  |     4 +
 parquet/errors/macro.general_err!.html             |    11 +
 parquet/errors/macro.general_err.html              |     6 +
 parquet/errors/macro.nyi_err!.html                 |    11 +
 parquet/errors/macro.nyi_err.html                  |     4 +
 parquet/errors/sidebar-items.js                    |     1 +
 parquet/errors/type.Result.html                    |     7 +
 parquet/file/constant.FOOTER_SIZE.html             |     2 +
 parquet/file/constant.PARQUET_MAGIC.html           |     1 +
 parquet/file/footer/fn.decode_footer.html          |     9 +
 parquet/file/footer/fn.decode_metadata.html        |     5 +
 parquet/file/footer/fn.parse_metadata.html         |    21 +
 parquet/file/footer/index.html                     |     2 +
 parquet/file/footer/sidebar-items.js               |     1 +
 parquet/file/index.html                            |    74 +
 parquet/file/metadata/index.html                   |    68 +
 parquet/file/metadata/memory/index.html            |     2 +
 parquet/file/metadata/memory/sidebar-items.js      |     1 +
 parquet/file/metadata/memory/trait.HeapSize.html   |     9 +
 parquet/file/metadata/reader/index.html            |     1 +
 parquet/file/metadata/reader/sidebar-items.js      |     1 +
 .../reader/struct.ParquetMetaDataReader.html       |   178 +
 parquet/file/metadata/sidebar-items.js             |     1 +
 .../file/metadata/struct.ColumnChunkMetaData.html  |    97 +
 .../struct.ColumnChunkMetaDataBuilder.html         |    66 +
 .../file/metadata/struct.ColumnIndexBuilder.html   |    56 +
 parquet/file/metadata/struct.FileMetaData.html     |    56 +
 parquet/file/metadata/struct.LevelHistogram.html   |    53 +
 .../file/metadata/struct.OffsetIndexBuilder.html   |    34 +
 parquet/file/metadata/struct.ParquetMetaData.html  |    91 +
 .../metadata/struct.ParquetMetaDataBuilder.html    |    61 +
 .../metadata/struct.ParquetMetaDataReader.html     |   178 +
 .../metadata/struct.ParquetMetaDataWriter.html     |    99 +
 parquet/file/metadata/struct.RowGroupMetaData.html |    57 +
 .../metadata/struct.RowGroupMetaDataBuilder.html   |    33 +
 parquet/file/metadata/type.FileMetaDataPtr.html    |     2 +
 parquet/file/metadata/type.KeyValue.html           |     6 +
 parquet/file/metadata/type.ParquetColumnIndex.html |    11 +
 parquet/file/metadata/type.ParquetOffsetIndex.html |     7 +
 .../file/metadata/type.RowGroupMetaDataPtr.html    |     2 +
 parquet/file/metadata/writer/index.html            |     1 +
 parquet/file/metadata/writer/sidebar-items.js      |     1 +
 .../writer/struct.ParquetMetaDataWriter.html       |    99 +
 .../writer/struct.ThriftMetadataWriter.html        |    62 +
 parquet/file/page_encoding_stats/fn.to_thrift.html |     2 +
 .../page_encoding_stats/fn.try_from_thrift.html    |     4 +
 parquet/file/page_encoding_stats/index.html        |     2 +
 parquet/file/page_encoding_stats/sidebar-items.js  |     1 +
 .../struct.PageEncodingStats.html                  |    33 +
 parquet/file/page_index/index.html                 |     2 +
 parquet/file/page_index/index/enum.Index.html      |    48 +
 parquet/file/page_index/index/index.html           |     2 +
 parquet/file/page_index/index/sidebar-items.js     |     1 +
 .../file/page_index/index/struct.NativeIndex.html  |    49 +
 .../file/page_index/index/struct.PageIndex.html    |    63 +
 .../file/page_index/index_reader/fn.acc_range.html |     6 +
 .../index_reader/fn.decode_column_index.html       |     4 +
 .../index_reader/fn.decode_offset_index.html       |     3 +
 .../index_reader/fn.decode_page_locations.html     |     3 +
 .../index_reader/fn.read_columns_indexes.html      |    10 +
 .../index_reader/fn.read_offset_indexes.html       |    10 +
 .../index_reader/fn.read_pages_locations.html      |    10 +
 parquet/file/page_index/index_reader/index.html    |     5 +
 .../file/page_index/index_reader/sidebar-items.js  |     1 +
 parquet/file/page_index/offset_index/index.html    |     3 +
 .../file/page_index/offset_index/sidebar-items.js  |     1 +
 .../offset_index/struct.OffsetIndexMetaData.html   |    35 +
 parquet/file/page_index/sidebar-items.js           |     1 +
 .../constant.DEFAULT_BLOOM_FILTER_FPP.html         |     2 +
 .../constant.DEFAULT_BLOOM_FILTER_NDV.html         |     2 +
 .../constant.DEFAULT_BLOOM_FILTER_POSITION.html    |     2 +
 ...stant.DEFAULT_COLUMN_INDEX_TRUNCATE_LENGTH.html |     2 +
 .../properties/constant.DEFAULT_COMPRESSION.html   |     2 +
 .../properties/constant.DEFAULT_CREATED_BY.html    |     2 +
 ...constant.DEFAULT_DATA_PAGE_ROW_COUNT_LIMIT.html |     2 +
 .../constant.DEFAULT_DICTIONARY_ENABLED.html       |     2 +
 ...onstant.DEFAULT_DICTIONARY_PAGE_SIZE_LIMIT.html |     2 +
 .../constant.DEFAULT_MAX_ROW_GROUP_SIZE.html       |     2 +
 .../constant.DEFAULT_MAX_STATISTICS_SIZE.html      |     2 +
 .../properties/constant.DEFAULT_PAGE_SIZE.html     |     2 +
 .../constant.DEFAULT_READ_BLOOM_FILTER.html        |     1 +
 .../constant.DEFAULT_STATISTICS_ENABLED.html       |     2 +
 ...onstant.DEFAULT_STATISTICS_TRUNCATE_LENGTH.html |     2 +
 .../constant.DEFAULT_WRITER_VERSION.html           |     2 +
 .../constant.DEFAULT_WRITE_BATCH_SIZE.html         |     2 +
 .../file/properties/enum.BloomFilterPosition.html  |    36 +
 .../file/properties/enum.EnabledStatistics.html    |    44 +
 parquet/file/properties/enum.WriterVersion.html    |    32 +
 parquet/file/properties/index.html                 |     5 +
 parquet/file/properties/sidebar-items.js           |     1 +
 .../properties/struct.BloomFilterProperties.html   |    41 +
 .../file/properties/struct.ColumnProperties.html   |    62 +
 .../file/properties/struct.ReaderProperties.html   |    38 +
 .../properties/struct.ReaderPropertiesBuilder.html |    37 +
 .../file/properties/struct.WriterProperties.html   |   108 +
 .../properties/struct.WriterPropertiesBuilder.html |   172 +
 .../file/properties/type.ReaderPropertiesPtr.html  |     2 +
 .../file/properties/type.WriterPropertiesPtr.html  |     2 +
 parquet/file/reader/index.html                     |     7 +
 parquet/file/reader/sidebar-items.js               |     1 +
 parquet/file/reader/struct.FilePageIterator.html   |   625 +
 parquet/file/reader/trait.ChunkReader.html         |    35 +
 parquet/file/reader/trait.FileReader.html          |    19 +
 parquet/file/reader/trait.Length.html              |     7 +
 parquet/file/reader/trait.RowGroupReader.html      |    25 +
 .../enum.SerializedPageReaderState.html            |    35 +
 parquet/file/serialized_reader/fn.decode_page.html |     7 +
 .../serialized_reader/fn.get_midpoint_offset.html  |     2 +
 .../serialized_reader/fn.read_page_header.html     |     2 +
 .../serialized_reader/fn.read_page_header_len.html |     2 +
 parquet/file/serialized_reader/index.html          |     7 +
 parquet/file/serialized_reader/sidebar-items.js    |     1 +
 .../file/serialized_reader/struct.ReadOptions.html |    25 +
 .../struct.ReadOptionsBuilder.html                 |    34 +
 .../struct.SerializedFileReader.html               |    32 +
 .../struct.SerializedPageReader.html               |   627 +
 .../struct.SerializedRowGroupReader.html           |    35 +
 .../serialized_reader/type.ReadGroupPredicate.html |     4 +
 parquet/file/sidebar-items.js                      |     1 +
 parquet/file/statistics/enum.Statistics.html       |   147 +
 parquet/file/statistics/fn.from_thrift.html        |     5 +
 parquet/file/statistics/fn.to_thrift.html          |     2 +
 parquet/file/statistics/index.html                 |    20 +
 .../statistics/macro.statistics_enum_func!.html    |    11 +
 .../statistics/macro.statistics_enum_func.html     |     3 +
 .../statistics/macro.statistics_new_func!.html     |    11 +
 .../file/statistics/macro.statistics_new_func.html |     4 +
 parquet/file/statistics/private/index.html         |     1 +
 .../private/macro.gen_make_statistics!.html        |    11 +
 .../private/macro.gen_make_statistics.html         |     3 +
 parquet/file/statistics/private/sidebar-items.js   |     1 +
 .../statistics/private/trait.MakeStatistics.html   |    11 +
 parquet/file/statistics/sidebar-items.js           |     1 +
 .../file/statistics/struct.ValueStatistics.html    |   102 +
 parquet/file/statistics/type.TypedStatistics.html  |    15 +
 parquet/file/writer/fn.write_bloom_filters.html    |     7 +
 parquet/file/writer/index.html                     |    10 +
 parquet/file/writer/sidebar-items.js               |     1 +
 .../file/writer/struct.SerializedColumnWriter.html |    30 +
 .../file/writer/struct.SerializedFileWriter.html   |    72 +
 .../file/writer/struct.SerializedPageWriter.html   |    33 +
 .../writer/struct.SerializedRowGroupWriter.html    |    82 +
 parquet/file/writer/struct.TrackedWrite.html       |    68 +
 parquet/file/writer/type.OnCloseColumnChunk.html   |     2 +
 parquet/file/writer/type.OnCloseRowGroup.html      |     7 +
 parquet/format/enum.BloomFilterAlgorithm.html      |    39 +
 parquet/format/enum.BloomFilterCompression.html    |    39 +
 parquet/format/enum.BloomFilterHash.html           |    39 +
 parquet/format/enum.ColumnCryptoMetaData.html      |    40 +
 parquet/format/enum.ColumnOrder.html               |    39 +
 parquet/format/enum.EncryptionAlgorithm.html       |    40 +
 parquet/format/enum.LogicalType.html               |    52 +
 parquet/format/enum.TimeUnit.html                  |    39 +
 parquet/format/index.html                          |    24 +
 parquet/format/sidebar-items.js                    |     1 +
 parquet/format/struct.AesGcmCtrV1.html             |    52 +
 parquet/format/struct.AesGcmV1.html                |    50 +
 parquet/format/struct.BloomFilterHeader.html       |    53 +
 parquet/format/struct.BoundaryOrder.html           |    40 +
 parquet/format/struct.BsonType.html                |    37 +
 parquet/format/struct.ColumnChunk.html             |    84 +
 parquet/format/struct.ColumnIndex.html             |    88 +
 parquet/format/struct.ColumnMetaData.html          |   107 +
 parquet/format/struct.CompressionCodec.html        |    42 +
 parquet/format/struct.ConvertedType.html           |    93 +
 parquet/format/struct.DataPageHeader.html          |    59 +
 parquet/format/struct.DataPageHeaderV2.html        |    75 +
 parquet/format/struct.DateType.html                |    35 +
 parquet/format/struct.DecimalType.html             |    46 +
 parquet/format/struct.DictionaryPageHeader.html    |    52 +
 parquet/format/struct.Encoding.html                |    69 +
 parquet/format/struct.EncryptionWithColumnKey.html |    46 +
 parquet/format/struct.EncryptionWithFooterKey.html |    37 +
 parquet/format/struct.EnumType.html                |    35 +
 parquet/format/struct.FieldRepetitionType.html     |    41 +
 parquet/format/struct.FileCryptoMetaData.html      |    50 +
 parquet/format/struct.FileMetaData.html            |    93 +
 parquet/format/struct.Float16Type.html             |    37 +
 parquet/format/struct.IndexPageHeader.html         |    37 +
 parquet/format/struct.IntType.html                 |    41 +
 parquet/format/struct.JsonType.html                |    37 +
 parquet/format/struct.KeyValue.html                |    40 +
 parquet/format/struct.ListType.html                |    35 +
 parquet/format/struct.MapType.html                 |    35 +
 parquet/format/struct.MicroSeconds.html            |    37 +
 parquet/format/struct.MilliSeconds.html            |    38 +
 parquet/format/struct.NanoSeconds.html             |    37 +
 parquet/format/struct.NullType.html                |    39 +
 parquet/format/struct.OffsetIndex.html             |    52 +
 parquet/format/struct.PageEncodingStats.html       |    49 +
 parquet/format/struct.PageHeader.html              |    79 +
 parquet/format/struct.PageLocation.html            |    52 +
 parquet/format/struct.PageType.html                |    35 +
 parquet/format/struct.RowGroup.html                |    66 +
 parquet/format/struct.SchemaElement.html           |    99 +
 parquet/format/struct.SizeStatistics.html          |    74 +
 parquet/format/struct.SortingColumn.html           |    51 +
 parquet/format/struct.SplitBlockAlgorithm.html     |    38 +
 parquet/format/struct.Statistics.html              |    85 +
 parquet/format/struct.StringType.html              |    38 +
 parquet/format/struct.TimeType.html                |    40 +
 parquet/format/struct.TimestampType.html           |    42 +
 parquet/format/struct.Type.html                    |    39 +
 parquet/format/struct.TypeDefinedOrder.html        |    38 +
 parquet/format/struct.UUIDType.html                |    35 +
 parquet/format/struct.Uncompressed.html            |    38 +
 parquet/format/struct.XxHash.html                  |    37 +
 parquet/index.html                                 |    47 +
 parquet/macro.experimental!.html                   |    11 +
 parquet/macro.experimental.html                    |     7 +
 parquet/record/api/enum.Field.html                 |    85 +
 parquet/record/api/fn.convert_date_to_string.html  |     4 +
 .../record/api/fn.convert_decimal_to_string.html   |     4 +
 .../api/fn.convert_timestamp_micros_to_string.html |     4 +
 .../api/fn.convert_timestamp_millis_to_string.html |     4 +
 .../api/fn.convert_timestamp_secs_to_string.html   |     4 +
 parquet/record/api/fn.make_list.html               |     2 +
 parquet/record/api/fn.make_map.html                |     2 +
 parquet/record/api/fn.make_row.html                |     2 +
 parquet/record/api/index.html                      |    18 +
 .../record/api/macro.list_complex_accessor!.html   |    11 +
 .../record/api/macro.list_complex_accessor.html    |     5 +
 .../record/api/macro.list_primitive_accessor!.html |    11 +
 .../record/api/macro.list_primitive_accessor.html  |     5 +
 .../api/macro.map_list_primitive_accessor!.html    |    11 +
 .../api/macro.map_list_primitive_accessor.html     |     5 +
 parquet/record/api/macro.nyi!.html                 |    11 +
 parquet/record/api/macro.nyi.html                  |     4 +
 .../record/api/macro.row_complex_accessor!.html    |    11 +
 parquet/record/api/macro.row_complex_accessor.html |     5 +
 .../record/api/macro.row_primitive_accessor!.html  |    11 +
 .../record/api/macro.row_primitive_accessor.html   |     5 +
 parquet/record/api/sidebar-items.js                |     1 +
 parquet/record/api/struct.List.html                |    29 +
 parquet/record/api/struct.Map.html                 |    27 +
 parquet/record/api/struct.MapList.html             |    23 +
 parquet/record/api/struct.Row.html                 |    53 +
 parquet/record/api/struct.RowColumnIter.html       |   611 +
 parquet/record/api/trait.ListAccessor.html         |    47 +
 parquet/record/api/trait.MapAccessor.html          |     8 +
 parquet/record/api/trait.RowAccessor.html          |    44 +
 parquet/record/api/trait.RowFormatter.html         |    18 +
 parquet/record/enum.Field.html                     |    85 +
 parquet/record/index.html                          |     4 +
 .../record/reader/constant.DEFAULT_BATCH_SIZE.html |     2 +
 parquet/record/reader/enum.Either.html             |    23 +
 parquet/record/reader/enum.Reader.html             |    55 +
 parquet/record/reader/index.html                   |     6 +
 parquet/record/reader/sidebar-items.js             |     1 +
 parquet/record/reader/struct.ReaderIter.html       |   615 +
 parquet/record/reader/struct.RowIter.html          |   640 +
 parquet/record/reader/struct.TreeBuilder.html      |    45 +
 parquet/record/record_reader/index.html            |     1 +
 parquet/record/record_reader/sidebar-items.js      |     1 +
 .../record/record_reader/trait.RecordReader.html   |    16 +
 parquet/record/record_writer/index.html            |     1 +
 parquet/record/record_writer/sidebar-items.js      |     1 +
 .../record/record_writer/trait.RecordWriter.html   |    18 +
 parquet/record/sidebar-items.js                    |     1 +
 parquet/record/struct.List.html                    |    29 +
 parquet/record/struct.Map.html                     |    27 +
 parquet/record/struct.Row.html                     |    53 +
 parquet/record/struct.RowColumnIter.html           |   611 +
 parquet/record/trait.ListAccessor.html             |    47 +
 parquet/record/trait.MapAccessor.html              |     8 +
 parquet/record/trait.RecordReader.html             |    16 +
 parquet/record/trait.RecordWriter.html             |    18 +
 parquet/record/trait.RowAccessor.html              |    44 +
 parquet/record/trait.RowFormatter.html             |    18 +
 parquet/record/triplet/enum.TripletIter.html       |    48 +
 parquet/record/triplet/index.html                  |     5 +
 .../record/triplet/macro.triplet_enum_func!.html   |    11 +
 .../record/triplet/macro.triplet_enum_func.html    |     6 +
 parquet/record/triplet/sidebar-items.js            |     1 +
 .../record/triplet/struct.TypedTripletIter.html    |    52 +
 parquet/schema/index.html                          |    55 +
 parquet/schema/parser/fn.assert_token.html         |     1 +
 parquet/schema/parser/fn.parse_bool.html           |     5 +
 parquet/schema/parser/fn.parse_i32.html            |     5 +
 parquet/schema/parser/fn.parse_message_type.html   |     4 +
 parquet/schema/parser/fn.parse_timeunit.html       |     5 +
 parquet/schema/parser/index.html                   |    30 +
 parquet/schema/parser/sidebar-items.js             |     1 +
 parquet/schema/parser/struct.Parser.html           |    28 +
 parquet/schema/parser/struct.Tokenizer.html        |   613 +
 parquet/schema/printer/constant.INDENT_WIDTH.html  |     1 +
 .../printer/fn.print_column_chunk_metadata.html    |     4 +
 parquet/schema/printer/fn.print_dashes.html        |     1 +
 parquet/schema/printer/fn.print_file_metadata.html |     2 +
 .../printer/fn.print_logical_and_converted.html    |     6 +
 .../schema/printer/fn.print_parquet_metadata.html  |     2 +
 .../printer/fn.print_row_group_metadata.html       |     1 +
 parquet/schema/printer/fn.print_schema.html        |     2 +
 parquet/schema/printer/fn.print_timeunit.html      |     1 +
 parquet/schema/printer/index.html                  |    24 +
 parquet/schema/printer/sidebar-items.js            |     1 +
 parquet/schema/printer/struct.Printer.html         |    22 +
 parquet/schema/sidebar-items.js                    |     1 +
 parquet/schema/types/enum.Type.html                |    70 +
 parquet/schema/types/fn.build_tree.html            |     9 +
 parquet/schema/types/fn.from_thrift.html           |     2 +
 parquet/schema/types/fn.from_thrift_helper.html    |     8 +
 parquet/schema/types/fn.to_thrift.html             |     2 +
 parquet/schema/types/fn.to_thrift_helper.html      |     3 +
 parquet/schema/types/index.html                    |    11 +
 parquet/schema/types/sidebar-items.js              |     1 +
 parquet/schema/types/struct.BasicTypeInfo.html     |    42 +
 parquet/schema/types/struct.ColumnDescriptor.html  |    57 +
 parquet/schema/types/struct.ColumnPath.html        |    58 +
 parquet/schema/types/struct.GroupTypeBuilder.html  |    37 +
 .../schema/types/struct.PrimitiveTypeBuilder.html  |    49 +
 parquet/schema/types/struct.SchemaDescriptor.html  |    49 +
 parquet/schema/types/type.ColumnDescPtr.html       |     2 +
 parquet/schema/types/type.SchemaDescPtr.html       |     2 +
 parquet/schema/types/type.TypePtr.html             |     2 +
 parquet/schema/visitor/index.html                  |     2 +
 parquet/schema/visitor/sidebar-items.js            |     1 +
 parquet/schema/visitor/trait.TypeVisitor.html      |    40 +
 parquet/sidebar-items.js                           |     1 +
 parquet/thrift/fn.collection_u8_to_type.html       |     1 +
 parquet/thrift/fn.eof_error.html                   |     1 +
 parquet/thrift/fn.u8_to_type.html                  |     1 +
 parquet/thrift/index.html                          |     2 +
 parquet/thrift/sidebar-items.js                    |     1 +
 parquet/thrift/struct.TCompactOutputProtocol.html  |    59 +
 .../thrift/struct.TCompactSliceInputProtocol.html  |    26 +
 parquet/thrift/trait.TSerializable.html            |    15 +
 parquet_concat/all.html                            |     1 +
 parquet_concat/fn.main.html                        |     1 +
 parquet_concat/index.html                          |    13 +
 parquet_concat/sidebar-items.js                    |     1 +
 parquet_concat/struct.Args.html                    |    43 +
 parquet_derive/all.html                            |     1 +
 parquet_derive/derive.ParquetRecordReader.html     |    29 +
 parquet_derive/derive.ParquetRecordWriter.html     |    46 +
 parquet_derive/index.html                          |     3 +
 .../parquet_field/enum.ThirdPartyType.html         |    22 +
 parquet_derive/parquet_field/enum.Type.html        |    54 +
 parquet_derive/parquet_field/index.html            |     4 +
 parquet_derive/parquet_field/sidebar-items.js      |     1 +
 parquet_derive/parquet_field/struct.Field.html     |    48 +
 parquet_derive/sidebar-items.js                    |     1 +
 parquet_derive_test/all.html                       |     1 +
 parquet_derive_test/index.html                     |     1 +
 parquet_derive_test/sidebar-items.js               |     1 +
 parquet_derive_test/struct.ACompleteRecord.html    |    50 +
 .../struct.APartiallyCompleteRecord.html           |    40 +
 .../struct.APartiallyOptionalRecord.html           |    36 +
 parquet_derive_test/struct.APrunedRecord.html      |    34 +
 parquet_fromcsv/all.html                           |     1 +
 parquet_fromcsv/enum.CsvDialect.html               |    25 +
 parquet_fromcsv/enum.ParquetFromCsvError.html      |    28 +
 parquet_fromcsv/enum.RecordTerminator.html         |    26 +
 parquet_fromcsv/fn.compression_from_str.html       |     1 +
 parquet_fromcsv/fn.configure_reader_builder.html   |     4 +
 .../fn.configure_writer_properties.html            |     1 +
 parquet_fromcsv/fn.convert_csv_to_parquet.html     |     3 +
 parquet_fromcsv/fn.main.html                       |     1 +
 parquet_fromcsv/fn.writer_version_from_str.html    |     3 +
 parquet_fromcsv/index.html                         |    95 +
 parquet_fromcsv/sidebar-items.js                   |     1 +
 parquet_fromcsv/struct.Args.html                   |    65 +
 parquet_index/all.html                             |     1 +
 parquet_index/fn.compute_row_counts.html           |     5 +
 parquet_index/fn.main.html                         |     1 +
 parquet_index/fn.print_index.html                  |     6 +
 parquet_index/index.html                           |    14 +
 parquet_index/sidebar-items.js                     |     1 +
 parquet_index/struct.Args.html                     |    40 +
 parquet_layout/all.html                            |     1 +
 parquet_layout/fn.compression.html                 |     2 +
 parquet_layout/fn.do_layout.html                   |     1 +
 parquet_layout/fn.encoding.html                    |     2 +
 parquet_layout/fn.main.html                        |     1 +
 parquet_layout/fn.read_page_header.html            |     6 +
 parquet_layout/index.html                          |    13 +
 parquet_layout/sidebar-items.js                    |     1 +
 parquet_layout/struct.Args.html                    |    39 +
 parquet_layout/struct.ColumnChunk.html             |    26 +
 parquet_layout/struct.Page.html                    |    29 +
 parquet_layout/struct.ParquetFile.html             |    22 +
 parquet_layout/struct.RowGroup.html                |    23 +
 parquet_read/all.html                              |     1 +
 parquet_read/fn.main.html                          |     1 +
 parquet_read/fn.print_row.html                     |     1 +
 parquet_read/index.html                            |    14 +
 parquet_read/sidebar-items.js                      |     1 +
 parquet_read/struct.Args.html                      |    41 +
 parquet_rewrite/all.html                           |     1 +
 parquet_rewrite/enum.CompressionArgs.html          |    47 +
 parquet_rewrite/enum.EnabledStatisticsArgs.html    |    37 +
 parquet_rewrite/enum.WriterVersionArgs.html        |    24 +
 parquet_rewrite/fn.main.html                       |     1 +
 parquet_rewrite/index.html                         |    12 +
 parquet_rewrite/sidebar-items.js                   |     1 +
 parquet_rewrite/struct.Args.html                   |    67 +
 parquet_rowcount/all.html                          |     1 +
 parquet_rowcount/fn.main.html                      |     1 +
 parquet_rowcount/index.html                        |    14 +
 parquet_rowcount/sidebar-items.js                  |     1 +
 parquet_rowcount/struct.Args.html                  |    39 +
 parquet_schema/all.html                            |     1 +
 parquet_schema/fn.main.html                        |     1 +
 parquet_schema/index.html                          |    14 +
 parquet_schema/sidebar-items.js                    |     1 +
 parquet_schema/struct.Args.html                    |    40 +
 parquet_show_bloom_filter/all.html                 |     1 +
 parquet_show_bloom_filter/fn.main.html             |     1 +
 parquet_show_bloom_filter/index.html               |    12 +
 parquet_show_bloom_filter/sidebar-items.js         |     1 +
 parquet_show_bloom_filter/struct.Args.html         |    41 +
 search-index.js                                    |     4 +
 search.desc/arrow/arrow-desc-0-.js                 |     1 +
 search.desc/arrow/arrow-desc-1-.js                 |     1 +
 search.desc/arrow_arith/arrow_arith-desc-0-.js     |     1 +
 search.desc/arrow_array/arrow_array-desc-0-.js     |     1 +
 search.desc/arrow_avro/arrow_avro-desc-0-.js       |     1 +
 search.desc/arrow_buffer/arrow_buffer-desc-0-.js   |     1 +
 search.desc/arrow_cast/arrow_cast-desc-0-.js       |     1 +
 search.desc/arrow_csv/arrow_csv-desc-0-.js         |     1 +
 search.desc/arrow_data/arrow_data-desc-0-.js       |     1 +
 .../arrow_file_to_stream-desc-0-.js                |     1 +
 search.desc/arrow_flight/arrow_flight-desc-0-.js   |     1 +
 .../arrow_integration_test-desc-0-.js              |     1 +
 .../arrow_integration_testing-desc-0-.js           |     1 +
 search.desc/arrow_ipc/arrow_ipc-desc-0-.js         |     1 +
 search.desc/arrow_json/arrow_json-desc-0-.js       |     1 +
 .../arrow_json_integration_test-desc-0-.js         |     1 +
 search.desc/arrow_ord/arrow_ord-desc-0-.js         |     1 +
 search.desc/arrow_row/arrow_row-desc-0-.js         |     1 +
 search.desc/arrow_schema/arrow_schema-desc-0-.js   |     1 +
 search.desc/arrow_select/arrow_select-desc-0-.js   |     1 +
 .../arrow_stream_to_file-desc-0-.js                |     1 +
 search.desc/arrow_string/arrow_string-desc-0-.js   |     1 +
 .../flight_sql_client/flight_sql_client-desc-0-.js |     1 +
 .../flight_test_integration_client-desc-0-.js      |     1 +
 .../flight_test_integration_server-desc-0-.js      |     1 +
 search.desc/gen/gen-desc-0-.js                     |     1 +
 search.desc/parquet/parquet-desc-0-.js             |     1 +
 .../parquet_concat/parquet_concat-desc-0-.js       |     1 +
 .../parquet_derive/parquet_derive-desc-0-.js       |     1 +
 .../parquet_derive_test-desc-0-.js                 |     1 +
 .../parquet_fromcsv/parquet_fromcsv-desc-0-.js     |     1 +
 search.desc/parquet_index/parquet_index-desc-0-.js |     1 +
 .../parquet_layout/parquet_layout-desc-0-.js       |     1 +
 search.desc/parquet_read/parquet_read-desc-0-.js   |     1 +
 .../parquet_rewrite/parquet_rewrite-desc-0-.js     |     1 +
 .../parquet_rowcount/parquet_rowcount-desc-0-.js   |     1 +
 .../parquet_schema/parquet_schema-desc-0-.js       |     1 +
 .../parquet_show_bloom_filter-desc-0-.js           |     1 +
 settings.html                                      |     1 +
 src-files.js                                       |     3 +
 src/arrow/array/mod.rs.html                        |    81 +
 src/arrow/compute/kernels.rs.html                  |    71 +
 src/arrow/compute/mod.rs.html                      |    79 +
 src/arrow/datatypes/mod.rs.html                    |    65 +
 src/arrow/error.rs.html                            |    47 +
 src/arrow/lib.rs.html                              |   805 +
 src/arrow/pyarrow.rs.html                          |  1033 +
 src/arrow/tensor.rs.html                           |  1067 +
 src/arrow/util/bench_util.rs.html                  |   837 +
 src/arrow/util/data_gen.rs.html                    |  1449 ++
 src/arrow/util/mod.rs.html                         |    69 +
 src/arrow/util/string_writer.rs.html               |   211 +
 src/arrow/util/test_util.rs.html                   |   511 +
 src/arrow_arith/aggregate.rs.html                  |  3409 ++++
 src/arrow_arith/arithmetic.rs.html                 |   683 +
 src/arrow_arith/arity.rs.html                      |  1337 ++
 src/arrow_arith/bitwise.rs.html                    |   785 +
 src/arrow_arith/boolean.rs.html                    |  1949 ++
 src/arrow_arith/lib.rs.html                        |    57 +
 src/arrow_arith/numeric.rs.html                    |  3047 +++
 src/arrow_arith/temporal.rs.html                   |  4177 ++++
 src/arrow_array/arithmetic.rs.html                 |  1735 ++
 src/arrow_array/array/binary_array.rs.html         |  1287 ++
 src/arrow_array/array/boolean_array.rs.html        |  1401 ++
 src/arrow_array/array/byte_array.rs.html           |  1235 ++
 src/arrow_array/array/byte_view_array.rs.html      |  1997 ++
 src/arrow_array/array/dictionary_array.rs.html     |  2903 +++
 .../array/fixed_size_binary_array.rs.html          |  1955 ++
 .../array/fixed_size_list_array.rs.html            |  1387 ++
 src/arrow_array/array/list_array.rs.html           |  2397 +++
 src/arrow_array/array/list_view_array.rs.html      |  2071 ++
 src/arrow_array/array/map_array.rs.html            |  1603 ++
 src/arrow_array/array/mod.rs.html                  |  2313 +++
 src/arrow_array/array/null_array.rs.html           |   395 +
 src/arrow_array/array/primitive_array.rs.html      |  5467 ++++++
 src/arrow_array/array/run_array.rs.html            |  2185 +++
 src/arrow_array/array/string_array.rs.html         |  1133 ++
 src/arrow_array/array/struct_array.rs.html         |  1469 ++
 src/arrow_array/array/union_array.rs.html          |  4367 +++++
 src/arrow_array/builder/boolean_builder.rs.html    |   657 +
 src/arrow_array/builder/buffer_builder.rs.html     |   451 +
 .../builder/fixed_size_binary_builder.rs.html      |   511 +
 .../builder/fixed_size_list_builder.rs.html        |   985 +
 .../builder/generic_byte_run_builder.rs.html       |  1029 +
 .../builder/generic_bytes_builder.rs.html          |  1087 ++
 .../generic_bytes_dictionary_builder.rs.html       |  1335 ++
 .../builder/generic_bytes_view_builder.rs.html     |  1467 ++
 .../builder/generic_list_builder.rs.html           |  1613 ++
 src/arrow_array/builder/map_builder.rs.html        |   761 +
 src/arrow_array/builder/mod.rs.html                |   651 +
 src/arrow_array/builder/null_builder.rs.html       |   365 +
 src/arrow_array/builder/primitive_builder.rs.html  |  1237 ++
 .../builder/primitive_dictionary_builder.rs.html   |   893 +
 .../builder/primitive_run_builder.rs.html          |   623 +
 src/arrow_array/builder/struct_builder.rs.html     |  1461 ++
 src/arrow_array/builder/union_builder.rs.html      |   627 +
 src/arrow_array/cast.rs.html                       |  2041 ++
 src/arrow_array/delta.rs.html                      |   571 +
 src/arrow_array/ffi.rs.html                        |  3389 ++++
 src/arrow_array/ffi_stream.rs.html                 |  1099 ++
 src/arrow_array/iterator.rs.html                   |   535 +
 src/arrow_array/lib.rs.html                        |   581 +
 src/arrow_array/numeric.rs.html                    |    47 +
 src/arrow_array/record_batch.rs.html               |  2447 +++
 src/arrow_array/run_iterator.rs.html               |   769 +
 src/arrow_array/scalar.rs.html                     |   305 +
 src/arrow_array/temporal_conversions.rs.html       |   703 +
 src/arrow_array/timezone.rs.html                   |   679 +
 src/arrow_array/trusted_len.rs.html                |   157 +
 src/arrow_array/types.rs.html                      |  3275 ++++
 src/arrow_avro/codec.rs.html                       |   631 +
 src/arrow_avro/compression.rs.html                 |   167 +
 src/arrow_avro/lib.rs.html                         |    83 +
 src/arrow_avro/reader/block.rs.html                |   283 +
 src/arrow_avro/reader/header.rs.html               |   691 +
 src/arrow_avro/reader/mod.rs.html                  |   215 +
 src/arrow_avro/reader/vlq.rs.html                  |    93 +
 src/arrow_avro/schema.rs.html                      |  1025 +
 src/arrow_buffer/alloc/alignment.rs.html           |   223 +
 src/arrow_buffer/alloc/mod.rs.html                 |   141 +
 src/arrow_buffer/arith.rs.html                     |   155 +
 src/arrow_buffer/bigint/div.rs.html                |   605 +
 src/arrow_buffer/bigint/mod.rs.html                |  2535 +++
 src/arrow_buffer/buffer/boolean.rs.html            |   857 +
 src/arrow_buffer/buffer/immutable.rs.html          |  1727 ++
 src/arrow_buffer/buffer/mod.rs.html                |    71 +
 src/arrow_buffer/buffer/mutable.rs.html            |  2057 ++
 src/arrow_buffer/buffer/null.rs.html               |   523 +
 src/arrow_buffer/buffer/offset.rs.html             |   485 +
 src/arrow_buffer/buffer/ops.rs.html                |   417 +
 src/arrow_buffer/buffer/run.rs.html                |   461 +
 src/arrow_buffer/buffer/scalar.rs.html             |   679 +
 src/arrow_buffer/builder/boolean.rs.html           |   999 +
 src/arrow_buffer/builder/mod.rs.html               |   843 +
 src/arrow_buffer/builder/null.rs.html              |   491 +
 src/arrow_buffer/builder/offset.rs.html            |   257 +
 src/arrow_buffer/bytes.rs.html                     |   351 +
 src/arrow_buffer/interval.rs.html                  |  1159 ++
 src/arrow_buffer/lib.rs.html                       |    91 +
 src/arrow_buffer/native.rs.html                    |   713 +
 src/arrow_buffer/util/bit_chunk_iterator.rs.html   |  1335 ++
 src/arrow_buffer/util/bit_iterator.rs.html         |   647 +
 src/arrow_buffer/util/bit_mask.rs.html             |   865 +
 src/arrow_buffer/util/bit_util.rs.html             |   547 +
 src/arrow_buffer/util/mod.rs.html                  |    43 +
 src/arrow_cast/base64.rs.html                      |   241 +
 src/arrow_cast/cast/decimal.rs.html                |  1229 ++
 src/arrow_cast/cast/dictionary.rs.html             |   905 +
 src/arrow_cast/cast/list.rs.html                   |   365 +
 src/arrow_cast/cast/map.rs.html                    |   149 +
 src/arrow_cast/cast/mod.rs.html                    | 19557 +++++++++++++++++++
 src/arrow_cast/cast/string.rs.html                 |   761 +
 src/arrow_cast/display.rs.html                     |  2445 +++
 src/arrow_cast/lib.rs.html                         |    57 +
 src/arrow_cast/parse.rs.html                       |  5545 ++++++
 src/arrow_cast/pretty.rs.html                      |  2193 +++
 src/arrow_csv/lib.rs.html                          |    93 +
 src/arrow_csv/reader/mod.rs.html                   |  5379 +++++
 src/arrow_csv/reader/records.rs.html               |   775 +
 src/arrow_csv/writer.rs.html                       |  1733 ++
 src/arrow_data/byte_view.rs.html                   |   399 +
 src/arrow_data/data.rs.html                        |  4599 +++++
 src/arrow_data/decimal.rs.html                     |  1801 ++
 src/arrow_data/equal/boolean.rs.html               |   175 +
 src/arrow_data/equal/byte_view.rs.html             |   149 +
 src/arrow_data/equal/dictionary.rs.html            |   147 +
 src/arrow_data/equal/fixed_binary.rs.html          |   199 +
 src/arrow_data/equal/fixed_list.rs.html            |   143 +
 src/arrow_data/equal/list.rs.html                  |   299 +
 src/arrow_data/equal/mod.rs.html                   |   333 +
 src/arrow_data/equal/null.rs.html                  |    63 +
 src/arrow_data/equal/primitive.rs.html             |   195 +
 src/arrow_data/equal/run.rs.html                   |   173 +
 src/arrow_data/equal/structure.rs.html             |   139 +
 src/arrow_data/equal/union.rs.html                 |   255 +
 src/arrow_data/equal/utils.rs.html                 |   207 +
 src/arrow_data/equal/variable_size.rs.html         |   195 +
 src/arrow_data/ffi.rs.html                         |   683 +
 src/arrow_data/lib.rs.html                         |    73 +
 src/arrow_data/transform/boolean.rs.html           |    85 +
 src/arrow_data/transform/fixed_binary.rs.html      |    91 +
 src/arrow_data/transform/fixed_size_list.rs.html   |    99 +
 src/arrow_data/transform/list.rs.html              |   109 +
 src/arrow_data/transform/mod.rs.html               |  1679 ++
 src/arrow_data/transform/null.rs.html              |    51 +
 src/arrow_data/transform/primitive.rs.html         |   105 +
 src/arrow_data/transform/structure.rs.html         |    75 +
 src/arrow_data/transform/union.rs.html             |   155 +
 src/arrow_data/transform/utils.rs.html             |   143 +
 src/arrow_data/transform/variable_size.rs.html     |   139 +
 .../arrow-file-to-stream.rs.html                   |    95 +
 src/arrow_flight/arrow.flight.protocol.rs.html     |  3219 +++
 src/arrow_flight/client.rs.html                    |  1347 ++
 src/arrow_flight/decode.rs.html                    |   879 +
 src/arrow_flight/encode.rs.html                    |  3247 +++
 src/arrow_flight/error.rs.html                     |   301 +
 src/arrow_flight/lib.rs.html                       |  1785 ++
 .../sql/arrow.flight.protocol.sql.rs.html          |  5661 ++++++
 src/arrow_flight/sql/client.rs.html                |  1557 ++
 src/arrow_flight/sql/metadata/catalogs.rs.html     |   201 +
 src/arrow_flight/sql/metadata/db_schemas.rs.html   |   573 +
 src/arrow_flight/sql/metadata/mod.rs.html          |   155 +
 src/arrow_flight/sql/metadata/sql_info.rs.html     |  1109 ++
 src/arrow_flight/sql/metadata/table_types.rs.html  |   317 +
 src/arrow_flight/sql/metadata/tables.rs.html       |   953 +
 src/arrow_flight/sql/metadata/xdbc_info.rs.html    |   895 +
 src/arrow_flight/sql/mod.rs.html                   |   753 +
 src/arrow_flight/sql/server.rs.html                |  2129 ++
 src/arrow_flight/streams.rs.html                   |   269 +
 src/arrow_flight/trailers.rs.html                  |   185 +
 src/arrow_flight/utils.rs.html                     |   343 +
 src/arrow_integration_test/datatype.rs.html        |   747 +
 src/arrow_integration_test/field.rs.html           |  1137 ++
 src/arrow_integration_test/lib.rs.html             |  2645 +++
 src/arrow_integration_test/schema.rs.html          |  1457 ++
 .../auth_basic_proto.rs.html                       |   209 +
 .../integration_test.rs.html                       |   569 +
 .../flight_client_scenarios/middleware.rs.html     |   169 +
 .../flight_client_scenarios/mod.rs.html            |    45 +
 .../auth_basic_proto.rs.html                       |   461 +
 .../integration_test.rs.html                       |   805 +
 .../flight_server_scenarios/middleware.rs.html     |   323 +
 .../flight_server_scenarios/mod.rs.html            |   107 +
 src/arrow_integration_testing/lib.rs.html          |   621 +
 src/arrow_ipc/compression.rs.html                  |   499 +
 src/arrow_ipc/convert.rs.html                      |  2445 +++
 src/arrow_ipc/gen/File.rs.html                     |   981 +
 src/arrow_ipc/gen/Message.rs.html                  |  2981 +++
 src/arrow_ipc/gen/Schema.rs.html                   | 11191 +++++++++++
 src/arrow_ipc/gen/SparseTensor.rs.html             |  4339 ++++
 src/arrow_ipc/gen/Tensor.rs.html                   |  2181 +++
 src/arrow_ipc/gen/mod.rs.html                      |    63 +
 src/arrow_ipc/lib.rs.html                          |    91 +
 src/arrow_ipc/reader.rs.html                       |  4683 +++++
 src/arrow_ipc/reader/stream.rs.html                |   755 +
 src/arrow_ipc/writer.rs.html                       |  5567 ++++++
 src/arrow_json/lib.rs.html                         |   319 +
 src/arrow_json/reader/boolean_array.rs.html        |    87 +
 src/arrow_json/reader/decimal_array.rs.html        |   205 +
 src/arrow_json/reader/list_array.rs.html           |   227 +
 src/arrow_json/reader/map_array.rs.html            |   309 +
 src/arrow_json/reader/mod.rs.html                  |  4639 +++++
 src/arrow_json/reader/null_array.rs.html           |    71 +
 src/arrow_json/reader/primitive_array.rs.html      |   319 +
 src/arrow_json/reader/schema.rs.html               |  1485 ++
 src/arrow_json/reader/serializer.rs.html           |   841 +
 src/arrow_json/reader/string_array.rs.html         |   259 +
 src/arrow_json/reader/struct_array.rs.html         |   323 +
 src/arrow_json/reader/tape.rs.html                 |  1823 ++
 src/arrow_json/reader/timestamp_array.rs.html      |   221 +
 src/arrow_json/writer/encoder.rs.html              |  1123 ++
 src/arrow_json/writer/mod.rs.html                  |  3825 ++++
 .../arrow-json-integration-test.rs.html            |   367 +
 src/arrow_ord/cmp.rs.html                          |  1711 ++
 src/arrow_ord/comparison.rs.html                   |  6731 +++++++
 src/arrow_ord/lib.rs.html                          |   107 +
 src/arrow_ord/ord.rs.html                          |  1849 ++
 src/arrow_ord/partition.rs.html                    |   635 +
 src/arrow_ord/rank.rs.html                         |   383 +
 src/arrow_ord/sort.rs.html                         |  8571 ++++++++
 src/arrow_row/fixed.rs.html                        |  1019 +
 src/arrow_row/lib.rs.html                          |  5075 +++++
 src/arrow_row/list.rs.html                         |   373 +
 src/arrow_row/variable.rs.html                     |   701 +
 src/arrow_schema/datatype.rs.html                  |  2185 +++
 src/arrow_schema/datatype_parse.rs.html            |  1567 ++
 src/arrow_schema/error.rs.html                     |   343 +
 src/arrow_schema/ffi.rs.html                       |  1937 ++
 src/arrow_schema/field.rs.html                     |  2015 ++
 src/arrow_schema/fields.rs.html                    |  1183 ++
 src/arrow_schema/lib.rs.html                       |   419 +
 src/arrow_schema/schema.rs.html                    |  2027 ++
 src/arrow_select/concat.rs.html                    |  1707 ++
 src/arrow_select/dictionary.rs.html                |   663 +
 src/arrow_select/filter.rs.html                    |  4047 ++++
 src/arrow_select/interleave.rs.html                |   807 +
 src/arrow_select/lib.rs.html                       |    59 +
 src/arrow_select/nullif.rs.html                    |  1025 +
 src/arrow_select/take.rs.html                      |  4771 +++++
 src/arrow_select/union_extract.rs.html             |  2473 +++
 src/arrow_select/window.rs.html                    |   389 +
 src/arrow_select/zip.rs.html                       |   461 +
 .../arrow-stream-to-file.rs.html                   |    69 +
 src/arrow_string/concat_elements.rs.html           |   829 +
 src/arrow_string/length.rs.html                    |  1407 ++
 src/arrow_string/lib.rs.html                       |    53 +
 src/arrow_string/like.rs.html                      |  3481 ++++
 src/arrow_string/predicate.rs.html                 |   923 +
 src/arrow_string/regexp.rs.html                    |  1617 ++
 src/arrow_string/substring.rs.html                 |  1959 ++
 src/flight_sql_client/flight_sql_client.rs.html    |   861 +
 .../flight-test-integration-client.rs.html         |   141 +
 .../flight-test-integration-server.rs.html         |   121 +
 src/gen/main.rs.html                               |   173 +
 src/parquet/arrow/array_reader/builder.rs.html     |   741 +
 src/parquet/arrow/array_reader/byte_array.rs.html  |  1467 ++
 .../array_reader/byte_array_dictionary.rs.html     |  1345 ++
 .../arrow/array_reader/byte_view_array.rs.html     |  1503 ++
 src/parquet/arrow/array_reader/empty_array.rs.html |   177 +
 .../array_reader/fixed_len_byte_array.rs.html      |  1083 +
 .../array_reader/fixed_size_list_array.rs.html     |  1283 ++
 src/parquet/arrow/array_reader/list_array.rs.html  |  1169 ++
 src/parquet/arrow/array_reader/map_array.rs.html   |   431 +
 src/parquet/arrow/array_reader/mod.rs.html         |   391 +
 src/parquet/arrow/array_reader/null_array.rs.html  |   217 +
 .../arrow/array_reader/primitive_array.rs.html     |  1573 ++
 .../arrow/array_reader/struct_array.rs.html        |   667 +
 src/parquet/arrow/arrow_reader/filter.rs.html      |   243 +
 src/parquet/arrow/arrow_reader/mod.rs.html         |  8137 ++++++++
 src/parquet/arrow/arrow_reader/selection.rs.html   |  2763 +++
 src/parquet/arrow/arrow_reader/statistics.rs.html  |  3251 +++
 src/parquet/arrow/arrow_writer/byte_array.rs.html  |  1189 ++
 src/parquet/arrow/arrow_writer/levels.rs.html      |  3731 ++++
 src/parquet/arrow/arrow_writer/mod.rs.html         |  6465 ++++++
 src/parquet/arrow/async_reader/metadata.rs.html    |   833 +
 src/parquet/arrow/async_reader/mod.rs.html         |  4081 ++++
 src/parquet/arrow/async_reader/store.rs.html       |   379 +
 src/parquet/arrow/async_writer/mod.rs.html         |  1003 +
 src/parquet/arrow/async_writer/store.rs.html       |   315 +
 src/parquet/arrow/buffer/bit_util.rs.html          |   209 +
 src/parquet/arrow/buffer/dictionary_buffer.rs.html |   655 +
 src/parquet/arrow/buffer/mod.rs.html               |    47 +
 src/parquet/arrow/buffer/offset_buffer.rs.html     |   671 +
 src/parquet/arrow/buffer/view_buffer.rs.html       |   387 +
 src/parquet/arrow/decoder/delta_byte_array.rs.html |   277 +
 src/parquet/arrow/decoder/dictionary_index.rs.html |   235 +
 src/parquet/arrow/decoder/mod.rs.html              |    49 +
 src/parquet/arrow/mod.rs.html                      |   749 +
 src/parquet/arrow/record_reader/buffer.rs.html     |   129 +
 .../arrow/record_reader/definition_levels.rs.html  |   897 +
 src/parquet/arrow/record_reader/mod.rs.html        |  1577 ++
 src/parquet/arrow/schema/complex.rs.html           |  1215 ++
 src/parquet/arrow/schema/mod.rs.html               |  3871 ++++
 src/parquet/arrow/schema/primitive.rs.html         |   645 +
 src/parquet/basic.rs.html                          |  4809 +++++
 src/parquet/bloom_filter/mod.rs.html               |  1051 +
 src/parquet/column/mod.rs.html                     |   245 +
 src/parquet/column/page.rs.html                    |   931 +
 src/parquet/column/reader.rs.html                  |  2719 +++
 src/parquet/column/reader/decoder.rs.html          |  1117 ++
 src/parquet/column/writer/encoder.rs.html          |   739 +
 src/parquet/column/writer/mod.rs.html              |  7517 +++++++
 src/parquet/compression.rs.html                    |  1869 ++
 src/parquet/data_type.rs.html                      |  2729 +++
 src/parquet/encodings/decoding.rs.html             |  4153 ++++
 .../decoding/byte_stream_split_decoder.rs.html     |   513 +
 .../encoding/byte_stream_split_encoder.rs.html     |   463 +
 .../encodings/encoding/dict_encoder.rs.html        |   377 +
 src/parquet/encodings/encoding/mod.rs.html         |  2399 +++
 src/parquet/encodings/levels.rs.html               |   259 +
 src/parquet/encodings/mod.rs.html                  |    43 +
 src/parquet/encodings/rle.rs.html                  |  2089 ++
 src/parquet/errors.rs.html                         |   349 +
 src/parquet/file/footer.rs.html                    |   157 +
 src/parquet/file/metadata/memory.rs.html           |   479 +
 src/parquet/file/metadata/mod.rs.html              |  3835 ++++
 src/parquet/file/metadata/reader.rs.html           |  2055 ++
 src/parquet/file/metadata/writer.rs.html           |   761 +
 src/parquet/file/mod.rs.html                       |   225 +
 src/parquet/file/page_encoding_stats.rs.html       |   155 +
 src/parquet/file/page_index/index.rs.html          |   751 +
 src/parquet/file/page_index/index_reader.rs.html   |   359 +
 src/parquet/file/page_index/mod.rs.html            |    49 +
 src/parquet/file/page_index/offset_index.rs.html   |   125 +
 src/parquet/file/properties.rs.html                |  2755 +++
 src/parquet/file/reader.rs.html                    |   551 +
 src/parquet/file/serialized_reader.rs.html         |  3883 ++++
 src/parquet/file/statistics.rs.html                |  2309 +++
 src/parquet/file/writer.rs.html                    |  4231 ++++
 src/parquet/format.rs.html                         | 10963 +++++++++++
 src/parquet/lib.rs.html                            |   289 +
 src/parquet/record/api.rs.html                     |  4101 ++++
 src/parquet/record/mod.rs.html                     |    65 +
 src/parquet/record/reader.rs.html                  |  3415 ++++
 src/parquet/record/record_reader.rs.html           |    65 +
 src/parquet/record/record_writer.rs.html           |    85 +
 src/parquet/record/triplet.rs.html                 |  1129 ++
 src/parquet/schema/mod.rs.html                     |   163 +
 src/parquet/schema/parser.rs.html                  |  2251 +++
 src/parquet/schema/printer.rs.html                 |  1751 ++
 src/parquet/schema/types.rs.html                   |  4531 +++++
 src/parquet/schema/visitor.rs.html                 |   483 +
 src/parquet/thrift.rs.html                         |   569 +
 src/parquet/util/bit_pack.rs.html                  |   275 +
 src/parquet/util/bit_util.rs.html                  |  2345 +++
 src/parquet/util/interner.rs.html                  |   189 +
 src/parquet/util/mod.rs.html                       |    57 +
 src/parquet/util/test_common/mod.rs.html           |    49 +
 src/parquet/util/test_common/page_util.rs.html     |   507 +
 src/parquet_concat/parquet-concat.rs.html          |   239 +
 src/parquet_derive/lib.rs.html                     |   503 +
 src/parquet_derive/parquet_field.rs.html           |  2981 +++
 src/parquet_derive_test/lib.rs.html                |   737 +
 src/parquet_fromcsv/parquet-fromcsv.rs.html        |  1499 ++
 src/parquet_index/parquet-index.rs.html            |   349 +
 src/parquet_layout/parquet-layout.rs.html          |   475 +
 src/parquet_read/parquet-read.rs.html              |   213 +
 src/parquet_rewrite/parquet-rewrite.rs.html        |   559 +
 src/parquet_rowcount/parquet-rowcount.rs.html      |   139 +
 src/parquet_schema/parquet-schema.rs.html          |   151 +
 .../parquet-show-bloom-filter.rs.html              |   237 +
 static.files/COPYRIGHT-eb44e4cf.txt                |    50 +
 static.files/FiraSans-LICENSE-05ab6dbd.txt         |    98 +
 static.files/FiraSans-Medium-e1aa3f0a.woff2        |   Bin 0 -> 132780 bytes
 static.files/FiraSans-Regular-0fe48ade.woff2       |   Bin 0 -> 129188 bytes
 static.files/LICENSE-APACHE-a60eea81.txt           |   201 +
 static.files/LICENSE-MIT-23f18e03.txt              |    23 +
 static.files/NanumBarunGothic-13b3dcba.ttf.woff2   |   Bin 0 -> 399468 bytes
 static.files/NanumBarunGothic-LICENSE-a37d393b.txt |   103 +
 static.files/SourceCodePro-It-fc8b9304.ttf.woff2   |   Bin 0 -> 44896 bytes
 static.files/SourceCodePro-LICENSE-67f54ca7.txt    |    97 +
 .../SourceCodePro-Regular-8badfe75.ttf.woff2       |   Bin 0 -> 52228 bytes
 .../SourceCodePro-Semibold-aa29a496.ttf.woff2      |   Bin 0 -> 52348 bytes
 static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2  |   Bin 0 -> 81540 bytes
 static.files/SourceSerif4-It-ca3b17ed.ttf.woff2    |   Bin 0 -> 59716 bytes
 static.files/SourceSerif4-LICENSE-a2cfd9d5.md      |    98 +
 .../SourceSerif4-Regular-6b053e98.ttf.woff2        |   Bin 0 -> 76260 bytes
 static.files/favicon-044be391.svg                  |    24 +
 static.files/favicon-32x32-6580c154.png            |   Bin 0 -> 1125 bytes
 static.files/main-5f194d8c.js                      |    11 +
 static.files/normalize-9960930a.css                |     2 +
 static.files/noscript-893ab5e7.css                 |     1 +
 static.files/rust-logo-9a9549ea.svg                |    61 +
 static.files/rustdoc-a5dc3bae.css                  |    53 +
 static.files/scrape-examples-d508a8a9.js           |     1 +
 static.files/search-c5a66128.js                    |     6 +
 static.files/settings-0f613d39.js                  |    17 +
 static.files/src-script-56102188.js                |     1 +
 static.files/storage-59e33391.js                   |    23 +
 trait.impl/arrow/pyarrow/trait.FromPyArrow.js      |     9 +
 trait.impl/arrow/pyarrow/trait.IntoPyArrow.js      |     9 +
 trait.impl/arrow/pyarrow/trait.ToPyArrow.js        |     9 +
 .../util/data_gen/trait.RandomTemporalValue.js     |     9 +
 .../aggregate/trait.NumericAccumulator.js          |     9 +
 trait.impl/arrow_arith/numeric/trait.DateOp.js     |     9 +
 trait.impl/arrow_arith/numeric/trait.IntervalOp.js |     9 +
 .../arrow_arith/numeric/trait.TimestampOp.js       |     9 +
 .../arrow_arith/temporal/trait.ChronoDateExt.js    |     9 +
 .../temporal/trait.ExtractDatePartExt.js           |     9 +
 .../arithmetic/trait.ArrowNativeTypeOp.js          |     9 +
 .../dictionary_array/trait.AnyDictionaryArray.js   |     9 +
 .../array/list_array/trait.OffsetSizeTrait.js      |     9 +
 trait.impl/arrow_array/array/trait.Array.js        |     9 +
 .../arrow_array/array/trait.ArrayAccessor.js       |     9 +
 .../arrow_array/builder/trait.ArrayBuilder.js      |     9 +
 .../builder/union_builder/trait.FieldDataValues.js |     9 +
 .../arrow_array/cast/private/trait.Sealed.js       |     9 +
 trait.impl/arrow_array/cast/trait.AsArray.js       |     9 +
 .../arrow_array/numeric/trait.ArrowNumericType.js  |     9 +
 .../record_batch/trait.RecordBatchReader.js        |     9 +
 .../record_batch/trait.RecordBatchWriter.js        |     9 +
 trait.impl/arrow_array/scalar/trait.Datum.js       |     9 +
 .../arrow_array/types/byte_view/trait.Sealed.js    |     9 +
 .../types/bytes/trait.ByteArrayNativeType.js       |     9 +
 .../types/bytes/trait.ByteArrayTypeSealed.js       |     9 +
 .../types/decimal/trait.DecimalTypeSealed.js       |     9 +
 .../types/primitive/trait.PrimitiveTypeSealed.js   |     9 +
 .../types/trait.ArrowDictionaryKeyType.js          |     9 +
 .../arrow_array/types/trait.ArrowPrimitiveType.js  |     9 +
 .../arrow_array/types/trait.ArrowTemporalType.js   |     9 +
 .../arrow_array/types/trait.ArrowTimestampType.js  |     9 +
 .../arrow_array/types/trait.ByteArrayType.js       |     9 +
 trait.impl/arrow_array/types/trait.ByteViewType.js |     9 +
 trait.impl/arrow_array/types/trait.DecimalType.js  |     9 +
 .../arrow_array/types/trait.RunEndIndexType.js     |     9 +
 trait.impl/arrow_buffer/alloc/trait.Allocation.js  |     9 +
 .../arrow_buffer/native/private/trait.Sealed.js    |     9 +
 .../arrow_buffer/native/trait.ArrowNativeType.js   |     9 +
 .../arrow_buffer/native/trait.ToByteSlice.js       |     9 +
 .../arrow_cast/cast/decimal/trait.DecimalCast.js   |     9 +
 .../arrow_cast/display/trait.DisplayIndex.js       |     9 +
 .../arrow_cast/display/trait.DisplayIndexState.js  |     9 +
 trait.impl/arrow_cast/parse/trait.Parser.js        |     9 +
 .../flight_service_server/trait.FlightService.js   |     9 +
 .../sql/metadata/sql_info/trait.SqlInfoName.js     |     9 +
 .../arrow_flight/sql/trait.ProstMessageExt.js      |     9 +
 .../primitive_array/trait.ParseJsonNumber.js       |     9 +
 trait.impl/arrow_json/reader/trait.ArrayDecoder.js |     9 +
 trait.impl/arrow_json/trait.JsonSerializable.js    |     9 +
 .../arrow_json/writer/encoder/trait.Encoder.js     |     9 +
 .../writer/encoder/trait.PrimitiveEncode.js        |     9 +
 trait.impl/arrow_json/writer/trait.JsonFormat.js   |     9 +
 trait.impl/arrow_ord/cmp/trait.ArrayOrd.js         |     9 +
 .../arrow_row/fixed/trait.FixedLengthEncoding.js   |     9 +
 trait.impl/arrow_row/fixed/trait.FromSlice.js      |     9 +
 trait.impl/arrow_select/take/trait.ToIndices.js    |     9 +
 .../arrow_string/like/trait.StringArrayType.js     |     9 +
 trait.impl/base64/engine/trait.Engine.js           |     9 +
 trait.impl/bitflags/traits/trait.Flags.js          |     9 +
 trait.impl/bitflags/traits/trait.PublicFlags.js    |     9 +
 trait.impl/chrono/offset/trait.Offset.js           |     9 +
 trait.impl/chrono/offset/trait.TimeZone.js         |     9 +
 trait.impl/clap_builder/derive/trait.Args.js       |     9 +
 .../clap_builder/derive/trait.CommandFactory.js    |     9 +
 .../clap_builder/derive/trait.FromArgMatches.js    |     9 +
 trait.impl/clap_builder/derive/trait.Parser.js     |     9 +
 trait.impl/clap_builder/derive/trait.Subcommand.js |     9 +
 trait.impl/clap_builder/derive/trait.ValueEnum.js  |     9 +
 trait.impl/core/clone/trait.Clone.js               |     9 +
 trait.impl/core/cmp/trait.Eq.js                    |     9 +
 trait.impl/core/cmp/trait.Ord.js                   |     9 +
 trait.impl/core/cmp/trait.PartialEq.js             |     9 +
 trait.impl/core/cmp/trait.PartialOrd.js            |     9 +
 trait.impl/core/convert/trait.AsRef.js             |     9 +
 trait.impl/core/convert/trait.From.js              |     9 +
 trait.impl/core/convert/trait.TryFrom.js           |     9 +
 trait.impl/core/default/trait.Default.js           |     9 +
 trait.impl/core/error/trait.Error.js               |     9 +
 trait.impl/core/fmt/trait.Binary.js                |     9 +
 trait.impl/core/fmt/trait.Debug.js                 |     9 +
 trait.impl/core/fmt/trait.Display.js               |     9 +
 trait.impl/core/fmt/trait.LowerHex.js              |     9 +
 trait.impl/core/fmt/trait.Octal.js                 |     9 +
 trait.impl/core/fmt/trait.UpperHex.js              |     9 +
 trait.impl/core/fmt/trait.Write.js                 |     9 +
 trait.impl/core/hash/trait.Hash.js                 |     9 +
 .../core/iter/traits/collect/trait.Extend.js       |     9 +
 .../core/iter/traits/collect/trait.FromIterator.js |     9 +
 .../core/iter/traits/collect/trait.IntoIterator.js |     9 +
 .../double_ended/trait.DoubleEndedIterator.js      |     9 +
 .../traits/exact_size/trait.ExactSizeIterator.js   |     9 +
 .../core/iter/traits/iterator/trait.Iterator.js    |     9 +
 trait.impl/core/marker/trait.Copy.js               |     9 +
 trait.impl/core/marker/trait.Freeze.js             |     9 +
 trait.impl/core/marker/trait.Send.js               |     9 +
 .../core/marker/trait.StructuralPartialEq.js       |     9 +
 trait.impl/core/marker/trait.Sync.js               |     9 +
 trait.impl/core/marker/trait.Unpin.js              |     9 +
 trait.impl/core/ops/arith/trait.Add.js             |     9 +
 trait.impl/core/ops/arith/trait.AddAssign.js       |     9 +
 trait.impl/core/ops/arith/trait.Div.js             |     9 +
 trait.impl/core/ops/arith/trait.DivAssign.js       |     9 +
 trait.impl/core/ops/arith/trait.Mul.js             |     9 +
 trait.impl/core/ops/arith/trait.MulAssign.js       |     9 +
 trait.impl/core/ops/arith/trait.Neg.js             |     9 +
 trait.impl/core/ops/arith/trait.Rem.js             |     9 +
 trait.impl/core/ops/arith/trait.RemAssign.js       |     9 +
 trait.impl/core/ops/arith/trait.Sub.js             |     9 +
 trait.impl/core/ops/arith/trait.SubAssign.js       |     9 +
 trait.impl/core/ops/bit/trait.BitAnd.js            |     9 +
 trait.impl/core/ops/bit/trait.BitAndAssign.js      |     9 +
 trait.impl/core/ops/bit/trait.BitOr.js             |     9 +
 trait.impl/core/ops/bit/trait.BitOrAssign.js       |     9 +
 trait.impl/core/ops/bit/trait.BitXor.js            |     9 +
 trait.impl/core/ops/bit/trait.BitXorAssign.js      |     9 +
 trait.impl/core/ops/bit/trait.Not.js               |     9 +
 trait.impl/core/ops/bit/trait.Shl.js               |     9 +
 trait.impl/core/ops/bit/trait.Shr.js               |     9 +
 trait.impl/core/ops/deref/trait.Deref.js           |     9 +
 trait.impl/core/ops/deref/trait.DerefMut.js        |     9 +
 trait.impl/core/ops/drop/trait.Drop.js             |     9 +
 trait.impl/core/ops/index/trait.Index.js           |     9 +
 trait.impl/core/ops/index/trait.IndexMut.js        |     9 +
 .../core/panic/unwind_safe/trait.RefUnwindSafe.js  |     9 +
 .../core/panic/unwind_safe/trait.UnwindSafe.js     |     9 +
 trait.impl/core/str/traits/trait.FromStr.js        |     9 +
 .../endian_scalar/trait.EndianScalar.js            |     9 +
 trait.impl/flatbuffers/follow/trait.Follow.js      |     9 +
 trait.impl/flatbuffers/push/trait.Push.js          |     9 +
 .../verifier/trait.SimpleToVerifyInSlice.js        |     9 +
 .../flatbuffers/verifier/trait.Verifiable.js       |     9 +
 trait.impl/futures_core/stream/trait.Stream.js     |     9 +
 trait.impl/lazy_static/trait.LazyStatic.js         |     9 +
 trait.impl/num_traits/cast/trait.AsPrimitive.js    |     9 +
 trait.impl/num_traits/cast/trait.ToPrimitive.js    |     9 +
 .../parquet/arrow/array_reader/trait.RowGroups.js  |     9 +
 .../arrow_reader/filter/trait.ArrowPredicate.js    |     9 +
 .../async_reader/metadata/trait.MetadataFetch.js   |     9 +
 .../arrow/async_reader/trait.AsyncFileReader.js    |     9 +
 .../arrow/async_writer/trait.AsyncFileWriter.js    |     9 +
 .../record_reader/buffer/trait.ValuesBuffer.js     |     9 +
 .../parquet/column/page/trait.PageIterator.js      |     9 +
 trait.impl/parquet/column/page/trait.PageReader.js |     9 +
 trait.impl/parquet/column/page/trait.PageWriter.js |     9 +
 .../reader/decoder/trait.ColumnLevelDecoder.js     |     9 +
 .../reader/decoder/trait.ColumnValueDecoder.js     |     9 +
 .../reader/decoder/trait.DefinitionLevelDecoder.js |     9 +
 .../reader/decoder/trait.RepetitionLevelDecoder.js |     9 +
 .../writer/encoder/trait.ColumnValueEncoder.js     |     9 +
 .../column/writer/encoder/trait.ColumnValues.js    |     9 +
 .../data_type/private/trait.ParquetValueType.js    |     9 +
 trait.impl/parquet/data_type/trait.AsBytes.js      |     9 +
 trait.impl/parquet/data_type/trait.DataType.js     |     9 +
 trait.impl/parquet/data_type/trait.SliceAsBytes.js |     9 +
 .../data_type/trait.SliceAsBytesDataType.js        |     9 +
 .../parquet/file/metadata/memory/trait.HeapSize.js |     9 +
 .../parquet/file/reader/trait.ChunkReader.js       |     9 +
 trait.impl/parquet/file/reader/trait.FileReader.js |     9 +
 trait.impl/parquet/file/reader/trait.Length.js     |     9 +
 .../parquet/file/reader/trait.RowGroupReader.js    |     9 +
 .../statistics/private/trait.MakeStatistics.js     |     9 +
 .../parquet/record/api/trait.ListAccessor.js       |     9 +
 trait.impl/parquet/record/api/trait.MapAccessor.js |     9 +
 trait.impl/parquet/record/api/trait.RowAccessor.js |     9 +
 .../parquet/record/api/trait.RowFormatter.js       |     9 +
 .../record/record_reader/trait.RecordReader.js     |     9 +
 .../record/record_writer/trait.RecordWriter.js     |     9 +
 trait.impl/parquet/thrift/trait.TSerializable.js   |     9 +
 trait.impl/prost/message/trait.Message.js          |     9 +
 trait.impl/pyo3/conversion/trait.FromPyObject.js   |     9 +
 trait.impl/pyo3/conversion/trait.IntoPy.js         |     9 +
 trait.impl/pyo3/err/trait.ToPyErr.js               |     9 +
 trait.impl/pyo3/type_object/trait.PyTypeInfo.js    |     9 +
 trait.impl/pyo3/types/trait.DerefToPyAny.js        |     9 +
 trait.impl/serde/de/trait.Deserialize.js           |     9 +
 trait.impl/serde/ser/trait.Error.js                |     9 +
 trait.impl/serde/ser/trait.Serialize.js            |     9 +
 trait.impl/serde/ser/trait.SerializeMap.js         |     9 +
 trait.impl/serde/ser/trait.SerializeSeq.js         |     9 +
 trait.impl/serde/ser/trait.SerializeStruct.js      |     9 +
 trait.impl/serde/ser/trait.SerializeTuple.js       |     9 +
 trait.impl/serde/ser/trait.SerializeTupleStruct.js |     9 +
 trait.impl/serde/ser/trait.Serializer.js           |     9 +
 trait.impl/std/io/trait.Read.js                    |     9 +
 trait.impl/std/io/trait.Write.js                   |     9 +
 trait.impl/thrift/protocol/trait.TInputProtocol.js |     9 +
 trait.impl/tonic/server/trait.NamedService.js      |     9 +
 trait.impl/tower_service/trait.Service.js          |     9 +
 type.impl/alloc/boxed/struct.Box.js                |     9 +
 type.impl/alloc/sync/struct.Arc.js                 |     9 +
 type.impl/alloc/vec/struct.Vec.js                  |     9 +
 .../arrow/array/builder/struct.BufferBuilder.js    |     9 +
 .../array/builder/struct.GenericByteBuilder.js     |     9 +
 .../builder/struct.GenericByteDictionaryBuilder.js |     9 +
 .../array/builder/struct.GenericByteRunBuilder.js  |     9 +
 .../array/builder/struct.GenericByteViewBuilder.js |     9 +
 .../array/builder/struct.GenericListBuilder.js     |     9 +
 .../arrow/array/builder/struct.PrimitiveBuilder.js |     9 +
 type.impl/arrow/array/iterator/struct.ArrayIter.js |     9 +
 type.impl/arrow/array/struct.DictionaryArray.js    |     9 +
 type.impl/arrow/array/struct.GenericByteArray.js   |     9 +
 .../arrow/array/struct.GenericByteViewArray.js     |     9 +
 type.impl/arrow/array/struct.GenericListArray.js   |     9 +
 .../arrow/array/struct.GenericListViewArray.js     |     9 +
 type.impl/arrow/array/struct.PrimitiveArray.js     |     9 +
 type.impl/arrow/array/struct.RunArray.js           |     9 +
 .../arrow/datatypes/struct.GenericBinaryType.js    |     9 +
 .../arrow/datatypes/struct.GenericStringType.js    |     9 +
 type.impl/arrow/pyarrow/struct.ArrowException.js   |     9 +
 type.impl/arrow/tensor/struct.Tensor.js            |     9 +
 .../array/binary_array/type.GenericBinaryArray.js  |     9 +
 .../array/byte_array/struct.GenericByteArray.js    |     9 +
 .../byte_view_array/struct.GenericByteViewArray.js |     9 +
 .../dictionary_array/struct.DictionaryArray.js     |     9 +
 .../array/list_array/struct.GenericListArray.js    |     9 +
 .../list_view_array/struct.GenericListViewArray.js |     9 +
 .../array/primitive_array/struct.PrimitiveArray.js |     9 +
 .../arrow_array/array/run_array/struct.RunArray.js |     9 +
 .../array/string_array/type.GenericStringArray.js  |     9 +
 .../struct.GenericByteRunBuilder.js                |     9 +
 .../struct.GenericByteBuilder.js                   |     9 +
 .../type.GenericBinaryBuilder.js                   |     9 +
 .../type.GenericStringBuilder.js                   |     9 +
 .../struct.GenericByteDictionaryBuilder.js         |     9 +
 .../struct.GenericByteViewBuilder.js               |     9 +
 .../struct.GenericListBuilder.js                   |     9 +
 .../primitive_builder/struct.PrimitiveBuilder.js   |     9 +
 .../arrow_array/builder/struct.BufferBuilder.js    |     9 +
 type.impl/arrow_array/iterator/struct.ArrayIter.js |     9 +
 .../arrow_array/types/struct.GenericBinaryType.js  |     9 +
 .../arrow_array/types/struct.GenericStringType.js  |     9 +
 type.impl/arrow_csv/reader/struct.BufReader.js     |     9 +
 .../struct.FlightServiceClient.js                  |     9 +
 type.impl/arrow_json/writer/struct.Writer.js       |     9 +
 type.impl/core/iter/adapters/chain/struct.Chain.js |     9 +
 type.impl/core/ops/function/trait.Fn.js            |     9 +
 type.impl/core/option/enum.Option.js               |     9 +
 type.impl/core/pin/struct.Pin.js                   |     9 +
 type.impl/core/result/enum.Result.js               |     9 +
 .../arrow_reader/struct.ArrowReaderBuilder.js      |     9 +
 .../record_reader/struct.GenericRecordReader.js    |     9 +
 .../column/reader/struct.GenericColumnReader.js    |     9 +
 .../column/writer/struct.GenericColumnWriter.js    |     9 +
 type.impl/parquet/errors/type.Result.js            |     9 +
 .../file/statistics/struct.ValueStatistics.js      |     9 +
 type.impl/parquet/format/struct.KeyValue.js        |     9 +
 type.impl/std/primitive.tuple.js                   |     9 +
 5559 files changed, 643938 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000000..bd063d4bbf
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Documentation can be found here:
+# https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=127405038
+
+notifications:
+  commits:      commits@arrow.apache.org
+  issues:       github@arrow.apache.org
+  pullrequests: github@arrow.apache.org
+  jira_options: link label worklog
+github:
+  description: "Official Rust implementation of Apache Arrow"
+  homepage: https://arrow.apache.org/
+  labels:
+    - arrow
+    - parquet
+    - object-store
+    - rust
+  enabled_merge_buttons:
+    squash: true
+    merge: false
+    rebase: false
+  features:
+    issues: true
+  protected_branches:
+    master:
+      required_status_checks:
+        # require branches to be up-to-date before merging
+        strict: true
+        # don't require any jobs to pass
+        contexts: []
+
+# publishes the content of the `asf-site` branch to
+# https://arrow.apache.org/rust/
+publish:
+  whoami: asf-site
+  subdir: rust
diff --git a/.lock b/.lock
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/arrow/all.html b/arrow/all.html
new file mode 100644
index 0000000000..c6c9b96852
--- /dev/null
+++ b/arrow/all.html
@@ -0,0 +1 @@
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro- [...]
\ No newline at end of file
diff --git a/arrow/alloc/constant.ALIGNMENT.html b/arrow/alloc/constant.ALIGNMENT.html
new file mode 100644
index 0000000000..62640e64c6
--- /dev/null
+++ b/arrow/alloc/constant.ALIGNMENT.html
@@ -0,0 +1,2 @@
+<!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="Cache and allocation multiple alignment size"><title>ALIGNMENT in arrow::alloc - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2, [...]
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/alloc/index.html b/arrow/alloc/index.html
new file mode 100644
index 0000000000..250e597787
--- /dev/null
+++ b/arrow/alloc/index.html
@@ -0,0 +1,3 @@
+<!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="Defines the low-level `Allocation` API for shared memory regions"><title>arrow::alloc - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a [...]
+</div></details><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.ALIGNMENT.html" title="constant arrow::alloc::ALIGNMENT">ALIGNMENT</a></div><div class="desc docblock-short">Cache and allocation multiple alignment size</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class [...]
+The trait implementation is responsible for dropping the allocations once no more references exist.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/alloc/sidebar-items.js b/arrow/alloc/sidebar-items.js
new file mode 100644
index 0000000000..27ac43d631
--- /dev/null
+++ b/arrow/alloc/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"constant":["ALIGNMENT"],"trait":["Allocation"]};
\ No newline at end of file
diff --git a/arrow/alloc/trait.Allocation.html b/arrow/alloc/trait.Allocation.html
new file mode 100644
index 0000000000..a878114986
--- /dev/null
+++ b/arrow/alloc/trait.Allocation.html
@@ -0,0 +1,7 @@
+<!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="The owner of an allocation. The trait implementation is responsible for dropping the allocations once no more references exist."><title>Allocation in arrow::alloc - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regula [...]
+    <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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> { }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The owner of an allocation.
+The trait implementation is responsible for dropping the allocations once no more references exist.</p>
+</div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.Allocation.html" title="trait arrow::alloc::Allocation">Allocation</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section></div><script src="../../t [...]
\ No newline at end of file
diff --git a/arrow/array/array/fn.make_array.html b/arrow/array/array/fn.make_array.html
new file mode 100644
index 0000000000..bc368f0fb0
--- /dev/null
+++ b/arrow/array/array/fn.make_array.html
@@ -0,0 +1,3 @@
+<!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="Constructs an array using the input `data`. Returns a reference-counted `Array` instance."><title>make_array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-R [...]
+Returns a reference-counted <code>Array</code> instance.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/fn.new_empty_array.html b/arrow/array/array/fn.new_empty_array.html
new file mode 100644
index 0000000000..d72ffaee03
--- /dev/null
+++ b/arrow/array/array/fn.new_empty_array.html
@@ -0,0 +1,11 @@
+<!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="Creates a new empty array"><title>new_empty_array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,Source [...]
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>arrow_schema::DataType;
+<span class="kw">use </span>arrow_array::{ArrayRef, Int32Array, new_empty_array};
+
+<span class="kw">let </span>empty_array = new_empty_array(<span class="kw-2">&amp;</span>DataType::Int32);
+<span class="kw">let </span>array: ArrayRef = Arc::new(Int32Array::from(<span class="macro">vec!</span>[] <span class="kw">as </span>Vec&lt;i32&gt;));
+
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>empty_array);</code></pre></div>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/fn.new_null_array.html b/arrow/array/array/fn.new_null_array.html
new file mode 100644
index 0000000000..ba03f70d86
--- /dev/null
+++ b/arrow/array/array/fn.new_null_array.html
@@ -0,0 +1,12 @@
+<!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="Creates a new array of `data_type` of length `length` filled entirely of `NULL` values"><title>new_null_array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans- [...]
+entirely of <code>NULL</code> values</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>arrow_schema::DataType;
+<span class="kw">use </span>arrow_array::{ArrayRef, Int32Array, new_null_array};
+
+<span class="kw">let </span>null_array = new_null_array(<span class="kw-2">&amp;</span>DataType::Int32, <span class="number">3</span>);
+<span class="kw">let </span>array: ArrayRef = Arc::new(Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">None</span>, <span class="prelude-val">None</span>, <span class="prelude-val">None</span>]));
+
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>null_array);</code></pre></div>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/index.html b/arrow/array/array/index.html
new file mode 100644
index 0000000000..985ecc8ca6
--- /dev/null
+++ b/arrow/array/array/index.html
@@ -0,0 +1,7 @@
+<!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="The concrete array definitions"><title>arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regula [...]
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BooleanArray.html" title="struct arrow::array::array::BooleanArray">Boolean<wbr>Array</a></div><div class="desc docblock-short">An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">boolean values</a></div></li><li><div class="item-name"><a class="struct" h [...]
+(e.g. <code>["A", "B"]</code>).</div></li><li><div class="item-name"><a class="struct" href="struct.GenericByteArray.html" title="struct arrow::array::array::GenericByteArray">Generic<wbr>Byte<wbr>Array</a></div><div class="desc docblock-short">An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">variable length byte arrays</a></div></li><li><div class="item-name"><a class="struct" href="struct.GenericByteViewArray.html" title="struct arrow [...]
+(e.g. <code>["A", "B", "C"]</code>).</div></li><li><div class="item-name"><a class="struct" href="struct.GenericListViewArray.html" title="struct arrow::array::array::GenericListViewArray">Generic<wbr>List<wbr>View<wbr>Array</a></div><div class="desc docblock-short">Different from <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>crate::GenericListArray</code></a> as it stores both an offset and length
+meaning that take / filter operations can be implemented without copying the underlying data.</div></li><li><div class="item-name"><a class="struct" href="struct.MapArray.html" title="struct arrow::array::array::MapArray">MapArray</a></div><div class="desc docblock-short">An array of key-value maps</div></li><li><div class="item-name"><a class="struct" href="struct.NativeAdapter.html" title="struct arrow::array::array::NativeAdapter">Native<wbr>Adapter</a></div><div class="desc docblock- [...]
+Returns a reference-counted <code>Array</code> instance.</div></li><li><div class="item-name"><a class="fn" href="fn.new_empty_array.html" title="fn arrow::array::array::new_empty_array">new_<wbr>empty_<wbr>array</a></div><div class="desc docblock-short">Creates a new empty array</div></li><li><div class="item-name"><a class="fn" href="fn.new_null_array.html" title="fn arrow::array::array::new_null_array">new_<wbr>null_<wbr>array</a></div><div class="desc docblock-short">Creates a new ar [...]
+entirely of <code>NULL</code> values</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.ArrayRef.html" title="type arrow::array::array::ArrayRef">Array<wbr>Ref</a></div><div class="desc docblock-short">A reference-counted reference to a generic <code>Array</code></div></li><li><div class="item-name"><a class="type" href="type.BinaryArray.html" title="type a [...]
\ No newline at end of file
diff --git a/arrow/array/array/sidebar-items.js b/arrow/array/array/sidebar-items.js
new file mode 100644
index 0000000000..408f94c1ae
--- /dev/null
+++ b/arrow/array/array/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"fn":["make_array","new_empty_array","new_null_array"],"struct":["BooleanArray","DictionaryArray","FixedSizeBinaryArray","FixedSizeListArray","GenericByteArray","GenericByteViewArray","GenericListArray","GenericListViewArray","MapArray","NativeAdapter","NullArray","PrimitiveArray","RunArray","StructArray","TypedDictionaryArray","TypedRunArray","UnionArray"],"trait":["AnyDictionaryArray","Array","ArrayAccessor","ArrowPrimitiveType","OffsetSizeTrait"],"type":["Array [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.BooleanArray.html b/arrow/array/array/struct.BooleanArray.html
new file mode 100644
index 0000000000..f7baa77d0d
--- /dev/null
+++ b/arrow/array/array/struct.BooleanArray.html
@@ -0,0 +1,123 @@
+<!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="An array of boolean values"><title>BooleanArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCo [...]
+    values: <a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">boolean values</a></p>
+<h2 id="example-from-a-vec"><a class="doc-anchor" href="#example-from-a-vec">§</a>Example: From a Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: BooleanArray = <span class="macro">vec!</span>[<span class="bool-val">true</span>, <span class="bool-val">true</span>, <span class="bool-val">false</span>].into();</code></pre></div>
+<h2 id="example-from-an-optional-vec"><a class="doc-anchor" href="#example-from-an-optional-vec">§</a>Example: From an optional Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: BooleanArray = <span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)].into();</code></pre></div>
+<h2 id="example-from-an-iterator"><a class="doc-anchor" href="#example-from-an-iterator">§</a>Example: From an iterator</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: BooleanArray = (<span class="number">0</span>..<span class="number">5</span>).map(|x| (x % <span class="number">2 </span>== <span class="number">0</span>).then(|| x % <span class="number">3 </span>== <span class="number">0</span>)).collect();
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = arr.iter().collect();
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)])</code></pre></div>
+<h2 id="example-using-builder"><a class="doc-anchor" href="#example-using-builder">§</a>Example: Using Builder</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = BooleanBuilder::new();
+builder.append_value(<span class="bool-val">true</span>);
+builder.append_null();
+builder.append_value(<span class="bool-val">false</span>);
+<span class="kw">let </span>array = builder.finish();
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.iter().collect();
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)])</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor field">§</a><code>values: <a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor  [...]
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <code>values.len() != nulls.len()</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../st [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;<a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::Bool [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_from_packed" class="method"><h4 class="code-header">pub fn <a href="#method.new_from_packed" class="fn">new_from_packed</a>(
+    buffer: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>&gt;,
+    offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a> from a <a href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer"><code>Buffer</code></a> specified by <code>offset</code> and <code>len</code>, the <code>offset</code> and <code>l [...]
+Logically convert each bit in <a href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer"><code>Buffer</code></a> to boolean and use it to build <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a>.
+using this method will make the following points self-evident:</p>
+<ul>
+<li>there is no <code>null</code> in the constructed <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a>;</li>
+<li>without considering <code>buffer.into()</code>, this method is efficient because there is no need to perform pack and unpack operations on boolean;</li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_from_u8" class="method"><h4 class="code-header">pub fn <a href="#method.new_from_u8" class="fn">new_from_u8</a>(value: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a></h4></section></summary><div class="docblock"><p>Create a new <a [...]
+This method uses <code>new_from_packed</code> and constructs a <a href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer"><code>Buffer</code></a> using <code>value</code>, and offset is set to 0 and len is set to <code>value.len() * 8</code>
+using this method will make the following points self-evident:</p>
+<ul>
+<li>there is no <code>null</code> in the constructed <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a>;</li>
+<li>the length of the constructed <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a> is always a multiple of 8;</li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length of this array.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this array is empty.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::arr [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../builder/struct.BooleanBuilder.html" title="struct arrow::array::builder::BooleanBuilder">BooleanBuilder</a></h4></section></summary><div class="docblock"><p>Re [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a></h4></section></summary><div class="docblock"><p>Returns the underlying <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::Boole [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.true_count" class="method"><h4 class="code-header">pub fn <a href="#method.true_count" class="fn">true_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of non null, true values within this array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.false_count" class="method"><h4 class="code-header">pub fn <a href="#method.false_count" class="fn">false_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of non null, false values within this array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns [...]
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>This doesn’t check bounds, the caller must ensure that index &lt; self.len()</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns the boolean value at index <code>i</ [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter" class="method"><h4 class="code-header">pub fn <a href="#method.take_iter" class="fn">take_iter</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;&gt; + 'a</h4></section></summary><div class="docblock"><p>Returns  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.take_iter_unchecked" class="fn">take_iter_unchecked</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;&gt; + 'a</h4></section></summary><div class="docblock"><p>Returns  [...]
+<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
+<p>caller must ensure that the offsets in the iterator are less than the array len()</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_unary" class="method"><h4 class="code-header">pub fn <a href="#method.from_unary" class="fn">from_unary</a>&lt;T, F&gt;(left: T, op: F) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a><div class="where">where
+    T: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&lt;T as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primit [...]
+each element of the provided array</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+<span class="kw">let </span>r = BooleanArray::from_unary(<span class="kw-2">&amp;</span>array, |x| x &gt; <span class="number">2</span>);
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>r, <span class="kw-2">&amp;</span>BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>]));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_binary" class="method"><h4 class="code-header">pub fn <a href="#method.from_binary" class="fn">from_binary</a>&lt;T, S, F&gt;(left: T, right: S, op: F) -&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a><div class="where">where
+    T: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    S: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&lt;T as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>, &lt;S as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arr [...]
+each element of the provided arrays</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>a = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+<span class="kw">let </span>b = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">2</span>, <span class="number">5</span>]);
+<span class="kw">let </span>r = BooleanArray::from_binary(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>b, |a, b| a == b);
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>r, <span class="kw-2">&amp;</span>BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">true</span>, <span class="bool-val">true</span>, <span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>]));</code></pre></div>
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>This function panics if left and right are not the same length</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BooleanArray-1" class="impl"><a href="#impl-BooleanArray-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="c [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-BooleanArray" class="impl"><a href="#impl-Array-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> <a href="../trai [...]
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><s [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = Ptr&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BooleanArray" class="impl"><a href="#impl-Freeze-for-BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&'a BooleanArray>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\ [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.DictionaryArray.html b/arrow/array/array/struct.DictionaryArray.html
new file mode 100644
index 0000000000..69036e444f
--- /dev/null
+++ b/arrow/array/array/struct.DictionaryArray.html
@@ -0,0 +1,231 @@
+<!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="An array of dictionary encoded values"><title>DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a. [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    keys: <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    is_ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#dictionary-encoded-layout">dictionary encoded values</a></p>
+<p>This is mostly used to represent strings or a limited set of primitive types as integers,
+for example when doing NLP analysis or representing chromosomes by name.</p>
+<p><a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> are represented using a <code>keys</code> array and a
+<code>values</code> array, which may be different lengths. The <code>keys</code> array
+stores indexes in the <code>values</code> array which holds
+the corresponding logical value, as shown here:</p>
+<div class="example-wrap"><pre class="language-text"><code>┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
+  ┌─────────────────┐  ┌─────────┐ │     ┌─────────────────┐
+│ │        A        │  │    0    │       │        A        │     values[keys[0]]
+  ├─────────────────┤  ├─────────┤ │     ├─────────────────┤
+│ │        D        │  │    2    │       │        B        │     values[keys[1]]
+  ├─────────────────┤  ├─────────┤ │     ├─────────────────┤
+│ │        B        │  │    2    │       │        B        │     values[keys[2]]
+  └─────────────────┘  ├─────────┤ │     ├─────────────────┤
+│                      │    1    │       │        D        │     values[keys[3]]
+                       ├─────────┤ │     ├─────────────────┤
+│                      │    1    │       │        D        │     values[keys[4]]
+                       ├─────────┤ │     ├─────────────────┤
+│                      │    0    │       │        A        │     values[keys[5]]
+                       └─────────┘ │     └─────────────────┘
+│       values            keys
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
+                                            Logical array
+                                               Contents
+          DictionaryArray
+             length = 6</code></pre></div><h2 id="example-from-nullable-data"><a class="doc-anchor" href="#example-from-nullable-data">§</a>Example: From Nullable Data</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array : DictionaryArray&lt;Int8Type&gt; = test.iter().map(|<span class="kw-2">&amp;</span>x| <span class="kw">if </span>x == <span class="string">"b" </span>{<span class="prelude-val">None</span>} <span class="kw">else </span>{<span class="prelude-val">Some</span>(x)}).collect();
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int8Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">0</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">1</span>)]));</code></pre></div>
+<h2 id="example-from-non-nullable-data"><a class="doc-anchor" href="#example-from-non-nullable-data">§</a>Example: From Non-Nullable Data</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array : DictionaryArray&lt;Int8Type&gt; = test.into_iter().collect();
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int8Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));</code></pre></div>
+<h2 id="example-from-existing-arrays"><a class="doc-anchor" href="#example-from-existing-arrays">§</a>Example: From Existing Arrays</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// You can form your own DictionaryArray by providing the
+// values (dictionary) and keys (indexes into the dictionary):
+</span><span class="kw">let </span>values = StringArray::from_iter_values([<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]);
+<span class="kw">let </span>keys = Int8Array::from_iter_values([<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]);
+<span class="kw">let </span>array = DictionaryArray::&lt;Int8Type&gt;::try_new(keys, Arc::new(values)).unwrap();
+<span class="kw">let </span>expected: DictionaryArray::&lt;Int8Type&gt; = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>expected);</code></pre></div>
+<h2 id="example-using-builder"><a class="doc-anchor" href="#example-using-builder">§</a>Example: Using Builder</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = StringDictionaryBuilder::&lt;Int32Type&gt;::new();
+builder.append_value(<span class="string">"a"</span>);
+builder.append_null();
+builder.append_value(<span class="string">"a"</span>);
+builder.append_value(<span class="string">"b"</span>);
+<span class="kw">let </span>array = builder.finish();
+
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.downcast_dict::&lt;StringArray&gt;().unwrap().into_iter().collect();
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">Some</span>(<span class="string">"b"</span>)]);</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.keys" class="structfield section-header"><a href="#structfield.keys" class="anchor field">§ [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    keys: <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
+(indexes into the dictionary) and values (dictionary)
+array.</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.DictionaryArray.html#method.try_new" title="associated function arrow::array::DictionaryArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    keys: <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempt to create a new DictionaryArray with a specified keys
+(indexes into the dictionary) and values (dictionary)
+array.</p>
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Returns an error if any <code>keys[i] &gt;= values.len() || keys[i] &lt; 0</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>&lt;T&gt;(value: <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;T&gt;) -&gt; <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;<a class="struct" href="../struct.DictionaryArray.html" title="struc [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.Scalar.html" title="struct arrow::array::Scalar"><code>Scalar</code></a> from <code>value</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
+    keys: <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> without performing validation</p>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Safe provided <a href="../struct.DictionaryArray.html#method.try_new" title="associated function arrow::array::DictionaryArray::try_new"><code>Self::try_new</code></a> would not return an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait"  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;</h4></section></summary><div class="docblock"><p>Return an array view of the keys of this dictionary as a PrimitiveArray.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_key" class="method"><h4 class="code-header">pub fn <a href="#method.lookup_key" class="fn">lookup_key</a>(
+    &amp;self,
+    value: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;K as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;</h4></section></su [...]
+returns the corresponding key (index into the <code>values</code>
+array). Otherwise returns <code>None</code>.</p>
+<p>Panics if <code>values</code> is not a <a href="../type.StringArray.html" title="type arrow::array::StringArray"><code>StringArray</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>The length of the dictionary is the length of the keys array.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether this dictionary is empty</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_ordered" class="method"><h4 class="code-header">pub fn <a href="#method.is_ordered" class="fn">is_ordered</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Currently exists for compatibility purposes with Arrow IPC.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keys_iter" class="method"><h4 class="code-header">pub fn <a href="#method.keys_iter" class="fn">keys_iter</a>(&amp;self) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title= [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.key" class="method"><h4 class="code-header">pub fn <a href="#method.key" class="fn">key</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly [...]
+cast to <code>usize</code>, <code>None</code> if the value at <code>i</code> is <code>NULL</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow:: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.downcast_dict" class="method"><h4 class="code-header">pub fn <a href="#method.downcast_dict" class="fn">downcast_dict</a>&lt;V&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray">TypedDictio [...]
+    V: 'static,</div></h4></section></summary><div class="docblock"><p>Downcast this dictionary to a <a href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray"><code>TypedDictionaryArray</code></a></p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, ArrayAccessor, DictionaryArray, StringArray, types::Int32Type};
+
+<span class="kw">let </span>orig = [<span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">Some</span>(<span class="string">"b"</span>), <span class="prelude-val">None</span>];
+<span class="kw">let </span>dictionary = DictionaryArray::&lt;Int32Type&gt;::from_iter(orig);
+<span class="kw">let </span>typed = dictionary.downcast_dict::&lt;StringArray&gt;().unwrap();
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">0</span>), <span class="string">"a"</span>);
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">1</span>), <span class="string">"b"</span>);
+<span class="macro">assert!</span>(typed.is_null(<span class="number">2</span>));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_values" class="method"><h4 class="code-header">pub fn <a href="#method.with_values" class="fn">with_values</a>(&amp;self, values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;) -&gt; <a class="struct" href="../struct.Dic [...]
+but with a different set of dictionary values</p>
+<p>This can be used to perform an operation on the values of a dictionary</p>
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if <code>values</code> has a length less than the current values</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="comment">// Construct a Dict(Int32, Int8)
+</span><span class="kw">let </span><span class="kw-2">mut </span>builder = PrimitiveDictionaryBuilder::&lt;Int32Type, Int8Type&gt;::with_capacity(<span class="number">2</span>, <span class="number">200</span>);
+<span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..<span class="number">100 </span>{
+    builder.append(i % <span class="number">2</span>).unwrap();
+}
+
+<span class="kw">let </span>dictionary = builder.finish();
+
+<span class="comment">// Perform a widening cast of dictionary values
+</span><span class="kw">let </span>typed_dictionary = dictionary.downcast_dict::&lt;Int8Array&gt;().unwrap();
+<span class="kw">let </span>values: Int64Array = typed_dictionary.values().unary(|x| x <span class="kw">as </span>i64);
+
+<span class="comment">// Create a Dict(Int32,
+</span><span class="kw">let </span>new = dictionary.with_values(Arc::new(values));
+
+<span class="comment">// Verify values are as expected
+</span><span class="kw">let </span>new_typed = new.downcast_dict::&lt;Int64Array&gt;().unwrap();
+<span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..<span class="number">100 </span>{
+    <span class="macro">assert_eq!</span>(new_typed.value(i), (i % <span class="number">2</span>) <span class="kw">as </span>i64)
+}</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_primitive_dict_builder" class="method"><h4 class="code-header">pub fn <a href="#method.into_primitive_dict_builder" class="fn">into_primitive_dict_builder</a>&lt;V&gt;(
+    self,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../builder/struct.PrimitiveDictionaryBuilder.html" title="struct arrow::array::builder::PrimitiveDictionaryBuilder">PrimitiveDictionaryBuilder</a>&lt;K, V&gt;, <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;&gt;<div class="where">where
+    V: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h4></section></summary><div class="docblock"><p>Returns <code>PrimitiveDictionaryBuilder</code> of this dictionary array for mutating
+its keys and values if the underlying data buffer is not shared by others.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unary_mut" class="method"><h4 class="code-header">pub fn <a href="#method.unary_mut" class="fn">unary_mut</a>&lt;F, V&gt;(
+    self,
+    op: F,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;, <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;&gt;<div class="where">where
+    V: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;V as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; &lt;V as <a cla [...]
+Mutable dictionary array means that the buffers are not shared with other arrays.
+As a result, this mutates the buffers directly without allocating new buffers.</p>
+<h5 id="implementation"><a class="doc-anchor" href="#implementation">§</a>Implementation</h5>
+<p>This will apply the function for all dictionary values, including those on null slots.
+This implies that the operation must be infallible for any value of the corresponding type
+or this function may panic.</p>
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>values = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">10</span>), <span class="prelude-val">Some</span>(<span class="number">20</span>), <span class="prelude-val">None</span>]);
+<span class="kw">let </span>keys = Int8Array::from_iter_values([<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]);
+<span class="kw">let </span>dictionary = DictionaryArray::&lt;Int8Type&gt;::try_new(keys, Arc::new(values)).unwrap();
+<span class="kw">let </span>c = dictionary.unary_mut::&lt;<span class="kw">_</span>, Int32Type&gt;(|x| x + <span class="number">1</span>).unwrap();
+<span class="kw">let </span>typed = c.downcast_dict::&lt;Int32Array&gt;().unwrap();
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">0</span>), <span class="number">11</span>);
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">1</span>), <span class="number">11</span>);
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">2</span>), <span class="number">21</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.occupancy" class="method"><h4 class="code-header">pub fn <a href="#method.occupancy" class="fn">occupancy</a>(&amp;self) -&gt; <a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a></h4></section></summary><div class="docblock"><p>Computes an occupancy mask for this dictionary’s values</p>
+<p>For each value in <a href="../struct.DictionaryArray.html#method.values" title="method arrow::array::DictionaryArray::values"><code>Self::values</code></a> the corresponding bit will be set in the
+returned mask if it is referenced by a key in this <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a></p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="impl"><a href="#impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K&gt; <a class="trait" href="../tr [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.keys-1" class="method trait-impl"><a href="#method.keys-1" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.AnyDictionaryArray.html#tymethod.keys" class="fn">keys</a>(&amp;self) -&gt; &a [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn < [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn"> [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>( [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>DictionaryArray</code> from an array data reference.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a>) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="st [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>DictionaryArray</code> from an iterator of strings.</p>
+<h4 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example:</h4>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{DictionaryArray, PrimitiveArray, StringArray, types::Int8Type};
+
+<span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array: DictionaryArray&lt;Int8Type&gt; = test.into_iter().collect();
+<span class="macro">assert_eq!</span>(
+    <span class="string">"DictionaryArray {keys: PrimitiveArray&lt;Int8&gt;\n[\n  0,\n  0,\n  1,\n  2,\n] values: StringArray\n[\n  \"a\",\n  \"b\",\n  \"c\",\n]}\n"</span>,
+    <span class="macro">format!</span>(<span class="string">"{:?}"</span>, array)
+);</code></pre></div>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a href="#method.from_iter-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a>&lt;I&gt;(iter: I) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryAr [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.fr [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>DictionaryArray</code> from an iterator of optional strings.</p>
+<h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{DictionaryArray, PrimitiveArray, StringArray, types::Int8Type};
+
+<span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array: DictionaryArray&lt;Int8Type&gt; = test
+    .iter()
+    .map(|<span class="kw-2">&amp;</span>x| <span class="kw">if </span>x == <span class="string">"b" </span>{ <span class="prelude-val">None </span>} <span class="kw">else </span>{ <span class="prelude-val">Some</span>(x) })
+    .collect();
+<span class="macro">assert_eq!</span>(
+    <span class="string">"DictionaryArray {keys: PrimitiveArray&lt;Int8&gt;\n[\n  0,\n  0,\n  null,\n  1,\n] values: StringArray\n[\n  \"a\",\n  \"c\",\n]}\n"</span>,
+    <span class="macro">format!</span>(<span class="string">"{:?}"</span>, array)
+);</code></pre></div>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a href="#method.from_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a>&lt;I&gt;(iter: I) -&gt; <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray< [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;,</div></h4></section></summary><div class='docblock' [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>( [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-DictionaryArray%3CK%3E" class="impl"><a href="#impl-Freeze-for-DictionaryArray%3CK%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K&gt; <a class="trait" href="https://doc.rust [...]
+    &lt;K as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><sectio [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.FixedSizeBinaryArray.html b/arrow/array/array/struct.FixedSizeBinaryArray.html
new file mode 100644
index 0000000000..22ff6c1a75
--- /dev/null
+++ b/arrow/array/array/struct.FixedSizeBinaryArray.html
@@ -0,0 +1,157 @@
+<!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="An array of fixed size binary arrays"><title>FixedSizeBinaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3 [...]
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    value_data: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">fixed size binary arrays</a></p>
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Create an array from an iterable argument of byte slices.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>   <span class="kw">use </span>arrow_array::{Array, FixedSizeBinaryArray};
+   <span class="kw">let </span>input_arg = <span class="macro">vec!</span>[ <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>], <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">4</span>], <span class="macro">vec!</span>[<span class="number">5</span>, <span class="number">6</span>] ];
+   <span class="kw">let </span>arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap();
+
+   <span class="macro">assert_eq!</span>(<span class="number">3</span>, arr.len());
+</code></pre></div>
+<p>Create an array from an iterable argument of sparse byte slices.
+Sparsity means that the input argument can contain <code>None</code> items.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>   <span class="kw">use </span>arrow_array::{Array, FixedSizeBinaryArray};
+   <span class="kw">let </span>input_arg = <span class="macro">vec!</span>[ <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">7</span>, <span class="number">8</span>]), <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">9</span>, <span class="number">10</span>]), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="macro">vec!</span> [...]
+   <span class="kw">let </span>arr = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();
+   <span class="macro">assert_eq!</span>(<span class="number">5</span>, arr.len())
+</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.value_data" class="structfield section-header"><a href="#structfield.value_data" class="anc [...]
+    size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+    values: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray"><code>FixedSizeBinaryArray</code></a> with <code>size</code> element size, panicking on failure</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.FixedSizeBinaryArray.html#method.try_new" title="associated function arrow::array::FixedSizeBinaryArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;) -&gt; <a class="struct" href="../struct.Scala [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+    values: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.FixedSizeBinaryArra [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<ul>
+<li><code>size &lt; 0</code></li>
+<li><code>values.len() / size != nulls.len()</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array: [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if</p>
+<ul>
+<li><code>size &lt; 0</code></li>
+<li><code>size * len</code> would overflow <code>usize</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Optio [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div [...]
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8 [...]
+<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><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Returns the offset for th [...]
+<p>Note this doesn’t do any bound checking, for performance reason.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Returns the length for an element.</p>
+<p>All elements have the same length as the array is a fixed size.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a></h4></section></summary><div class="docblock"><p>Returns the values of this array.</p>
+<p>Unlike <a href="../struct.FixedSizeBinaryArray.html#method.value_data" title="method arrow::array::FixedSizeBinaryArray::value_data"><code>Self::value_data</code></a> this returns the <a href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer"><code>Buffer</code></a>
+allowing for zero-copy cloning.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_data" class="method"><h4 class="code-header">pub fn <a href="#method.value_data" class="fn">value_data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the raw value data.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter" class="method"><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter" class="fn">try_from_sparse_iter</a>&lt;T, U&gt;(
+    iter: T,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: This function will fail if the iterator produces only None values; prefer <code>try_from_sparse_iter_with_size</code></span></div></ [...]
+Sparsity means that items returned by the iterator are optional, i.e input argument can
+contain <code>None</code> items.</p>
+<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::FixedSizeBinaryArray;
+<span class="kw">let </span>input_arg = <span class="macro">vec!</span>[
+    <span class="prelude-val">None</span>,
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">7</span>, <span class="number">8</span>]),
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">9</span>, <span class="number">10</span>]),
+    <span class="prelude-val">None</span>,
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">13</span>, <span class="number">14</span>]),
+    <span class="prelude-val">None</span>,
+];
+<span class="kw">let </span>array = FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap();</code></pre></div>
+<h5 id="errors-1"><a class="doc-anchor" href="#errors-1">§</a>Errors</h5>
+<p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_sparse_iter_with_size" class="method"><h4 class="code-header">pub fn <a href="#method.try_from_sparse_iter_with_size" class="fn">try_from_sparse_iter_with_size</a>&lt;T, U&gt;(
+    iter: T,
+    size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;U&gt;&gt;,
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of sparse byte slices.
+Sparsity means that items returned by the iterator are optional, i.e input argument can
+contain <code>None</code> items. In cases where the iterator returns only <code>None</code> values, this
+also takes a size parameter to ensure that the a valid FixedSizeBinaryArray is still
+created.</p>
+<h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::FixedSizeBinaryArray;
+<span class="kw">let </span>input_arg = <span class="macro">vec!</span>[
+    <span class="prelude-val">None</span>,
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">7</span>, <span class="number">8</span>]),
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">9</span>, <span class="number">10</span>]),
+    <span class="prelude-val">None</span>,
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">13</span>, <span class="number">14</span>]),
+    <span class="prelude-val">None</span>,
+];
+<span class="kw">let </span>array = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), <span class="number">2</span>).unwrap();</code></pre></div>
+<h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
+<p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_iter" class="method"><h4 class="code-header">pub fn <a href="#method.try_from_iter" class="fn">try_from_iter</a>&lt;T, U&gt;(iter: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeB [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = U&gt;,
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,</div></h4></section></summary><div class="docblock"><p>Create an array from an iterable argument of byte slices.</p>
+<h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::FixedSizeBinaryArray;
+<span class="kw">let </span>input_arg = <span class="macro">vec!</span>[
+    <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>],
+    <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">4</span>],
+    <span class="macro">vec!</span>[<span class="number">5</span>, <span class="number">6</span>],
+];
+<span class="kw">let </span>array = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap();</code></pre></div>
+<h5 id="errors-3"><a class="doc-anchor" href="#errors-3">§</a>Errors</h5>
+<p>Returns error if argument has length zero, or sizes of nested slices don’t match.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a>&gt; <a href="#" class="too [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeBinaryArray" class="impl"><a href="#impl-Array-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::arr [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <cod [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.FixedSizeBinaryArray.html" title="struct arrow::array::FixedSizeBinaryArray">FixedSizeBinaryArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <cod [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a>) -&gt; <a class="struct" href="../struct.Fix [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeBinaryArray" class="impl"><a href="#impl-Freeze-for-FixedSizeBinaryArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nig [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title= [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.FixedSizeListArray.html b/arrow/array/array/struct.FixedSizeListArray.html
new file mode 100644
index 0000000000..d270e052be
--- /dev/null
+++ b/arrow/array/array/struct.FixedSizeListArray.html
@@ -0,0 +1,159 @@
+<!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="An array of [fixed length lists], similar to JSON arrays (e.g. `[&#34;A&#34;, &#34;B&#34;]`)."><title>FixedSizeListArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff [...]
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    value_length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of [fixed length lists], similar to JSON arrays
+(e.g. <code>["A", "B"]</code>).</p>
+<p>Lists are represented using a <code>values</code> child
+array where each list has a fixed size of <code>value_length</code>.</p>
+<p>Use <a href="../builder/struct.FixedSizeListBuilder.html" title="struct arrow::array::builder::FixedSizeListBuilder"><code>FixedSizeListBuilder</code></a> to construct a <a href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray"><code>FixedSizeListArray</code></a>.</p>
+<h2 id="representation"><a class="doc-anchor" href="#representation">§</a>Representation</h2>
+<p>A <a href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray"><code>FixedSizeListArray</code></a> can represent a list of values of any other
+supported Arrow type. Each element of the <code>FixedSizeListArray</code> itself is
+a list which may contain NULL and non-null values,
+or may itself be NULL.</p>
+<p>For example, this <code>FixedSizeListArray</code> stores lists of strings:</p>
+<div class="example-wrap"><pre class="language-text"><code>┌─────────────┐
+│    [A,B]    │
+├─────────────┤
+│    NULL     │
+├─────────────┤
+│   [C,NULL]  │
+└─────────────┘</code></pre></div>
+<p>The <code>values</code> of this <code>FixedSizeListArray</code>s are stored in a child
+<a href="../type.StringArray.html" title="type arrow::array::StringArray"><code>StringArray</code></a> where logical null values take up <code>values_length</code> slots in the array
+as shown in the following diagram. The logical values
+are shown on the left, and the actual <code>FixedSizeListArray</code> encoding on the right</p>
+<div class="example-wrap"><pre class="language-text"><code>                                ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
+                                                        ┌ ─ ─ ─ ─ ─ ─ ─ ─┐
+ ┌─────────────┐                │     ┌───┐               ┌───┐ ┌──────┐      │
+ │   [A,B]     │                      │ 1 │             │ │ 1 │ │  A   │ │ 0
+ ├─────────────┤                │     ├───┤               ├───┤ ├──────┤      │
+ │    NULL     │                      │ 0 │             │ │ 1 │ │  B   │ │ 1
+ ├─────────────┤                │     ├───┤               ├───┤ ├──────┤      │
+ │  [C,NULL]   │                      │ 1 │             │ │ 0 │ │ ???? │ │ 2
+ └─────────────┘                │     └───┘               ├───┤ ├──────┤      │
+                                                        | │ 0 │ │ ???? │ │ 3
+ Logical Values                 │   Validity              ├───┤ ├──────┤      │
+                                    (nulls)             │ │ 1 │ │  C   │ │ 4
+                                │                         ├───┤ ├──────┤      │
+                                                        │ │ 0 │ │ ???? │ │ 5
+                                │                         └───┘ └──────┘      │
+                                                        │     Values     │
+                                │   FixedSizeListArray        (Array)         │
+                                                        └ ─ ─ ─ ─ ─ ─ ─ ─┘
+                                └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘</code></pre></div><h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Construct a value array
+</span><span class="kw">let </span>value_data = ArrayData::builder(DataType::Int32)
+    .len(<span class="number">9</span>)
+    .add_buffer(Buffer::from_slice_ref(<span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>]))
+    .build()
+    .unwrap();
+<span class="kw">let </span>list_data_type = DataType::FixedSizeList(
+    Arc::new(Field::new(<span class="string">"item"</span>, DataType::Int32, <span class="bool-val">false</span>)),
+    <span class="number">3</span>,
+);
+<span class="kw">let </span>list_data = ArrayData::builder(list_data_type.clone())
+    .len(<span class="number">3</span>)
+    .add_child_data(value_data.clone())
+    .build()
+    .unwrap();
+<span class="kw">let </span>list_array = FixedSizeListArray::from(list_data);
+<span class="kw">let </span>list0 = list_array.value(<span class="number">0</span>);
+<span class="kw">let </span>list1 = list_array.value(<span class="number">1</span>);
+<span class="kw">let </span>list2 = list_array.value(<span class="number">2</span>);
+
+<span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>], list0.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());
+<span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>], list1.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());
+<span class="macro">assert_eq!</span>( <span class="kw-2">&amp;</span>[<span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>], list2.as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().values());</code></pre></div>
+<p><a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-list-layout">fixed size arrays</a></p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor fiel [...]
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray"><code>FixedSizeListArray</code></a> with <code>size</code> element size, panicking on failure</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.FixedSizeListArray.html#method.try_new" title="associated function arrow::array::FixedSizeListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.FixedSizeListArray.html"  [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<ul>
+<li><code>size &lt; 0</code></li>
+<li><code>values.len() / size != nulls.len()</code></li>
+<li><code>values.data_type() != field.data_type()</code></li>
+<li><code>!field.is_nullable() &amp;&amp; !nulls.expand(size).contains(values.logical_nulls())</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, size: <a class="primitive" href="https://doc.rus [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if</p>
+<ul>
+<li><code>size &lt; 0</code></li>
+<li><code>size * len</code> would overflow <code>usize</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, <a class="primitive" href="https://d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trai [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Returns the offset for va [...]
+<p>Note this doesn’t do any bound checking, for performance reason.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><h4 class="code-header">pub const fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Returns the length for an element.</p>
+<p>All elements have the same length as the array is a fixed size.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow:: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_primitive" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_primitive" class="fn">from_iter_primitive</a>&lt;T, P, I&gt;(iter: I, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) -&gt; <a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a><di [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a  [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;P&gt;&gt;,</div></h4></section></summary><div class="docblock"><p>Creates a <a href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeList [...]
+<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>data = <span class="macro">vec!</span>[
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>)]),
+   <span class="prelude-val">None</span>,
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">3</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">5</span>)]),
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">Some</span>(<span class="number">45</span>)]),
+];
+<span class="kw">let </span>list_array = FixedSizeListArray::from_iter_primitive::&lt;Int32Type, <span class="kw">_</span>, <span class="kw">_</span>&gt;(data, <span class="number">3</span>);
+<span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a>&gt; <a href="#" class="tooltip"  [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-FixedSizeListArray" class="impl"><a href="#impl-Array-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array:: [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;<a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> <a  [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="../struct.FixedSizeListArray.html" title="struct arrow::array::FixedSizeListArray">FixedSizeListArray</a>) -&gt; <a class="struct" href="../struct.FixedSi [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(value: <a class="s [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(value: <a class="s [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-FixedSizeListArray" class="impl"><a href="#impl-Freeze-for-FixedSizeListArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&FixedSizeListArray>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" hre [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.GenericByteArray.html b/arrow/array/array/struct.GenericByteArray.html
new file mode 100644
index 0000000000..9388f16e0a
--- /dev/null
+++ b/arrow/array/array/struct.GenericByteArray.html
@@ -0,0 +1,210 @@
+<!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="An array of variable length byte arrays"><title>GenericByteArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    value_offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
+    value_data: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">variable length byte arrays</a></p>
+<p>See <a href="../type.StringArray.html" title="type arrow::array::StringArray"><code>StringArray</code></a> and <a href="../type.LargeStringArray.html" title="type arrow::array::LargeStringArray"><code>LargeStringArray</code></a> for storing utf8 encoded string data</p>
+<p>See <a href="../type.BinaryArray.html" title="type arrow::array::BinaryArray"><code>BinaryArray</code></a> and <a href="../type.LargeBinaryArray.html" title="type arrow::array::LargeBinaryArray"><code>LargeBinaryArray</code></a> for storing arbitrary bytes</p>
+<h2 id="example-from-a-vec"><a class="doc-anchor" href="#example-from-a-vec">§</a>Example: From a Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: GenericByteArray&lt;Utf8Type&gt; = <span class="macro">vec!</span>[<span class="string">"hello"</span>, <span class="string">"world"</span>, <span class="string">""</span>].into();
+<span class="macro">assert_eq!</span>(arr.value_data(), <span class="string">b"helloworld"</span>);
+<span class="macro">assert_eq!</span>(arr.value_offsets(), <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">5</span>, <span class="number">10</span>, <span class="number">10</span>]);
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = arr.iter().collect();
+<span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">Some</span>(<span class="string">"world"</span>), <span class="prelude-val">Some</span>(<span class="string">""</span>)]);</code></pre></div>
+<h2 id="example-from-an-optional-vec"><a class="doc-anchor" href="#example-from-an-optional-vec">§</a>Example: From an optional Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: GenericByteArray&lt;Utf8Type&gt; = <span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">Some</span>(<span class="string">"world"</span>), <span class="prelude-val">Some</span>(<span class="string">""</span>), <span class="prelude-val">None</span>].into();
+<span class="macro">assert_eq!</span>(arr.value_data(), <span class="string">b"helloworld"</span>);
+<span class="macro">assert_eq!</span>(arr.value_offsets(), <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">5</span>, <span class="number">10</span>, <span class="number">10</span>, <span class="number">10</span>]);
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = arr.iter().collect();
+<span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">Some</span>(<span class="string">"world"</span>), <span class="prelude-val">Some</span>(<span class="string">""</span>), <span class="prelude-val">None</span>]);</code></pre></div>
+<h2 id="example-from-an-iterator-of-option"><a class="doc-anchor" href="#example-from-an-iterator-of-option">§</a>Example: From an iterator of option</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: GenericByteArray&lt;Utf8Type&gt; = (<span class="number">0</span>..<span class="number">5</span>).map(|x| (x % <span class="number">2 </span>== <span class="number">0</span>).then(|| x.to_string())).collect();
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = arr.iter().collect();
+<span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"0"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"2"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"4"</span>)]);</code></pre></div>
+<h2 id="example-using-builder"><a class="doc-anchor" href="#example-using-builder">§</a>Example: Using Builder</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = GenericByteBuilder::&lt;Utf8Type&gt;::new();
+builder.append_value(<span class="string">"hello"</span>);
+builder.append_null();
+builder.append_value(<span class="string">"world"</span>);
+<span class="kw">let </span>array = builder.finish();
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = array.iter().collect();
+<span class="macro">assert_eq!</span>(values, <span class="kw-2">&amp;</span>[<span class="prelude-val">Some</span>(<span class="string">"hello"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"world"</span>)]);</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.value_offsets" class="structfield section-header"><a href="#structfield.value_offsets" clas [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_data_type" class="method"><h4 class="code-header">pub const fn <a href="#method.get_data_type" class="fn">get_data_type</a>() -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataTyp [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(
+    v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class="docblock"><p>Creates a <a href="../type.GenericBinaryArray.html" title="type arrow::array::GenericBinaryArray">GenericBinaryArray</a> from a vector of byte [...]
+<p>See also <a href="../struct.GenericByteArray.html#method.from_iter_values" title="associated function arrow::array::GenericByteArray::from_iter_values"><code>Self::from_iter_values</code></a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(
+    v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class="docblock"><p>Creates a <a href="../type.GenericBinaryArray.html" title="type arrow::array::GenericBinaryArray">GenericBinaryArray</a> from a vector of Opti [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter" class="method"><h4 class="code-header">pub fn <a href="#method.take_iter" class="fn">take_iter</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.take_iter_unchecked" class="fn">take_iter_unchecked</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CT%3E" class="impl"><a href="#impl-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
+    values: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> from the provided parts, panicking on failure</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.GenericByteArray.html#method.try_new" title="associated function arrow::array::GenericByteArray::try_new"><code>GenericByteArray::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
+    values: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByteArray.html" [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<ul>
+<li><code>offsets.len() - 1 != nulls.len()</code></li>
+<li>Any consecutive pair of <code>offsets</code> does not denote a valid slice of <code>values</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
+    values: <a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> from the provided parts, without validation</p>
+<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
+<p>Safe if <a href="../struct.GenericByteArray.html#method.try_new" title="associated function arrow::array::GenericByteArray::try_new"><code>Self::try_new</code></a> would not error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(
+    value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt;,
+) -&gt; <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.Scalar.html" title="struct arrow::array::Scalar"><code>Scalar</code></a> from <code>v</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_values" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_values" class="fn">from_iter_values</a>&lt;Ptr, I&gt;(iter: I) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;<div class="where">where
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt;,
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = Ptr&gt;,</div></h4></section></summary><div class="docblock"><p>Creates a <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> based on an iterator of values without nulls</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;, <a class="struct" href="../../buffer/struct.Buffe [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class= [...]
+<p>Unlike <a href="../struct.GenericByteArray.html#method.value_offsets" title="method arrow::array::GenericByteArray::value_offsets"><code>Self::value_offsets</code></a> this returns the <a href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer"><code>OffsetBuffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a></h4></section></summary><div class="docblock"><p>Returns the values of this array</p>
+<p>Unlike <a href="../struct.GenericByteArray.html#method.value_data" title="method arrow::array::GenericByteArray::value_data"><code>Self::value_data</code></a> this returns the <a href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer"><code>Buffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_data" class="method"><h4 class="code-header">pub fn <a href="#method.value_data" class="fn">value_data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the raw value data</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_ascii" class="method"><h4 class="code-header">pub fn <a href="#method.is_ascii" class="fn">is_ascii</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if all data within this array is ASCII</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;[&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a  [...]
+<h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
+<p>Caller is responsible for ensuring that the index is within the bounds of the array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../da [...]
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt;&gt; <a href="#" class="toolti [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_builder" class="method"><h4 class="code-header">pub fn <a href="#method.into_builder" class="fn">into_builder</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../builder/struct.GenericByteBuilder.html" title="struct arrow::array::builder::GenericByteBuilder">GenericByteBuil [...]
+offset and data buffers are not shared by others.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a href="#impl-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.G [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_data_type-1" class="method"><h4 class="code-header">pub const fn <a href="#method.get_data_type-1" class="fn">get_data_type</a>() -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::Dat [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.num_chars" class="method"><h4 class="code-header">pub fn <a href="#method.num_chars" class="fn">num_chars</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of <code>Un [...]
+<h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
+<p>This function has <code>O(n)</code> time complexity where <code>n</code> is the string length.
+If you can make sure that all chars in the string are in the range <code>U+0x0000</code> ~ <code>U+0x007F</code>,
+please use the function <a href="#method.value_length"><code>value_length</code></a> which has O(1) time complexity.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter-1" class="method"><h4 class="code-header">pub fn <a href="#method.take_iter-1" class="fn">take_iter</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter_unchecked-1" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.take_iter_unchecked-1" class="fn">take_iter_unchecked</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+<h5 id="safety-3"><a class="doc-anchor" href="#safety-3">§</a>Safety</h5>
+<p>caller must ensure that the indexes in the iterator are less than the <code>array.len()</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from_binary" class="method"><h4 class="code-header">pub fn <a href="#method.try_from_binary" class="fn">try_from_binary</a>(
+    v: <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;, <a class="enum" href="../../error/enum.ArrowError.html"  [...]
+an error if <a href="../type.GenericBinaryArray.html" title="type arrow::array::GenericBinaryArray"><code>GenericBinaryArray</code></a> contains invalid UTF-8 data</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteArray%3CT%3E" class="impl"><a href="#impl-Array-for-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="t [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="../trait.ArrayAccessor.html#associatedtype.Item" class="associatedtype">Item</a> = &amp;'a &lt;T as <a cla [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;T&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt;  [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a c [...]
+    FROM: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,
+    &lt;FROM as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a> + <a class="trait" href="https://docs.rs/num-traits/0.2/num_tra [...]
+    V: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&lt;Native = &lt;FROM as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt;,</div></h3></section></summary><div c [...]
+If the offsets are all less than u32::MAX, then we directly build the view array on top of existing buffer.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl"><a href="#method.from-12" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(byte_array: &amp;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;FROM&gt;) -&gt; <a class="struc [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class=" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    v: <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    value: <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array: <a class= [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    v: <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    T: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href=" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struc [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struc [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struc [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a href="#method.from-11" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="str [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt; + 'a,</div></h3></section></summary><div [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &amp;'a <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Ptr&gt;&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/t [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt;,</div></h3></section></summary><div clas [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Ptr&gt;&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/co [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-1" class="method trait-impl"><a href="#method.eq-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a [...]
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="impl"><a href="#impl-PartialEq-for-GenericByteArray%3CGenericStringType%3COffsetSize%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a cla [...]
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-StringArrayType%3C'a%3E-for-%26GenericByteArray%3CGenericStringType%3CO%3E%3E" class="impl"><a href="#impl-StringArrayType%3C'a%3E-for-%26GenericByteArray%3CGenericStringType%3CO%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, O&gt; <a class="trait" href="../../compute/kernels/comparison/trait.StringArrayType.html [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.is_ascii-1" class="method trait-impl"><a href="#method.is_ascii-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../compute/kernels/comparison/trait.StringArrayType.html#tymethod.is_ascii" class="fn">is_ascii</a>(&amp;self) -&g [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div> [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></se [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title= [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.GenericByteViewArray.html b/arrow/array/array/struct.GenericByteViewArray.html
new file mode 100644
index 0000000000..d1de86a6f1
--- /dev/null
+++ b/arrow/array/array/struct.GenericByteViewArray.html
@@ -0,0 +1,269 @@
+<!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="Variable-size Binary View Layout: An array of variable length bytes view arrays."><title>GenericByteViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans- [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    views: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
+    buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>&gt;,
+    phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;T&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-view-layout">Variable-size Binary View Layout</a>: An array of variable length bytes view arrays.</p>
+<p>This is different from <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> as it stores both an offset and
+length meaning that take / filter operations can be implemented without
+copying the underlying data. In addition, it stores an inlined prefix which
+can be used to speed up comparisons.</p>
+<h2 id="see-also"><a class="doc-anchor" href="#see-also">§</a>See Also</h2>
+<ul>
+<li><a href="../type.StringViewArray.html" title="type arrow::array::StringViewArray"><code>StringViewArray</code></a> for storing utf8 encoded string data</li>
+<li><a href="../type.BinaryViewArray.html" title="type arrow::array::BinaryViewArray"><code>BinaryViewArray</code></a> for storing bytes</li>
+<li><a href="../struct.ByteView.html" title="struct arrow::array::ByteView"><code>ByteView</code></a> to interpret <code>u128</code>s layout of the views.</li>
+</ul>
+<h2 id="notes"><a class="doc-anchor" href="#notes">§</a>Notes</h2>
+<p>Comparing two <code>GenericByteViewArray</code> using PartialEq compares by structure,
+not by value. as there are many different buffer layouts to represent the
+same data (e.g. different offsets, different buffer sizes, etc).</p>
+<h2 id="layout-views-and-buffers"><a class="doc-anchor" href="#layout-views-and-buffers">§</a>Layout: “views” and buffers</h2>
+<p>A <code>GenericByteViewArray</code> stores variable length byte strings. An array of
+<code>N</code> elements is stored as <code>N</code> fixed length “views” and a variable number
+of variable length “buffers”.</p>
+<p>Each view is a <code>u128</code> value whose layout is different depending on the
+length of the string stored at that location:</p>
+<div class="example-wrap"><pre class="language-text"><code>                        ┌──────┬────────────────────────┐
+                        │length│      string value      │
+   Strings (len &lt;= 12)  │      │    (padded with 0)     │
+                        └──────┴────────────────────────┘
+                         0    31                      127
+
+                        ┌───────┬───────┬───────┬───────┐
+                        │length │prefix │  buf  │offset │
+   Strings (len &gt; 12)   │       │       │ index │       │
+                        └───────┴───────┴───────┴───────┘
+                         0    31       63      95    127</code></pre></div>
+<ul>
+<li>
+<p>Strings with length &lt;= 12 are stored directly in the view. See
+<a href="../struct.GenericByteViewArray.html#method.inline_value" title="associated function arrow::array::GenericByteViewArray::inline_value"><code>Self::inline_value</code></a> to access the inlined prefix from a short view.</p>
+</li>
+<li>
+<p>Strings with length &gt; 12: The first four bytes are stored inline in the
+view and the entire string is stored in one of the buffers. See <a href="../struct.ByteView.html" title="struct arrow::array::ByteView"><code>ByteView</code></a>
+to access the fields of the these views.</p>
+</li>
+</ul>
+<p>Unlike <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a>, there are no constraints on the offsets other
+than they must point into a valid buffer. However, they can be out of order,
+non continuous and overlapping.</p>
+<p>For example, in the following diagram, the strings “FishWasInTownToday” and
+“CrumpleFacedFish” are both longer than 12 bytes and thus are stored in a
+separate buffer while the string “LavaMonster” is stored inlined in the
+view. In this case, the same bytes for “Fish” are used to store both strings.</p>
+<div class="example-wrap"><pre class="language-text"><code>                                                                           ┌───┐
+                        ┌──────┬──────┬──────┬──────┐               offset │...│
+&quot;FishWasInTownTodayYay&quot; │  21  │ Fish │  0   │ 115  │─ ─              103  │Mr.│
+                        └──────┴──────┴──────┴──────┘   │      ┌ ─ ─ ─ ─ ▶ │Cru│
+                        ┌──────┬──────┬──────┬──────┐                      │mpl│
+&quot;CrumpleFacedFish&quot;      │  16  │ Crum │  0   │ 103  │─ ─│─ ─ ─ ┘           │eFa│
+                        └──────┴──────┴──────┴──────┘                      │ced│
+                        ┌──────┬────────────────────┐   └ ─ ─ ─ ─ ─ ─ ─ ─ ▶│Fis│
+&quot;LavaMonster&quot;           │  11  │   LavaMonster\0    │                      │hWa│
+                        └──────┴────────────────────┘               offset │sIn│
+                                                                      115  │Tow│
+                                                                           │nTo│
+                                                                           │day│
+                                 u128 &quot;views&quot;                              │Yay│
+                                                                  buffer 0 │...│
+                                                                           └───┘</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="stru [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    views: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
+    buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> from the provided parts, panicking on failure</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.GenericByteViewArray.html#method.try_new" title="associated function arrow::array::GenericByteViewArray::try_new"><code>GenericByteViewArray::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    views: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
+    buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByt [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<ul>
+<li><code>views.len() != nulls.len()</code></li>
+<li><a href="../../datatypes/trait.ByteViewType.html#tymethod.validate" title="associated function arrow::datatypes::ByteViewType::validate">ByteViewType::validate</a> fails</li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
+    views: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;,
+    buffers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> from the provided parts, without validation</p>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Safe if <a href="../struct.GenericByteViewArray.html#method.try_new" title="associated function arrow::array::GenericByteViewArray::try_new"><code>Self::try_new</code></a> would not error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;</h4></section></summary><div class="docbloc [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(
+    value: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteViewType.html#associatedtype.Native" title="type arrow::datatypes::ByteViewType::Native">Native</a>&gt;,
+) -&gt; <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.Scalar.html" title="struct arrow::array::Scalar"><code>Scalar</code></a> from <code>value</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_values" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_values" class="fn">from_iter_values</a>&lt;Ptr, I&gt;(iter: I) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;<div class="where">where
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteViewType.html#associatedtype.Native" title="type arrow::datatypes::ByteViewType::Native">Native</a>&gt;,
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = Ptr&gt;,</div></h4></section></summary><div class="docblock"><p>Creates a <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> based on an iterator of values without nulls</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;, <a class="struct" href="https://doc.rust-lang.org/ni [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.views" class="method"><h4 class="code-header">pub fn <a href="#method.views" class="fn">views</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>&gt;</h4></section></summary><div class="docblock"><p>Returns th [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.data_buffers" class="method"><h4 class="code-header">pub fn <a href="#method.data_buffers" class="fn">data_buffers</a>(&amp;self) -&gt; &amp;[<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>]</h4></section></summary><div class="docblock"><p>Returns the buffers storing string data</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a class="associatedtype" href="../../datat [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a c [...]
+<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
+<p>Caller is responsible for ensuring that the index is within the bounds
+of the array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inline_value" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.inline_value" class="fn">inline_value</a>(view: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nig [...]
+<h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
+<ul>
+<li>The <code>view</code> must be a valid element from <code>Self::views()</code> that adheres to the view layout.</li>
+<li>The <code>len</code> must be the length of the inlined value. It should never be larger than 12.</li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;&gt; <a href="#" c [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.bytes_iter" class="method"><h4 class="code-header">pub fn <a href="#method.bytes_iter" class="fn">bytes_iter</a>(&amp;self) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.prefix_bytes_iter" class="method"><h4 class="code-header">pub fn <a href="#method.prefix_bytes_iter" class="fn">prefix_bytes_iter</a>(
+    &amp;self,
+    prefix_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;</h4></section></summary><div class="docblock"><p>Returns an iterator over the first <code>prefix_len</code> bytes of each array
+element, including null values.</p>
+<p>If <code>prefix_len</code> is larger than the element’s length, the iterator will
+return an empty slice (<code>&amp;[]</code>).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.suffix_bytes_iter" class="method"><h4 class="code-header">pub fn <a href="#method.suffix_bytes_iter" class="fn">suffix_bytes_iter</a>(
+    &amp;self,
+    suffix_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;</h4></section></summary><div class="docblock"><p>Returns an iterator over the last <code>suffix_len</code> bytes of each array
+element, including null values.</p>
+<p>Note that for <a href="../type.StringViewArray.html" title="type arrow::array::StringViewArray"><code>StringViewArray</code></a> the last bytes may start in the middle
+of a UTF-8 codepoint, and thus may not be a valid <code>&amp;str</code>.</p>
+<p>If <code>suffix_len</code> is larger than the element’s length, the iterator will
+return an empty slice (<code>&amp;[]</code>).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct ar [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.gc" class="method"><h4 class="code-header">pub fn <a href="#method.gc" class="fn">gc</a>(&amp;self) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns a “compacted” version of this array</p>
+<p>The original array will <em>not</em> be modified</p>
+<h5 id="garbage-collection"><a class="doc-anchor" href="#garbage-collection">§</a>Garbage Collection</h5>
+<p>Before GC:</p>
+<div class="example-wrap"><pre class="language-text"><code>                                       ┌──────┐                 
+                                       │......│                 
+                                       │......│                 
+┌────────────────────┐       ┌ ─ ─ ─ ▶ │Data1 │   Large buffer  
+│       View 1       │─ ─ ─ ─          │......│  with data that
+├────────────────────┤                 │......│ is not referred
+│       View 2       │─ ─ ─ ─ ─ ─ ─ ─▶ │Data2 │ to by View 1 or
+└────────────────────┘                 │......│      View 2     
+                                       │......│                 
+   2 views, refer to                   │......│                 
+  small portions of a                  └──────┘                 
+     large buffer                                               </code></pre></div>
+<p>After GC:</p>
+<div class="example-wrap"><pre class="language-text"><code>┌────────────────────┐                 ┌─────┐    After gc, only
+│       View 1       │─ ─ ─ ─ ─ ─ ─ ─▶ │Data1│     data that is  
+├────────────────────┤       ┌ ─ ─ ─ ▶ │Data2│    pointed to by  
+│       View 2       │─ ─ ─ ─          └─────┘     the views is  
+└────────────────────┘                                 left      
+                                                                  
+                                                                  
+        2 views                                                  </code></pre></div>
+<p>This method will compact the data buffers by recreating the view array and only include the data
+that is pointed to by the views.</p>
+<p>Note that it will copy the array regardless of whether the original array is compact.
+Use with caution as this can be an expensive operation, only use it when you are sure that the view
+array is significantly smaller than when it is originally created, e.g., after filtering or slicing.</p>
+<p>Note: this function does not attempt to canonicalize / deduplicate values. For this
+feature see  <a href="../builder/struct.GenericByteViewBuilder.html#method.with_deduplicate_strings" title="method arrow::array::builder::GenericByteViewBuilder::with_deduplicate_strings"><code>GenericByteViewBuilder::with_deduplicate_strings</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.compare_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.compare_unchecked" class="fn">compare_unchecked</a>(
+    left: &amp;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;,
+    left_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    right: &amp;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt;,
+    right_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class="docblock"><p>Compare two <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> at index <code>left_idx</code> and <code>right_idx</code></p>
+<p>Comparing two ByteView types are non-trivial.
+It takes a bit of patience to understand why we don’t just compare two &amp;<a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a> directly.</p>
+<p>ByteView types give us the following two advantages, and we need to be careful not to lose them:
+(1) For string/byte smaller than 12 bytes, the entire data is inlined in the view.
+Meaning that reading one array element requires only one memory access
+(two memory access required for StringArray, one for offset buffer, the other for value buffer).</p>
+<p>(2) For string/byte larger than 12 bytes, we can still be faster than (for certain operations) StringArray/ByteArray,
+thanks to the inlined 4 bytes.
+Consider equality check:
+If the first four bytes of the two strings are different, we can return false immediately (with just one memory access).</p>
+<p>If we directly compare two &amp;<a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a>, we materialize the entire string (i.e., make multiple memory accesses), which might be unnecessary.</p>
+<ul>
+<li>Most of the time (eq, ord), we only need to look at the first 4 bytes to know the answer,
+e.g., if the inlined 4 bytes are different, we can directly return unequal without looking at the full string.</li>
+</ul>
+<h5 id="order-check-flow"><a class="doc-anchor" href="#order-check-flow">§</a>Order check flow</h5>
+<p>(1) if both string are smaller than 12 bytes, we can directly compare the data inlined to the view.
+(2) if any of the string is larger than 12 bytes, we need to compare the full string.
+(2.1) if the inlined 4 bytes are different, we can return the result immediately.
+(2.2) o.w., we need to compare the full string.</p>
+<h5 id="safety-3"><a class="doc-anchor" href="#safety-3">§</a>Safety</h5>
+<p>The left/right_idx must within range of each array</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CBinaryViewType%3E" class="impl"><a href="#impl-GenericByteViewArray%3CBinaryViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;<a class="struct" href="../../datatypes/struct.BinaryViewType.html" title="struct ar [...]
+    self,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;<a class="struct" href="../../datatypes/struct.StringViewType.html" title="struct arrow::datatypes::StringViewType">StringViewType</a>&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arr [...]
+If items not utf8 data, validate will fail and error returned.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.to_string_view_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.to_string_view_unchecked" class="fn">to_string_view_unchecked</a>(
+    self,
+) -&gt; <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;<a class="struct" href="../../datatypes/struct.StringViewType.html" title="struct arrow::datatypes::StringViewType">StringViewType</a>&gt;</h4></section></summary><div class="docblock"><p>Convert the <a href="../type.BinaryViewArray.html" title="type arrow::array::BinaryViewArray"><code>BinaryViewArray</code></a> to <a href="../type.StringView [...]
+<h5 id="safety-4"><a class="doc-anchor" href="#safety-4">§</a>Safety</h5>
+<p>Caller is responsible for ensuring that items in array are utf8 data.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GenericByteViewArray%3CStringViewType%3E" class="impl"><a href="#impl-GenericByteViewArray%3CStringViewType%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;<a class="struct" href="../../datatypes/struct.StringViewType.html" title="struct ar [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_ascii" class="method"><h4 class="code-header">pub fn <a href="#method.is_ascii" class="fn">is_ascii</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if all data within this array is ASCII</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-Array-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html"  [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-hea [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="co [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at i [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;'a <a class="struct" href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray">GenericByteViewArray</a>&lt;T&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at i [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-heade [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">f [...]
+    FROM: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,
+    &lt;FROM as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a> + <a class="trait" href="https://docs.rs/num-traits/0.2/num_tra [...]
+    V: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&lt;Native = &lt;FROM as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" title="type arrow::datatypes::ByteArrayType::Native">Native</a>&gt;,</div></h3></section></summary><div c [...]
+If the offsets are all less than u32::MAX, then we directly build the view array on top of existing buffer.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(byte_array: &amp;<a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;FROM&gt;) -&gt; <a class="struct" [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header" [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-hea [...]
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteViewType.html#associatedtype.Native" title="type arrow::datatypes::ByteViewType::Native">Native</a>&gt; + 'a,
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a href="#method.from_iter" class="anchor">§</a><h4 class="co [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &amp;'a <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Ptr&gt;&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/t [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ByteViewType.html#associatedtype.Native" title="type arrow::datatypes::ByteViewType::Native">Native</a>&gt;,</div></h3></section></summary><div class="im [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Ptr&gt;&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/co [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn  [...]
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-StringArrayType%3C'a%3E-for-%26GenericByteViewArray%3CStringViewType%3E" class="impl"><a href="#impl-StringArrayType%3C'a%3E-for-%26GenericByteViewArray%3CStringViewType%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="../../compute/kernels/comparison/trait.StringArrayType.html" title="trait  [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::un [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-Send-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-Send-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class= [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-Sync-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-Sync-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" hr [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-Unpin-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-Unpin-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struc [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a clas [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title= [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.GenericListArray.html b/arrow/array/array/struct.GenericListArray.html
new file mode 100644
index 0000000000..58bda14250
--- /dev/null
+++ b/arrow/array/array/struct.GenericListArray.html
@@ -0,0 +1,166 @@
+<!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="An array of variable length lists, similar to JSON arrays (e.g. `[&#34;A&#34;, &#34;B&#34;, &#34;C&#34;]`)."><title>GenericListArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053 [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    value_offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;OffsetSize&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-list-layout">variable length lists</a>, similar to JSON arrays
+(e.g. <code>["A", "B", "C"]</code>).</p>
+<p>Lists are represented using <code>offsets</code> into a <code>values</code> child
+array. Offsets are stored in two adjacent entries of an
+<a href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer"><code>OffsetBuffer</code></a>.</p>
+<p>Arrow defines <a href="../type.ListArray.html" title="type arrow::array::ListArray"><code>ListArray</code></a> with <code>i32</code> offsets and
+<a href="../type.LargeListArray.html" title="type arrow::array::LargeListArray"><code>LargeListArray</code></a> with <code>i64</code> offsets.</p>
+<p>Use <a href="../builder/struct.GenericListBuilder.html" title="struct arrow::array::builder::GenericListBuilder"><code>GenericListBuilder</code></a> to construct a <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>GenericListArray</code></a>.</p>
+<h2 id="representation"><a class="doc-anchor" href="#representation">§</a>Representation</h2>
+<p>A <a href="../type.ListArray.html" title="type arrow::array::ListArray"><code>ListArray</code></a> can represent a list of values of any other
+supported Arrow type. Each element of the <code>ListArray</code> itself is
+a list which may be empty, may contain NULL and non-null values,
+or may itself be NULL.</p>
+<p>For example, the <code>ListArray</code> shown in the following diagram stores
+lists of strings. Note that <code>[]</code> represents an empty (length
+0), but non NULL list.</p>
+<div class="example-wrap"><pre class="language-text"><code>┌─────────────┐
+│   [A,B,C]   │
+├─────────────┤
+│     []      │
+├─────────────┤
+│    NULL     │
+├─────────────┤
+│     [D]     │
+├─────────────┤
+│  [NULL, F]  │
+└─────────────┘</code></pre></div>
+<p>The <code>values</code> are stored in a child <a href="../type.StringArray.html" title="type arrow::array::StringArray"><code>StringArray</code></a> and the offsets
+are stored in an <a href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer"><code>OffsetBuffer</code></a> as shown in the following
+diagram. The logical values and offsets are shown on the left, and
+the actual <code>ListArray</code> encoding on the right.</p>
+<div class="example-wrap"><pre class="language-text"><code>                                        ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
+                                                                ┌ ─ ─ ─ ─ ─ ─ ┐    │
+ ┌─────────────┐  ┌───────┐             │     ┌───┐   ┌───┐       ┌───┐ ┌───┐
+ │   [A,B,C]   │  │ (0,3) │                   │ 1 │   │ 0 │     │ │ 1 │ │ A │ │ 0  │
+ ├─────────────┤  ├───────┤             │     ├───┤   ├───┤       ├───┤ ├───┤
+ │      []     │  │ (3,3) │                   │ 1 │   │ 3 │     │ │ 1 │ │ B │ │ 1  │
+ ├─────────────┤  ├───────┤             │     ├───┤   ├───┤       ├───┤ ├───┤
+ │    NULL     │  │ (3,4) │                   │ 0 │   │ 3 │     │ │ 1 │ │ C │ │ 2  │
+ ├─────────────┤  ├───────┤             │     ├───┤   ├───┤       ├───┤ ├───┤
+ │     [D]     │  │ (4,5) │                   │ 1 │   │ 4 │     │ │ ? │ │ ? │ │ 3  │
+ ├─────────────┤  ├───────┤             │     ├───┤   ├───┤       ├───┤ ├───┤
+ │  [NULL, F]  │  │ (5,7) │                   │ 1 │   │ 5 │     │ │ 1 │ │ D │ │ 4  │
+ └─────────────┘  └───────┘             │     └───┘   ├───┤       ├───┤ ├───┤
+                                                      │ 7 │     │ │ 0 │ │ ? │ │ 5  │
+                                        │  Validity   └───┘       ├───┤ ├───┤
+    Logical       Logical                  (nulls)   Offsets    │ │ 1 │ │ F │ │ 6  │
+     Values       Offsets               │                         └───┘ └───┘
+                                                                │    Values   │    │
+                (offsets[i],            │   ListArray               (Array)
+               offsets[i+1])                                    └ ─ ─ ─ ─ ─ ─ ┘    │
+                                        └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
+
+</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" c [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE_CONSTRUCTOR" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DATA_TYPE_CONSTRUCTOR" class="constant">DATA_TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/ [...]
+The input is the schema of the child array and
+the output is the <a href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType"><code>DataType</code></a>, List or LargeList.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;OffsetSize&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericListAr [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Errors if</p>
+<ul>
+<li><code>offsets.len() - 1 != nulls.len()</code></li>
+<li><code>offsets.last() &gt; values.len()</code></li>
+<li><code>!field.is_nullable() &amp;&amp; values.is_nullable()</code></li>
+<li><code>field.data_type() != values.data_type()</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;OffsetSize&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>GenericListArray</code></a> from the provided parts</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.GenericListArray.html#method.try_new" title="associated function arrow::array::GenericListArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, len: <a class="primitive" href="https://doc.rust [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;OffsetSize&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a reference to the offsets of this list</p>
+<p>Unlike <a href="../struct.GenericListArray.html#method.value_offsets" title="method arrow::array::GenericListArray::value_offsets"><code>Self::value_offsets</code></a> this returns the <a href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer"><code>OffsetBuffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" h [...]
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Caller must ensure that the index is within the array bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trai [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[OffsetSize]</a></h4></section></summary><div class="docblock"><p>Returns the offset values in the offsets buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; OffsetSize</h4></section></summary><div class="docblock"><p>Returns the length for value at index <code>i</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;'a <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;&gt;  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(
+    &amp;self,
+    offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a zero-copy slice of this array with the indicated offset and length.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_primitive" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_primitive" class="fn">from_iter_primitive</a>&lt;T, P, I&gt;(iter: I) -&gt; <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a  [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;P&gt;&gt;,</div></h4></section></summary><div class="docblock"><p>Creates a <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArra [...]
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>data = <span class="macro">vec!</span>[
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>)]),
+   <span class="prelude-val">None</span>,
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">3</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">5</span>)]),
+   <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>)]),
+];
+<span class="kw">let </span>list_array = ListArray::from_iter_primitive::&lt;Int32Type, <span class="kw">_</span>, <span class="kw">_</span>&gt;(data);
+<span class="macro">println!</span>(<span class="string">"{:?}"</span>, list_array);</code></pre></div>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-Array-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="trait" href=".. [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https:/ [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="../trait.ArrayAccessor.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="h [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index < [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index < [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a cla [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="st [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(value: <a class="s [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array: <a class="s [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(
+    v: <a class="struct" href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray">GenericListArray</a>&lt;OffsetSize&gt;,
+) -&gt; <a class="struct" href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray">GenericByteArray</a>&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;OffsetSize&gt;&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id=" [...]
+    T: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="../s [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a cla [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-Freeze-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class=" [...]
+    OffsetSize: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="tr [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&'a GenericListArray<OffsetSize>>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class= [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.GenericListViewArray.html b/arrow/array/array/struct.GenericListViewArray.html
new file mode 100644
index 0000000000..088f03ea82
--- /dev/null
+++ b/arrow/array/array/struct.GenericListViewArray.html
@@ -0,0 +1,113 @@
+<!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="Different from `crate::GenericListArray` as it stores both an offset and length meaning that take / filter operations can be implemented without copying the underlying data."><title>GenericListViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")do [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    value_offsets: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+    value_sizes: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Different from <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>crate::GenericListArray</code></a> as it stores both an offset and length
+meaning that take / filter operations can be implemented without copying the underlying data.</p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE_CONSTRUCTOR" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DATA_TYPE_CONSTRUCTOR" class="constant">DATA_TYPE_CONSTRUCTOR</a>: <a class="primitive" href="https://doc.rust-lang.org/ [...]
+The input is the schema of the child array and
+the output is the <a href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType"><code>DataType</code></a>, ListView or LargeListView.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+    sizes: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.G [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Errors if</p>
+<ul>
+<li><code>offsets.len() != sizes.len()</code></li>
+<li><code>offsets.len() != nulls.len()</code></li>
+<li><code>offsets[i] &gt; values.len()</code></li>
+<li><code>!field.is_nullable() &amp;&amp; values.is_nullable()</code></li>
+<li><code>field.data_type() != values.data_type()</code></li>
+<li><code>0 &lt;= offsets[i] &lt;= length of the child array</code></li>
+<li><code>0 &lt;= offsets[i] + size[i] &lt;= length of the child array</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+    sizes: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray"><code>GenericListViewArray</code></a> from the provided parts</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.GenericListViewArray.html#method.try_new" title="associated function arrow::array::GenericListViewArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray"><code>GenericListViewArray</code></a> of length <code>len</code> where all values are null</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;, <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarB [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a reference to the offsets of this list</p>
+<p>Unlike <a href="../struct.GenericListViewArray.html#method.value_offsets" title="method arrow::array::GenericListViewArray::value_offsets"><code>Self::value_offsets</code></a> this returns the <a href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer"><code>ScalarBuffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.sizes" class="method"><h4 class="code-header">pub fn <a href="#method.sizes" class="fn">sizes</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a reference to the sizes of this list</p>
+<p>Unlike <a href="../struct.GenericListViewArray.html#method.value_sizes" title="method arrow::array::GenericListViewArray::value_sizes"><code>Self::value_sizes</code></a> this returns the <a href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer"><code>ScalarBuffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns a clone of the value type of this list.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" h [...]
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Caller must ensure that the index is within the array bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trai [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if the index is out of bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[OffsetSize]</a></h4></section></summary><div class="docblock"><p>Returns the offset values in the offsets buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_sizes" class="method"><h4 class="code-header">pub fn <a href="#method.value_sizes" class="fn">value_sizes</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[OffsetSize]</a></h4></section></summary><div class="docblock"><p>Returns the sizes values in the offsets buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_size" class="method"><h4 class="code-header">pub fn <a href="#method.value_size" class="fn">value_size</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; OffsetSize</h4></section></summary><div class="docblock"><p>Returns the size for value at index <code>i</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; OffsetSize</h4></section></summary><div class="docblock"><p>Returns the offset for value at index <code>i</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt;&gt; <a h [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(
+    &amp;self,
+    offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt;</h4></section></summary><div class="docblock"><p>Returns a zero-copy slice of this array with the indicated offset and length.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-GenericListViewArray%3COffsetSize%3E" class="impl"><a href="#impl-Array-for-GenericListViewArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="trait"  [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https:/ [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="../trait.ArrayAccessor.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="h [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the elemen [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.GenericListViewArray.html" title="struct arrow::array::GenericListViewArray">GenericListViewArray</a>&lt;OffsetSize&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the elemen [...]
+    OffsetSize: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header" [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a cla [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="st [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(value: <a class="s [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array: <a class="struc [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a cla [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-GenericListViewArray%3COffsetSize%3E" class="impl"><a href="#impl-Freeze-for-GenericListViewArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a [...]
+    OffsetSize: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-GenericListViewArray%3COffsetSize%3E" class="impl"><a href="#impl-UnwindSafe-for-GenericListViewArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" t [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&GenericListViewArray<OffsetSize>>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.MapArray.html b/arrow/array/array/struct.MapArray.html
new file mode 100644
index 0000000000..9e13b0cb94
--- /dev/null
+++ b/arrow/array/array/struct.MapArray.html
@@ -0,0 +1,95 @@
+<!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="An array of key-value maps"><title>MapArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePr [...]
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    entries: <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a>,
+    value_offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of key-value maps</p>
+<p>Keys should always be non-null, but values can be null.</p>
+<p><a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><code>MapArray</code></a> is physically a <a href="../type.ListArray.html" title="type arrow::array::ListArray"><code>ListArray</code></a> of key values pairs stored as an <code>entries</code>
+<a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> with 2 child fields.</p>
+<p>See <a href="../builder/struct.MapBuilder.html" title="struct arrow::array::builder::MapBuilder"><code>MapBuilder</code></a> for how to construct a <a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><code>MapArray</code></a></p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.nulls" class="structfield section-header"><a href="#structfield.nulls" class="anchor field" [...]
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
+    entries: <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><c [...]
+<p>See <a href="../builder/struct.MapBuilder.html" title="struct arrow::array::builder::MapBuilder"><code>MapBuilder</code></a> for a higher-level interface
+to construct a <a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><code>MapArray</code></a></p>
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Errors if</p>
+<ul>
+<li><code>offsets.len() - 1 != nulls.len()</code></li>
+<li><code>offsets.last() &gt; entries.len()</code></li>
+<li><code>field.is_nullable()</code></li>
+<li><code>entries.null_count() != 0</code></li>
+<li><code>entries.columns().len() != 2</code></li>
+<li><code>field.data_type() != entries.data_type()</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    field: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,
+    offsets: <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
+    entries: <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    ordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
+) -&gt; <a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><code>MapArray</code></a> from the provided parts</p>
+<p>See <a href="../builder/struct.MapBuilder.html" title="struct arrow::array::builder::MapBuilder"><code>MapBuilder</code></a> for a higher-level interface
+to construct a <a href="../struct.MapArray.html" title="struct arrow::array::MapArray"><code>MapArray</code></a></p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.MapArray.html#method.try_new" title="associated function arrow::array::MapArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../datatypes/struct.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;, <a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;, <a class="struct" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;</h4></section></summary><div class="docblock"><p>Return [...]
+<p>Unlike <a href="../struct.MapArray.html#method.value_offsets" title="method arrow::array::MapArray::value_offsets"><code>Self::value_offsets</code></a> this returns the <a href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer"><code>OffsetBuffer</code></a>
+allowing for zero-copy cloning</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a ref [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.entries" class="method"><h4 class="code-header">pub fn <a href="#method.entries" class="fn">entries</a>(&amp;self) -&gt; &amp;<a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a></h4></section></summary><div class="docblock"><p>Returns a reference to the <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArr [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.key_type" class="method"><h4 class="code-header">pub fn <a href="#method.key_type" class="fn">key_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns the data type of the map’s keys.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_type" class="method"><h4 class="code-header">pub fn <a href="#method.value_type" class="fn">value_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns the data type of the map’s values.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a></h4></section></summary><div class="docblo [...]
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Caller must ensure that the index is within the array bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a></h4></section></summary><div class="docblock"><p>Returns ith value of this map  [...]
+<p>This is a <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> containing two fields</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offsets" class="method"><h4 class="code-header">pub fn <a href="#method.value_offsets" class="fn">value_offsets</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>]</h4></section></summary><div class="docblock"><p>Returns the offset values in the offsets buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_length" class="method"><h4 class="code-header">pub fn <a href="#method.value_length" class="fn">value_length</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Returns the length for va [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.MapArray.html" title="struct arrow::array:: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::ArrayIter">ArrayIter</a>&lt;&amp;<a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a>&gt; <a href="#" class="tooltip" data-notable-ty="ArrayIter&lt; [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MapArray-1" class="impl"><a href="#impl-MapArray-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_from_strings" class="method"><h4 class="code-header">pub fn [...]
+    keys: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
+    values: &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,
+    entry_offsets: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>],
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Creates map array from provided keys, values and entry_offsets.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-MapArray" class="impl"><a href="#impl-Array-for-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.MapArray.html" title="struct arrow::array::MapArray">MapArray</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> <a href="../trait.ArrayAcces [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MapArray" class="impl"><a href="#impl-Freeze-for-MapArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.F [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&MapArray>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\"https: [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.NativeAdapter.html b/arrow/array/array/struct.NativeAdapter.html
new file mode 100644
index 0000000000..38bc70bae3
--- /dev/null
+++ b/arrow/array/array/struct.NativeAdapter.html
@@ -0,0 +1,31 @@
+<!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="An optional primitive value"><title>NativeAdapter in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,Source [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div>{
+    pub native: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An optional primitive value</p>
+<p>This struct is used as an adapter when creating <code>PrimitiveArray</code> from an iterator.
+<code>FromIterator</code> for <code>PrimitiveArray</code> takes an iterator where the elements can be <code>into</code>
+this struct. So once implementing <code>From</code> or <code>Into</code> trait for a type, an iterator of
+the type can be collected to <code>PrimitiveArray</code>.</p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.native" class="structfield section-header"><a href="#structfield.native" class="anchor field">§</a><code>native: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::Ar [...]
+</div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-NativeAdapter%3CT%3E" class="impl"><a href="#impl-Debug-for-NativeAdapter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,</div></h3></section></summary><di [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl"><a href="#method.from-14" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a> [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl"><a href="#method.from-13" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a> [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><sec [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe" [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><sectio [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">Unwin [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.NullArray.html b/arrow/array/array/struct.NullArray.html
new file mode 100644
index 0000000000..b307b94fd3
--- /dev/null
+++ b/arrow/array/array/struct.NullArray.html
@@ -0,0 +1,48 @@
+<!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="An array of null values"><title>NullArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro- [...]
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#null-layout">null values</a></p>
+<p>A <code>NullArray</code> is a simplified array where all values are null.</p>
+<h2 id="example-create-an-array"><a class="doc-anchor" href="#example-create-an-array">§</a>Example: Create an array</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, NullArray};
+
+<span class="kw">let </span>array = NullArray::new(<span class="number">10</span>);
+
+<span class="macro">assert!</span>(array.is_nullable());
+<span class="macro">assert_eq!</span>(array.len(), <span class="number">10</span>);
+<span class="macro">assert_eq!</span>(array.null_count(), <span class="number">0</span>);
+<span class="macro">assert_eq!</span>(array.logical_nulls().unwrap().null_count(), <span class="number">10</span>);</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list" [...]
+<p><em>Note</em>: Use <a href="../fn.new_null_array.html" title="fn arrow::array::new_null_array"><code>crate::array::new_null_array</code></a> if you need an array of some
+other <a href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType"><code>DataType</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.NullArray.html" title="struct arrow::array::Nu [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../builder/struct.NullBuilder.html" title="struct arrow::array::builder::NullBuilder">NullBuilder</a></h4></section></summary><div class="docblock"><p>Returns a  [...]
+<p>Note that the <code>capacity</code> parameter to this function is <em>deprecated</em>. It
+now does nothing, and will be removed in a future version.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-NullArray" class="impl"><a href="#impl-Array-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> f [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-NullArray" class="impl"><a href="#impl-Freeze-for-NullArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.PrimitiveArray.html b/arrow/array/array/struct.PrimitiveArray.html
new file mode 100644
index 0000000000..71c433b997
--- /dev/null
+++ b/arrow/array/array/struct.PrimitiveArray.html
@@ -0,0 +1,454 @@
+<!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="An array of primitive values, of type `ArrowPrimitiveType`"><title>PrimitiveArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraS [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    values: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of primitive values, of type <a href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType"><code>ArrowPrimitiveType</code></a></p>
+<h2 id="example-from-a-vec"><a class="doc-anchor" href="#example-from-a-vec">§</a>Example: From a Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: PrimitiveArray&lt;Int32Type&gt; = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>].into();
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, arr.len());
+<span class="macro">assert_eq!</span>(<span class="number">0</span>, arr.null_count());
+<span class="macro">assert_eq!</span>(arr.values(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>])</code></pre></div>
+<h2 id="example-from-an-optional-vec"><a class="doc-anchor" href="#example-from-an-optional-vec">§</a>Example: From an optional Vec</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: PrimitiveArray&lt;Int32Type&gt; = <span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">3</span>), <span class="prelude-val">None</span>].into();
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, arr.len());
+<span class="macro">assert_eq!</span>(<span class="number">2</span>, arr.null_count());
+<span class="comment">// Note: values for null indexes are arbitrary
+</span><span class="macro">assert_eq!</span>(arr.values(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">0</span>])</code></pre></div>
+<h2 id="example-from-an-iterator-of-values"><a class="doc-anchor" href="#example-from-an-iterator-of-values">§</a>Example: From an iterator of values</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: PrimitiveArray&lt;Int32Type&gt; = (<span class="number">0</span>..<span class="number">10</span>).map(|x| x + <span class="number">1</span>).collect();
+<span class="macro">assert_eq!</span>(<span class="number">10</span>, arr.len());
+<span class="macro">assert_eq!</span>(<span class="number">0</span>, arr.null_count());
+<span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..<span class="number">10i32 </span>{
+    <span class="macro">assert_eq!</span>(i + <span class="number">1</span>, arr.value(i <span class="kw">as </span>usize));
+}</code></pre></div>
+<h2 id="example-from-an-iterator-of-option"><a class="doc-anchor" href="#example-from-an-iterator-of-option">§</a>Example: From an iterator of option</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>arr: PrimitiveArray&lt;Int32Type&gt; = (<span class="number">0</span>..<span class="number">10</span>).map(|x| (x % <span class="number">2 </span>== <span class="number">0</span>).then_some(x)).collect();
+<span class="macro">assert_eq!</span>(<span class="number">10</span>, arr.len());
+<span class="macro">assert_eq!</span>(<span class="number">5</span>, arr.null_count());
+<span class="comment">// Note: values for null indexes are arbitrary
+</span><span class="macro">assert_eq!</span>(arr.values(), <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">4</span>, <span class="number">0</span>, <span class="number">6</span>, <span class="number">0</span>, <span class="number">8</span>, <span class="number">0</span>])</code></pre></div>
+<h2 id="example-using-builder"><a class="doc-anchor" href="#example-using-builder">§</a>Example: Using Builder</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = PrimitiveBuilder::&lt;Int32Type&gt;::new();
+builder.append_value(<span class="number">1</span>);
+builder.append_null();
+builder.append_value(<span class="number">2</span>);
+<span class="kw">let </span>array = builder.finish();
+<span class="comment">// Note: values for null indexes are arbitrary
+</span><span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">0</span>, <span class="number">2</span>]);
+<span class="macro">assert!</span>(array.is_null(<span class="number">1</span>));</code></pre></div>
+<h2 id="example-get-a-primitivearray-from-an-arrayref"><a class="doc-anchor" href="#example-get-a-primitivearray-from-an-arrayref">§</a>Example: Get a <code>PrimitiveArray</code> from an <a href="../type.ArrayRef.html" title="type arrow::array::ArrayRef"><code>ArrayRef</code></a></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// will panic if the array is not a Float32Array
+</span><span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>DataType::Float32, array.data_type());
+<span class="kw">let </span>f32_array: Float32Array  = array.as_primitive().clone();
+<span class="macro">assert_eq!</span>(f32_array, Float32Array::from(<span class="macro">vec!</span>[<span class="number">1.2</span>, <span class="number">2.3</span>]));</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="anchor fiel [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    values: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> from the provided values and nulls</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.PrimitiveArray.html#method.try_new" title="associated function arrow::array::PrimitiveArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
+<p>Creating a <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> directly from a <a href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer"><code>ScalarBuffer</code></a> and <a href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer"><code>NullBuffer</code></a> using
+this constructor is the most performant approach, avoiding any additional allocations</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// [1, 2, 3, 4]
+</span><span class="kw">let </span>array = Int32Array::new(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>].into(), <span class="prelude-val">None</span>);
+<span class="comment">// [1, null, 3, 4]
+</span><span class="kw">let </span>nulls = NullBuffer::from(<span class="macro">vec!</span>[<span class="bool-val">true</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>]);
+<span class="kw">let </span>array = Int32Array::new(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>].into(), <span class="prelude-val">Some</span>(nulls));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Create a  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    values: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.PrimitiveArray.html" title=" [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Errors if:</p>
+<ul>
+<li><code>values.len() != nulls.len()</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_scalar" class="method"><h4 class="code-header">pub fn <a href="#method.new_scalar" class="fn">new_scalar</a>(
+    value: &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>,
+) -&gt; <a class="struct" href="../struct.Scalar.html" title="struct arrow::array::Scalar">Scalar</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.Scalar.html" title="struct arrow::array::Scalar"><code>Scalar</code></a> from <code>value</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>, <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associate [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_data_type" class="method"><h4 class="code-header">pub fn <a href="#method.with_data_type" class="fn">with_data_type</a>(self, data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;</h4></section></s [...]
+<p>Prefer using <a href="../struct.PrimitiveArray.html#method.with_timezone" title="method arrow::array::PrimitiveArray::with_timezone"><code>Self::with_timezone</code></a> or <a href="../struct.PrimitiveArray.html#method.with_precision_and_scale" title="method arrow::array::PrimitiveArray::with_precision_and_scale"><code>Self::with_precision_and_scale</code></a> where
+the primitive type is suitably constrained, as these cannot panic</p>
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if ![Self::is_compatible]</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length of this array.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this array is empty.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../builder/struct.PrimitiveBuilder.html" title="struct arrow::array::builder::PrimitiveBuilder">PrimitiveBuilder</a>&lt;T&gt;</h4></section></summary><div class=" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_compatible" class="method"><h4 class="code-header">pub fn <a href="#method.is_compatible" class="fn">is_compatible</a>(data_type: &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Retu [...]
+<p>This is equivalent to <code>data_type == T::DATA_TYPE</code>, however ignores timestamp
+timezones and decimal precision and scale</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.value_unchecked" class="fn">value_unchecked</a>(
+    &amp;self,
+    i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a></h4></section></summary><div class="docblock"><p>Returns the primitive value at index <code>i</code>.</p>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>caller must ensure that the passed in offset is less than the array len()</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href [...]
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_values" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_values" class="fn">from_iter_values</a>&lt;I&gt;(iter: I) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowP [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_iter_values_with_nulls" class="method"><h4 class="code-header">pub fn <a href="#method.from_iter_values_with_nulls" class="fn">from_iter_values_with_nulls</a>&lt;I&gt;(
+    iter: I,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowP [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_value" class="method"><h4 class="code-header">pub fn <a href="#method.from_value" class="fn">from_value</a>(
+    value: &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>,
+    count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Creates a PrimitiveArray based on a constant value with <code>count</code> elements</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter" class="method"><h4 class="code-header">pub fn <a href="#method.take_iter" class="fn">take_iter</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a clas [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take_iter_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.take_iter_unchecked" class="fn">take_iter_unchecked</a>&lt;'a&gt;(
+    &amp;'a self,
+    indexes: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt; + 'a,
+) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a clas [...]
+<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
+<p>caller must ensure that the offsets in the iterator are less than the array len()</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::a [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reinterpret_cast" class="method"><h4 class="code-header">pub fn <a href="#method.reinterpret_cast" class="fn">reinterpret_cast</a>&lt;K&gt;(&amp;self) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;K&gt;<div class="where">where
+    K: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&lt;Native = &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&g [...]
+<p>This can be used to efficiently convert between primitive arrays with the
+same underlying representation</p>
+<p>Note: this will not modify the underlying values, and therefore may change
+the semantic values of the array, e.g. 100 milliseconds in a <a href="../type.TimestampNanosecondArray.html" title="type arrow::array::TimestampNanosecondArray"><code>TimestampNanosecondArray</code></a>
+will become 100 seconds in a <a href="../type.TimestampSecondArray.html" title="type arrow::array::TimestampSecondArray"><code>TimestampSecondArray</code></a>.</p>
+<p>For casts that preserve the semantic value, check out the
+<a href="https://docs.rs/arrow/latest/arrow/compute/kernels/cast/index.html">compute kernels</a>.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = Int64Array::from_iter_values([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
+<span class="kw">let </span>b: TimestampNanosecondArray = a.reinterpret_cast();</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unary" class="method"><h4 class="code-header">pub fn <a href="#method.unary" class="fn">unary</a>&lt;F, O&gt;(&amp;self, op: F) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;O&gt;<div class="where">where
+    O: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; &lt;O as <a cla [...]
+new array of potentially different type.</p>
+<p>This is the fastest way to perform an operation on a primitive array
+when the benefits of a vectorized operation outweigh the cost of
+branching nulls and non-nulls.</p>
+<p>See also</p>
+<ul>
+<li><a href="../struct.PrimitiveArray.html#method.unary_mut" title="method arrow::array::PrimitiveArray::unary_mut"><code>Self::unary_mut</code></a> for in place modification.</li>
+<li><a href="../struct.PrimitiveArray.html#method.try_unary" title="method arrow::array::PrimitiveArray::try_unary"><code>Self::try_unary</code></a> for fallible operations.</li>
+<li><a href="https://docs.rs/arrow/latest/arrow/compute/fn.binary.html"><code>arrow::compute::binary</code></a> for binary operations</li>
+</ul>
+<h5 id="null-handling"><a class="doc-anchor" href="#null-handling">§</a>Null Handling</h5>
+<p>Applies the function for all values, including those on null slots. This
+will often allow the compiler to generate faster vectorized code, but
+requires that the operation must be infallible (not error/panic) for any
+value of the corresponding type or this function may panic.</p>
+<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">5</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">None</span>]);
+<span class="comment">// Create a new array with the value of applying sqrt
+</span><span class="kw">let </span>c = array.unary(|x| f32::sqrt(x <span class="kw">as </span>f32));
+<span class="macro">assert_eq!</span>(c, Float32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">2.236068</span>), <span class="prelude-val">Some</span>(<span class="number">2.6457512</span>), <span class="prelude-val">None</span>]));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unary_mut" class="method"><h4 class="code-header">pub fn <a href="#method.unary_mut" class="fn">unary_mut</a>&lt;F&gt;(self, op: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a c [...]
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; &lt;T as <a cla [...]
+<h5 id="buffer-reuse"><a class="doc-anchor" href="#buffer-reuse">§</a>Buffer Reuse</h5>
+<p>If the underlying buffers are not shared with other arrays,  mutates the
+underlying buffer in place, without allocating.</p>
+<p>If the underlying buffer is shared, returns Err(self)</p>
+<h5 id="null-handling-1"><a class="doc-anchor" href="#null-handling-1">§</a>Null Handling</h5>
+<p>See <a href="../struct.PrimitiveArray.html#method.unary" title="method arrow::array::PrimitiveArray::unary"><code>Self::unary</code></a> for more information on null handling.</p>
+<h5 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">5</span>), <span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">None</span>]);
+<span class="comment">// Apply x*2+1 to the data in place, no allocations
+</span><span class="kw">let </span>c = array.unary_mut(|x| x * <span class="number">2 </span>+ <span class="number">1</span>).unwrap();
+<span class="macro">assert_eq!</span>(c, Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">11</span>), <span class="prelude-val">Some</span>(<span class="number">15</span>), <span class="prelude-val">None</span>]));</code></pre></div>
+<h5 id="example-modify-arrayref-in-place-if-not-shared"><a class="doc-anchor" href="#example-modify-arrayref-in-place-if-not-shared">§</a>Example: modify <a href="../type.ArrayRef.html" title="type arrow::array::ArrayRef"><code>ArrayRef</code></a> in place, if not shared</h5>
+<p>It is also possible to modify an <a href="../type.ArrayRef.html" title="type arrow::array::ArrayRef"><code>ArrayRef</code></a> if there are no other
+references to the underlying buffer.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Convert to Int32Array (panic's if array.data_type is not Int32)
+</span><span class="kw">let </span>a = array.as_primitive::&lt;Int32Type&gt;().clone();
+<span class="comment">// Try to apply x*2+1 to the data in place, fails because array is still shared
+</span>a.unary_mut(|x| x * <span class="number">2 </span>+ <span class="number">1</span>).unwrap_err();
+<span class="comment">// Try again, this time dropping the last remaining reference
+</span><span class="kw">let </span>a = array.as_primitive::&lt;Int32Type&gt;().clone();
+drop(array);
+<span class="comment">// Now we can apply the operation in place
+</span><span class="kw">let </span>c = a.unary_mut(|x| x * <span class="number">2 </span>+ <span class="number">1</span>).unwrap();
+<span class="macro">assert_eq!</span>(c, Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">11</span>), <span class="prelude-val">Some</span>(<span class="number">15</span>), <span class="prelude-val">None</span>]));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_unary" class="method"><h4 class="code-header">pub fn <a href="#method.try_unary" class="fn">try_unary</a>&lt;F, O, E&gt;(&amp;self, op: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt; [...]
+    O: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; <a class="enum" [...]
+array, producing a new array of potentially different type.</p>
+<p>Applies <code>op</code> to only rows that are valid, which is often significantly
+slower than <a href="../struct.PrimitiveArray.html#method.unary" title="method arrow::array::PrimitiveArray::unary"><code>Self::unary</code></a>, which should be preferred if <code>op</code> is
+fallible.</p>
+<p>Note: LLVM is currently unable to effectively vectorize fallible operations</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_unary_mut" class="method"><h4 class="code-header">pub fn <a href="#method.try_unary_mut" class="fn">try_unary_mut</a>&lt;F, E&gt;(
+    self,
+    op: F,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, E&gt;, <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array [...]
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; <a class="enum" [...]
+primitive array.</p>
+<h5 id="null-handling-2"><a class="doc-anchor" href="#null-handling-2">§</a>Null Handling</h5>
+<p>See <a href="../struct.PrimitiveArray.html#method.try_unary" title="method arrow::array::PrimitiveArray::try_unary"><code>Self::try_unary</code></a> for more information on null handling.</p>
+<h5 id="buffer-reuse-1"><a class="doc-anchor" href="#buffer-reuse-1">§</a>Buffer Reuse</h5>
+<p>See <a href="../struct.PrimitiveArray.html#method.unary_mut" title="method arrow::array::PrimitiveArray::unary_mut"><code>Self::unary_mut</code></a> for more information on buffer reuse.</p>
+<p>This returns an <code>Err</code> when the input array is shared buffer with other
+array. In the case, returned <code>Err</code> wraps input array. If the function
+encounters an error during applying on values. In the case, this returns an <code>Err</code> within
+an <code>Ok</code> which wraps the actual error.</p>
+<p>Note: LLVM is currently unable to effectively vectorize fallible operations</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unary_opt" class="method"><h4 class="code-header">pub fn <a href="#method.unary_opt" class="fn">unary_opt</a>&lt;F, O&gt;(&amp;self, op: F) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;O&gt;<div class="where">where
+    O: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>) -&gt; <a class="enum" [...]
+<p>Applies <code>op</code> to only rows that are valid, which is often significantly
+slower than <a href="../struct.PrimitiveArray.html#method.unary" title="method arrow::array::PrimitiveArray::unary"><code>Self::unary</code></a>, which should be preferred if <code>op</code> is
+fallible.</p>
+<p>Note: LLVM is currently unable to effectively vectorize fallible operations</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_unary" class="method"><h4 class="code-header">pub fn <a href="#method.from_unary" class="fn">from_unary</a>&lt;U, F&gt;(left: U, op: F) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    U: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&lt;U as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>) -&gt; &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveTyp [...]
+new primitive array.</p>
+<h5 id="null-handling-3"><a class="doc-anchor" href="#null-handling-3">§</a>Null Handling</h5>
+<p>See <a href="../struct.PrimitiveArray.html#method.unary" title="method arrow::array::PrimitiveArray::unary"><code>Self::unary</code></a> for more information on null handling.</p>
+<h5 id="example-create-an-int16array-from-an-arrayaccessor-with-item-type-u8"><a class="doc-anchor" href="#example-create-an-int16array-from-an-arrayaccessor-with-item-type-u8">§</a>Example: create an <a href="../type.Int16Array.html" title="type arrow::array::Int16Array"><code>Int16Array</code></a> from an <a href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor"><code>ArrayAccessor</code></a> with item type <code>&amp;[u8]</code></h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, FixedSizeBinaryArray, Int16Array};
+<span class="kw">let </span>input_arg = <span class="macro">vec!</span>[ <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">0</span>], <span class="macro">vec!</span>[<span class="number">2</span>, <span class="number">0</span>], <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">0</span>] ];
+<span class="kw">let </span>arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap();
+<span class="kw">let </span>c = Int16Array::from_unary(<span class="kw-2">&amp;</span>arr, |x| i16::from_le_bytes(x[..<span class="number">2</span>].try_into().unwrap()));
+<span class="macro">assert_eq!</span>(c, Int16Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1i16</span>), <span class="prelude-val">Some</span>(<span class="number">2i16</span>), <span class="prelude-val">Some</span>(<span class="number">3i16</span>)]));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_builder" class="method"><h4 class="code-header">pub fn <a href="#method.into_builder" class="fn">into_builder</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../builder/struct.PrimitiveBuilder.html" title="struct arrow::array::builder::PrimitiveBuilder">PrimitiveBuilder</a [...]
+in place.</p>
+<h5 id="buffer-reuse-2"><a class="doc-anchor" href="#buffer-reuse-2">§</a>Buffer Reuse</h5>
+<p>If the underlying data buffer has no other outstanding references, the
+buffer is used without copying.</p>
+<p>If the underlying data buffer does have outstanding references, returns
+<code>Err(self)</code></p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveArray%3CT%3E-1" class="impl"><a href="#impl-PrimitiveArray%3CT%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ArrowTemporalType.html" title="trait arrow::datatypes::ArrowTemporalType">ArrowTemporalType</a>,
+    <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" ti [...]
+<p>If a data type cannot be converted to <code>NaiveDateTime</code>, a <code>None</code> is returned.
+A valid value is expected, thus the user should first check for validity.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_as_datetime_with_tz" class="method"><h4 class="code-header">pub fn <a href="#method.value_as_datetime_with_tz" class="fn">value_as_datetime_with_tz</a>(
+    &amp;self,
+    i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    tz: <a class="struct" href="../timezone/struct.Tz.html" title="struct arrow::array::timezone::Tz">Tz</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://docs.rs/chrono/latest/chrono/datetime/struct.DateTime.html" title="struct chrono::datetime::DateTime">DateTime</a>&lt;<a class="struct" href="../timezone/struct.Tz.html" title="struct arrow::array::timezone::Tz">Tz</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns value as a chrono <code>NaiveDateT [...]
+<p>functionally it is same as <code>value_as_datetime</code>, however it adds
+the passed tz to the to-be-returned NaiveDateTime</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_as_date" class="method"><h4 class="code-header">pub fn <a href="#method.value_as_date" class="fn">value_as_date</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https: [...]
+<p>If a data type cannot be converted to <code>NaiveDate</code>, a <code>None</code> is returned</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_as_time" class="method"><h4 class="code-header">pub fn <a href="#method.value_as_time" class="fn">value_as_time</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https: [...]
+<p><code>Date32</code> and <code>Date64</code> return UTC midnight as they do not have time resolution</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_as_duration" class="method"><h4 class="code-header">pub fn <a href="#method.value_as_duration" class="fn">value_as_duration</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct"  [...]
+<p>If a data type cannot be converted to <code>Duration</code>, a <code>None</code> is returned</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveArray%3CT%3E-2" class="impl"><a href="#impl-PrimitiveArray%3CT%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;'a self) -&gt; <a class="struct" href="../iterator/struct.ArrayIter.html" title="struct arrow::array::iterator::Ar [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveArray%3CT%3E-3" class="impl"><a href="#impl-PrimitiveArray%3CT%3E-3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_trusted_len_iter" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.from_trusted_len_iter" class="fn">from_trusted_len_iter</a>&lt;I, P&gt;(iter: I) -&gt; <a class="struct" href="../struct. [...]
+    P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.Ar [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = P&gt;,</div></h4></section></summary><div class="docblock"><p>Creates a <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> from an iterator of trusted length.</p>
+<h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
+<p>The iterator must be <a href="https://doc.rust-lang.org/std/iter/trait.TrustedLen.html"><code>TrustedLen</code></a>.
+I.e. that <code>size_hint().1</code> correctly reports its length.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveArray%3CT%3E-4" class="impl"><a href="#impl-PrimitiveArray%3CT%3E-4" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.ArrowTimestampType.html" title="trait arrow::datatypes::ArrowTimestampType">ArrowTimestampType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_vec" class="method"><h4 class="code-header">pub fn <a href="#method.from_vec" class="fn">from_vec</a>(data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct al [...]
+    <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;&gt; [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_opt_vec" class="method"><h4 class="code-header">pub fn <a href="#method.from_opt_vec" class="fn">from_opt_vec</a>(
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;&gt;,
+    timezone: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum co [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.timezone" class="method"><h4 class="code-header">pub fn <a href="#method.timezone" class="fn">timezone</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="docblock [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timezone" class="method"><h4 class="code-header">pub fn <a href="#method.with_timezone" class="fn">with_timezone</a>(self, timezone: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timezone_utc" class="method"><h4 class="code-header">pub fn <a href="#method.with_timezone_utc" class="fn">with_timezone_utc</a>(self) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Construct a timestamp array with UTC</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timezone_opt" class="method"><h4 class="code-header">pub fn <a href="#method.with_timezone_opt" class="fn">with_timezone_opt</a>&lt;S&gt;(self, timezone: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;S&gt;) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray" [...]
+    S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;,</div></h4></section></summary><div class="docblock"><p>Construct a timestamp array with an optional timezone</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveArray%3CT%3E-5" class="impl"><a href="#impl-PrimitiveArray%3CT%3E-5" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;<div class="where">where
+    T: <a class="trait" href="../../datatypes/trait.DecimalType.html" title="trait arrow::datatypes::DecimalType">DecimalType</a> + <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_precision_and_scale" class="method"><h4 class="code-header">pub fn <a href="#method. [...]
+    self,
+    precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
+    scale: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a Decimal array with the same data as self, with the
+specified precision and scale.</p>
+<p>See <a href="../../datatypes/fn.validate_decimal_precision_and_scale.html" title="fn arrow::datatypes::validate_decimal_precision_and_scale"><code>validate_decimal_precision_and_scale</code></a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.validate_decimal_precision" class="method"><h4 class="code-header">pub fn <a href="#method.validate_decimal_precision" class="fn">validate_decimal_precision</a>(
+    &amp;self,
+    precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Validates values in this array can be properly interpreted
+with the specified precision.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.null_if_overflow_precision" class="method"><h4 class="code-header">pub fn <a href="#method.null_if_overflow_precision" class="fn">null_if_overflow_precision</a>(&amp;self, precision: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T& [...]
+will be casted to Null</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_as_string" class="method"><h4 class="code-header">pub fn <a href="#method.value_as_string" class="fn">value_as_string</a>(&amp;self, row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></s [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.precision" class="method"><h4 class="code-header">pub fn <a href="#method.precision" class="fn">precision</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Returns the decimal precision of this array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.scale" class="method"><h4 class="code-header">pub fn <a href="#method.scale" class="fn">scale</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></h4></section></summary><div class="docblock"><p>Returns the decimal scale of this array</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-PrimitiveArray%3CT%3E" class="impl"><a href="#impl-Array-for-PrimitiveArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="tra [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="../trait.ArrayAccessor.html#associatedtype.Item" class="associatedtype">Item</a> = &lt;T as [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;&amp;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> < [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&a [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>PrimitiveArray</code> from an array data reference.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-61" class="method trait-impl"><a href="#method.from-61" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a>) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" titl [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Date32Type.html" title="struct arrow::datatypes::Date32Type">Date32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Date32Type.html" title="struct arrow::datatypes::Date32Type">Date32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDate64Type+as+ArrowPrimi [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Date64Type.html" title="struct arrow::datatypes::Date64Type">Date64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Date64Type.html" title="struct arrow::datatypes::Date64Type">Date64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDecimal128Type+as+ArrowP [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Decimal128Type.html" title="struct arrow::datatypes::Decimal128Type">Decimal128Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimi [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Decimal128Type.html" title="struct arrow::datatypes::Decimal128Type">Decimal128Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDecimal256Ty [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Decimal256Type.html" title="struct arrow::datatypes::Decimal256Type">Decimal256Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimi [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Decimal256Type.html" title="struct arrow::datatypes::Decimal256Type">Decimal256Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CDurationMicr [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationMicrosecondType.html" title="struct arrow::datatypes::DurationMicrosecondType">DurationMicrosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../.. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationMicrosecondType.html" title="struct arrow::datatypes::DurationMicrosecondType">DurationMicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationMillisecondType.html" title="struct arrow::datatypes::DurationMillisecondType">DurationMillisecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../.. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationMillisecondType.html" title="struct arrow::datatypes::DurationMillisecondType">DurationMillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationNanosecondType.html" title="struct arrow::datatypes::DurationNanosecondType">DurationNanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../da [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationNanosecondType.html" title="struct arrow::datatypes::DurationNanosecondType">DurationNanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationSecondType.html" title="struct arrow::datatypes::DurationSecondType">DurationSecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trai [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationSecondType.html" title="struct arrow::datatypes::DurationSecondType">DurationSecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float16Type.html" title="struct arrow::datatypes::Float16Type">Float16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float16Type.html" title="struct arrow::datatypes::Float16Type">Float16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CFloat32Type+as+ArrowP [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float32Type.html" title="struct arrow::datatypes::Float32Type">Float32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float32Type.html" title="struct arrow::datatypes::Float32Type">Float32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CFloat64Type+as+ArrowP [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float64Type.html" title="struct arrow::datatypes::Float64Type">Float64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float64Type.html" title="struct arrow::datatypes::Float64Type">Float64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CInt16Type+as+ArrowPri [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int16Type.html" title="struct arrow::datatypes::Int16Type">Int16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#a [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int16Type.html" title="struct arrow::datatypes::Int16Type">Int16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CInt32Type+as+ArrowPrimitive [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int32Type.html" title="struct arrow::datatypes::Int32Type">Int32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#a [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int32Type.html" title="struct arrow::datatypes::Int32Type">Int32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CInt64Type+as+ArrowPrimitive [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int64Type.html" title="struct arrow::datatypes::Int64Type">Int64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#a [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int64Type.html" title="struct arrow::datatypes::Int64Type">Int64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CInt8Type+as+ArrowPrimitiveT [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int8Type.html" title="struct arrow::datatypes::Int8Type">Int8Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#asso [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int8Type.html" title="struct arrow::datatypes::Int8Type">Int8Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CIntervalDayTimeType+as+ArrowPr [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalDayTimeType.html" title="struct arrow::datatypes::IntervalDayTimeType">IntervalDayTimeType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/t [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalDayTimeType.html" title="struct arrow::datatypes::IntervalDayTimeType">IntervalDayTimeType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalMonthDayNanoType.html" title="struct arrow::datatypes::IntervalMonthDayNanoType">IntervalMonthDayNanoType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href=".. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalMonthDayNanoType.html" title="struct arrow::datatypes::IntervalMonthDayNanoType">IntervalMonthDayNanoType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalYearMonthType.html" title="struct arrow::datatypes::IntervalYearMonthType">IntervalYearMonthType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datat [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalYearMonthType.html" title="struct arrow::datatypes::IntervalYearMonthType">IntervalYearMonthType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time32MillisecondType.html" title="struct arrow::datatypes::Time32MillisecondType">Time32MillisecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datat [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time32MillisecondType.html" title="struct arrow::datatypes::Time32MillisecondType">Time32MillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time32SecondType.html" title="struct arrow::datatypes::Time32SecondType">Time32SecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.Arro [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time32SecondType.html" title="struct arrow::datatypes::Time32SecondType">Time32SecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CTime64 [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time64MicrosecondType.html" title="struct arrow::datatypes::Time64MicrosecondType">Time64MicrosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datat [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time64MicrosecondType.html" title="struct arrow::datatypes::Time64MicrosecondType">Time64MicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time64NanosecondType.html" title="struct arrow::datatypes::Time64NanosecondType">Time64NanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatype [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time64NanosecondType.html" title="struct arrow::datatypes::Time64NanosecondType">Time64NanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampMicrosecondType.html" title="struct arrow::datatypes::TimestampMicrosecondType">TimestampMicrosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href=".. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampMicrosecondType.html" title="struct arrow::datatypes::TimestampMicrosecondType">TimestampMicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampMillisecondType.html" title="struct arrow::datatypes::TimestampMillisecondType">TimestampMillisecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href=".. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampMillisecondType.html" title="struct arrow::datatypes::TimestampMillisecondType">TimestampMillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampNanosecondType.html" title="struct arrow::datatypes::TimestampNanosecondType">TimestampNanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../.. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampNanosecondType.html" title="struct arrow::datatypes::TimestampNanosecondType">TimestampNanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampSecondType.html" title="struct arrow::datatypes::TimestampSecondType">TimestampSecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/t [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampSecondType.html" title="struct arrow::datatypes::TimestampSecondType">TimestampSecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt16Type.html" title="struct arrow::datatypes::UInt16Type">UInt16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt16Type.html" title="struct arrow::datatypes::UInt16Type">UInt16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CUInt32Type+as+ArrowPrimi [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt32Type.html" title="struct arrow::datatypes::UInt32Type">UInt32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt32Type.html" title="struct arrow::datatypes::UInt32Type">UInt32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CUInt64Type+as+ArrowPrimi [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt64Type.html" title="struct arrow::datatypes::UInt64Type">UInt64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt64Type.html" title="struct arrow::datatypes::UInt64Type">UInt64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C%3CUInt8Type+as+ArrowPrimit [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt8Type.html" title="struct arrow::datatypes::UInt8Type">UInt8Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#a [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt8Type.html" title="struct arrow::datatypes::UInt8Type">UInt8Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CDate32Type+as+Arro [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Date32Type.html" title="struct arrow::datatypes::Date32Type">Date32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::d [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Date32Type.html" title="struct arrow::datatypes::Date32Type">Date32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CDate64Type+as+A [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Date64Type.html" title="struct arrow::datatypes::Date64Type">Date64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::d [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Date64Type.html" title="struct arrow::datatypes::Date64Type">Date64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CDecimal128Type+ [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Decimal128Type.html" title="struct arrow::datatypes::Decimal128Type">Decimal128Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="tr [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Decimal128Type.html" title="struct arrow::datatypes::Decimal128Type">Decimal128Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CDec [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Decimal256Type.html" title="struct arrow::datatypes::Decimal256Type">Decimal256Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="tr [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Decimal256Type.html" title="struct arrow::datatypes::Decimal256Type">Decimal256Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CDur [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationMicrosecondType.html" title="struct arrow::datatypes::DurationMicrosecondType">DurationMicrosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPr [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationMicrosecondType.html" title="struct arrow::datatypes::DurationMicrosecondType">DurationMicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationMillisecondType.html" title="struct arrow::datatypes::DurationMillisecondType">DurationMillisecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPr [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationMillisecondType.html" title="struct arrow::datatypes::DurationMillisecondType">DurationMillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationNanosecondType.html" title="struct arrow::datatypes::DurationNanosecondType">DurationNanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimi [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationNanosecondType.html" title="struct arrow::datatypes::DurationNanosecondType">DurationNanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.DurationSecondType.html" title="struct arrow::datatypes::DurationSecondType">DurationSecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.htm [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.DurationSecondType.html" title="struct arrow::datatypes::DurationSecondType">DurationSecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COpt [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float16Type.html" title="struct arrow::datatypes::Float16Type">Float16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float16Type.html" title="struct arrow::datatypes::Float16Type">Float16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CFloat32Type+ [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float32Type.html" title="struct arrow::datatypes::Float32Type">Float32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float32Type.html" title="struct arrow::datatypes::Float32Type">Float32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CFloat64Type+ [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Float64Type.html" title="struct arrow::datatypes::Float64Type">Float64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Float64Type.html" title="struct arrow::datatypes::Float64Type">Float64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CInt16Type+as [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int16Type.html" title="struct arrow::datatypes::Int16Type">Int16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::data [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int16Type.html" title="struct arrow::datatypes::Int16Type">Int16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CInt32Type+as+Arrow [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int32Type.html" title="struct arrow::datatypes::Int32Type">Int32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::data [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int32Type.html" title="struct arrow::datatypes::Int32Type">Int32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CInt64Type+as+Arrow [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int64Type.html" title="struct arrow::datatypes::Int64Type">Int64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::data [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int64Type.html" title="struct arrow::datatypes::Int64Type">Int64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CInt8Type+as+ArrowP [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Int8Type.html" title="struct arrow::datatypes::Int8Type">Int8Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatyp [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Int8Type.html" title="struct arrow::datatypes::Int8Type">Int8Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CIntervalDayTimeType+a [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalDayTimeType.html" title="struct arrow::datatypes::IntervalDayTimeType">IntervalDayTimeType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalDayTimeType.html" title="struct arrow::datatypes::IntervalDayTimeType">IntervalDayTimeType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalMonthDayNanoType.html" title="struct arrow::datatypes::IntervalMonthDayNanoType">IntervalMonthDayNanoType</a> as <a class="trait" href="../../datatypes/trait.Arro [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalMonthDayNanoType.html" title="struct arrow::datatypes::IntervalMonthDayNanoType">IntervalMonthDayNanoType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.IntervalYearMonthType.html" title="struct arrow::datatypes::IntervalYearMonthType">IntervalYearMonthType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiv [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.IntervalYearMonthType.html" title="struct arrow::datatypes::IntervalYearMonthType">IntervalYearMonthType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time32MillisecondType.html" title="struct arrow::datatypes::Time32MillisecondType">Time32MillisecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiv [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time32MillisecondType.html" title="struct arrow::datatypes::Time32MillisecondType">Time32MillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time32SecondType.html" title="struct arrow::datatypes::Time32SecondType">Time32SecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" tit [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time32SecondType.html" title="struct arrow::datatypes::Time32SecondType">Time32SecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time64MicrosecondType.html" title="struct arrow::datatypes::Time64MicrosecondType">Time64MicrosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiv [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time64MicrosecondType.html" title="struct arrow::datatypes::Time64MicrosecondType">Time64MicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.Time64NanosecondType.html" title="struct arrow::datatypes::Time64NanosecondType">Time64NanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveTy [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.Time64NanosecondType.html" title="struct arrow::datatypes::Time64NanosecondType">Time64NanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampMicrosecondType.html" title="struct arrow::datatypes::TimestampMicrosecondType">TimestampMicrosecondType</a> as <a class="trait" href="../../datatypes/trait.Arro [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampMicrosecondType.html" title="struct arrow::datatypes::TimestampMicrosecondType">TimestampMicrosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampMillisecondType.html" title="struct arrow::datatypes::TimestampMillisecondType">TimestampMillisecondType</a> as <a class="trait" href="../../datatypes/trait.Arro [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampMillisecondType.html" title="struct arrow::datatypes::TimestampMillisecondType">TimestampMillisecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="imp [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampNanosecondType.html" title="struct arrow::datatypes::TimestampNanosecondType">TimestampNanosecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPr [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampNanosecondType.html" title="struct arrow::datatypes::TimestampNanosecondType">TimestampNanosecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-F [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.TimestampSecondType.html" title="struct arrow::datatypes::TimestampSecondType">TimestampSecondType</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType. [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.TimestampSecondType.html" title="struct arrow::datatypes::TimestampSecondType">TimestampSecondType</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3C [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt16Type.html" title="struct arrow::datatypes::UInt16Type">UInt16Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::d [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt16Type.html" title="struct arrow::datatypes::UInt16Type">UInt16Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CUInt32Type+as+A [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt32Type.html" title="struct arrow::datatypes::UInt32Type">UInt32Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::d [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt32Type.html" title="struct arrow::datatypes::UInt32Type">UInt32Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CUInt64Type+as+A [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt64Type.html" title="struct arrow::datatypes::UInt64Type">UInt64Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::d [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt64Type.html" title="struct arrow::datatypes::UInt64Type">UInt64Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3COption%3C%3CUInt8Type+as+Ar [...]
+    data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.UInt8Type.html" title="struct arrow::datatypes::UInt8Type">UInt8Type</a> as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::data [...]
+) -&gt; <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;<a class="struct" href="../../datatypes/struct.UInt8Type.html" title="struct arrow::datatypes::UInt8Type">UInt8Type</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CPtr%3E-for-PrimitiveArray%3C [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,
+    Ptr: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../struct.NativeAdapter.html" title="struct arrow::array::NativeAdapter">NativeAdapter</a>&lt;T&gt;&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a href="#method.from_iter" class="anchor">§</a><h4 class= [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = Ptr&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#asso [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, o [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-PrimitiveArray%3CT%3E" class="impl"><a href="#impl-Freeze-for-PrimitiveArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-l [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe" [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><sectio [...]
+    &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">Unwin [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"ArrayIter<&'a PrimitiveArray<T>>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../iterator/struct.ArrayIter.html\" title=\"struct arrow::array::iterator::ArrayIter\">ArrayIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" h [...]
\ No newline at end of file
diff --git a/arrow/array/array/struct.RunArray.html b/arrow/array/array/struct.RunArray.html
new file mode 100644
index 0000000000..9fd6bbee50
--- /dev/null
+++ b/arrow/array/array/struct.RunArray.html
@@ -0,0 +1,129 @@
+<!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="An array of run-end encoded values"><title>RunArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,Sour [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div>{
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    run_ends: <a class="struct" href="../../buffer/struct.RunEndBuffer.html" title="struct arrow::buffer::RunEndBuffer">RunEndBuffer</a>&lt;&lt;R as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>&gt;,
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#run-end-encoded-layout">run-end encoded values</a></p>
+<p>This encoding is variation on <a href="https://en.wikipedia.org/wiki/Run-length_encoding">run-length encoding (RLE)</a>
+and is good for representing data containing same values repeated consecutively.</p>
+<p><a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> contains <code>run_ends</code> array and <code>values</code> array of same length.
+The <code>run_ends</code> array stores the indexes at which the run ends. The <code>values</code> array
+stores the value of each run. Below example illustrates how a logical array is represented in
+<a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a></p>
+<div class="example-wrap"><pre class="language-text"><code>┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐
+  ┌─────────────────┐  ┌─────────┐       ┌─────────────────┐
+│ │        A        │  │    2    │ │     │        A        │
+  ├─────────────────┤  ├─────────┤       ├─────────────────┤
+│ │        D        │  │    3    │ │     │        A        │    run length of &#39;A&#39; = runs_ends[0] - 0 = 2
+  ├─────────────────┤  ├─────────┤       ├─────────────────┤
+│ │        B        │  │    6    │ │     │        D        │    run length of &#39;D&#39; = run_ends[1] - run_ends[0] = 1
+  └─────────────────┘  └─────────┘       ├─────────────────┤
+│        values          run_ends  │     │        B        │
+                                         ├─────────────────┤
+└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘     │        B        │
+                                         ├─────────────────┤
+               RunArray                  │        B        │    run length of &#39;B&#39; = run_ends[2] - run_ends[1] = 3
+              length = 3                 └─────────────────┘
+
+                                            Logical array
+                                               Contents</code></pre></div></div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.run_ends" class=" [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.logical_len" class="method"><h4 class="code-header">pub fn <a href="#method.logical_len" class="fn">logical_len</a>(run_ends: &amp;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::Primitive [...]
+by the given run_ends array.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    run_ends: &amp;<a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;R&gt;,
+    values: &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;R&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create RunArray using given run_ends (index where a run ends)
+and the values (value of the run). Returns an error if the given data is not compatible
+with RunEndEncoded specification.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.run_ends" class="method"><h4 class="code-header">pub fn <a href="#method.run_ends" class="fn">run_ends</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.RunEndBuffer.html" title="struct arrow::buffer::RunEndBuffer">RunEndBuffer</a>&lt;&lt;R as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType< [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+<p>Note: any slicing of this <a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> array is not applied to the returned array
+and must be handled separately</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_start_physical_index" class="method"><h4 class="code-header">pub fn <a href="#method.get_start_physical_index" class="fn">get_start_physical_index</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the physical index at which the array slice starts.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_end_physical_index" class="method"><h4 class="code-header">pub fn <a href="#method.get_end_physical_index" class="fn">get_end_physical_index</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the physical index at which the array slice ends.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.downcast" class="method"><h4 class="code-header">pub fn <a href="#method.downcast" class="fn">downcast</a>&lt;V&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray">TypedRunArray</a>&lt;'_, R, V&gt;&gt;<di [...]
+    V: 'static,</div></h4></section></summary><div class="docblock"><p>Downcast this <a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> to a <a href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray"><code>TypedRunArray</code></a></p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, ArrayAccessor, RunArray, StringArray, types::Int32Type};
+
+<span class="kw">let </span>orig = [<span class="prelude-val">Some</span>(<span class="string">"a"</span>), <span class="prelude-val">Some</span>(<span class="string">"b"</span>), <span class="prelude-val">None</span>];
+<span class="kw">let </span>run_array = RunArray::&lt;Int32Type&gt;::from_iter(orig);
+<span class="kw">let </span>typed = run_array.downcast::&lt;StringArray&gt;().unwrap();
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">0</span>), <span class="string">"a"</span>);
+<span class="macro">assert_eq!</span>(typed.value(<span class="number">1</span>), <span class="string">"b"</span>);
+<span class="macro">assert!</span>(typed.values().is_null(<span class="number">2</span>));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_physical_index" class="method"><h4 class="code-header">pub fn <a href="#method.get_physical_index" class="fn">get_physical_index</a>(&amp;self, logical_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docb [...]
+This function adjusts the input logical index based on <code>ArrayData::offset</code>
+Performs a binary search on the run_ends array for the input index.</p>
+<p>The result is arbitrary if <code>logical_index &gt;= self.len()</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_physical_indices" class="method"><h4 class="code-header">pub fn <a href="#method.get_physical_indices" class="fn">get_physical_indices</a>&lt;I&gt;(
+    &amp;self,
+    logical_indices: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[I]</a>,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div clas [...]
+    I: <a class="trait" href="../../datatypes/trait.ArrowNativeType.html" title="trait arrow::datatypes::ArrowNativeType">ArrowNativeType</a>,</div></h4></section></summary><div class="docblock"><p>Returns the physical indices of the input logical indices. Returns error if any of the logical
+index cannot be converted to physical index. The logical indices are sorted and iterated along
+with run_ends array to find matching physical index. The approach used here was chosen over
+finding physical index for each logical index using binary search using the function
+<code>get_physical_index</code>. Running benchmarks on both approaches showed that the approach used here
+scaled well for larger inputs.
+See <a href="https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727">https://github.com/apache/arrow-rs/pull/3622#issuecomment-1407753727</a> for more details.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.RunArray.html" title="struct arrow::array:: [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-RunArray%3CT%3E" class="impl"><a href="#impl-Array-for-RunArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::arra [...]
+    T: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href= [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self)  [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mu [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(data: <a class [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array: <a  [...]
+    T: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>RunArray</code> from an iterator of strings.</p>
+<h4 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h4>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{RunArray, PrimitiveArray, StringArray, types::Int16Type};
+
+<span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array: RunArray&lt;Int16Type&gt; = test.into_iter().collect();
+<span class="macro">assert_eq!</span>(
+    <span class="string">"RunArray {run_ends: [2, 3, 4], values: StringArray\n[\n  \"a\",\n  \"b\",\n  \"c\",\n]}\n"</span>,
+    <span class="macro">format!</span>(<span class="string">"{:?}"</span>, array)
+);</code></pre></div>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl"><a href="#method.from_iter-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a>&lt;I&gt;(iter: I) -&gt; <a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;T&gt;<div  [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.fr [...]
+    T: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="docblock"><p>Constructs a <code>RunArray</code> from an iterator of optional strings.</p>
+<h4 id="example"><a class="doc-anchor" href="#example">§</a>Example:</h4>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{RunArray, PrimitiveArray, StringArray, types::Int16Type};
+
+<span class="kw">let </span>test = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"c"</span>];
+<span class="kw">let </span>array: RunArray&lt;Int16Type&gt; = test
+    .iter()
+    .map(|<span class="kw-2">&amp;</span>x| <span class="kw">if </span>x == <span class="string">"b" </span>{ <span class="prelude-val">None </span>} <span class="kw">else </span>{ <span class="prelude-val">Some</span>(x) })
+    .collect();
+<span class="macro">assert_eq!</span>(
+    <span class="string">"RunArray {run_ends: [2, 3, 5], values: StringArray\n[\n  \"a\",\n  null,\n  \"c\",\n]}\n"</span>,
+    <span class="macro">format!</span>(<span class="string">"{:?}"</span>, array)
+);</code></pre></div>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a href="#method.from_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a>&lt;I&gt;(iter: I) -&gt; <a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;T&gt;<div clas [...]
+    I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;,</div></h4></section></summary><div class='docblock' [...]
+    &lt;R as <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><sectio [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.StructArray.html b/arrow/array/array/struct.StructArray.html
new file mode 100644
index 0000000000..2ae0d620c7
--- /dev/null
+++ b/arrow/array/array/struct.StructArray.html
@@ -0,0 +1,126 @@
+<!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="An array of structs"><title>StructArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Re [...]
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+    fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#struct-layout">structs</a></p>
+<p>Each child (called <em>field</em>) is represented by a separate array.</p>
+<h2 id="comparison-with-recordbatch"><a class="doc-anchor" href="#comparison-with-recordbatch">§</a>Comparison with <a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a></h2>
+<p>Both <a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a> and <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> represent a collection of columns / arrays with the
+same length.</p>
+<p>However, there are a couple of key differences:</p>
+<ul>
+<li><a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> can be nested within other <a href="../trait.Array.html" title="trait arrow::array::Array"><code>Array</code></a>, including itself</li>
+<li><a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a> can contain top-level metadata on its associated <a href="../../datatypes/struct.Schema.html" title="struct arrow::datatypes::Schema"><code>Schema</code></a></li>
+<li><a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> can contain top-level nulls, i.e. <code>null</code></li>
+<li><a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a> can only represent nulls in its child columns, i.e. <code>{"field": null}</code></li>
+</ul>
+<p><a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> is therefore a more general data container than <a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a>, and as such
+code that needs to handle both will typically share an implementation in terms of
+<a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> and convert to/from <a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a> as necessary.</p>
+<p><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From"><code>From</code></a> implementations are provided to facilitate this conversion, however, converting
+from a <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> containing top-level nulls to a <a href="../../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch"><code>RecordBatch</code></a> will panic, as there
+is no way to preserve them.</p>
+<h2 id="example-create-an-array-from-a-vector-of-fields"><a class="doc-anchor" href="#example-create-an-array-from-a-vector-of-fields">§</a>Example: Create an array from a vector of fields</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>arrow_array::{Array, ArrayRef, BooleanArray, Int32Array, StructArray};
+<span class="kw">use </span>arrow_schema::{DataType, Field};
+
+<span class="kw">let </span>boolean = Arc::new(BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>]));
+<span class="kw">let </span>int = Arc::new(Int32Array::from(<span class="macro">vec!</span>[<span class="number">42</span>, <span class="number">28</span>, <span class="number">19</span>, <span class="number">31</span>]));
+
+<span class="kw">let </span>struct_array = StructArray::from(<span class="macro">vec!</span>[
+    (
+        Arc::new(Field::new(<span class="string">"b"</span>, DataType::Boolean, <span class="bool-val">false</span>)),
+        boolean.clone() <span class="kw">as </span>ArrayRef,
+    ),
+    (
+        Arc::new(Field::new(<span class="string">"c"</span>, DataType::Int32, <span class="bool-val">false</span>)),
+        int.clone() <span class="kw">as </span>ArrayRef,
+    ),
+]);
+<span class="macro">assert_eq!</span>(struct_array.column(<span class="number">0</span>).as_ref(), boolean.as_ref());
+<span class="macro">assert_eq!</span>(struct_array.column(<span class="number">1</span>).as_ref(), int.as_ref());
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, struct_array.len());
+<span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.null_count());
+<span class="macro">assert_eq!</span>(<span class="number">0</span>, struct_array.offset());</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor field">§</a><code>len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: < [...]
+    fields: <a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a>,
+    arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> from the provided parts, panicking on failure</p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <a href="../struct.StructArray.html#method.try_new" title="associated function arrow::array::StructArray::try_new"><code>Self::try_new</code></a> returns an error</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    fields: <a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a>,
+    arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.StructArray.html" title="struct arrow::array:: [...]
+<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
+<p>Errors if</p>
+<ul>
+<li><code>fields.len() != arrays.len()</code></li>
+<li><code>fields[i].data_type() != arrays[i].data_type()</code></li>
+<li><code>arrays[i].len() != arrays[j].len()</code></li>
+<li><code>arrays[i].len() != nulls.len()</code></li>
+<li><code>!fields[i].is_nullable() &amp;&amp; !nulls.contains(arrays[i].nulls())</code></li>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_null" class="method"><h4 class="code-header">pub fn <a href="#method.new_null" class="fn">new_null</a>(fields: <a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct ar [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><h4 class="code-header">pub unsafe fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(
+    fields: <a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a>,
+    arrays: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+    nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;,
+) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a></h4></section></summary><div class="docblock"><p>Create a new <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a> from the provided parts without validation</p>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>Safe if <a href="../struct.StructArray.html#method.new" title="associated function arrow::array::StructArray::new"><code>Self::new</code></a> would not panic with the given arguments</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_empty_fields" class="method"><h4 class="code-header">pub fn <a href="#method.new_empty_fields" class="fn">new_empty_fields</a>(len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, nulls: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../.. [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>If <code>len != nulls.len()</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(self) -&gt; (<a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rus [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.column" class="method"><h4 class="code-header">pub fn <a href="#method.column" class="fn">column</a>(&amp;self, pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" t [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.num_columns" class="method"><h4 class="code-header">pub fn <a href="#method.num_columns" class="fn">num_columns</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Return the number of fields in this struct array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.columns" class="method"><h4 class="code-header">pub fn <a href="#method.columns" class="fn">columns</a>(&amp;self) -&gt; &amp;[<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;]</h4></section></summary><div class="docblock"><p>Re [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.columns_ref" class="method"><h4 class="code-header">pub fn <a href="#method.columns_ref" class="fn">columns_ref</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="t [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.column_names" class="method"><h4 class="code-header">pub fn <a href="#method.column_names" class="fn">column_names</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="doc [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields">Fields</a></h4></section></summary><div class="docblock"><p>Returns the <a href="../../datatypes/struct.Fields.html" title="struct arrow::datatypes::Fields"><code>Fields</code></a>  [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.column_by_name" class="method"><h4 class="code-header">pub fn <a href="#method.column_by_name" class="fn">column_by_name</a>(&amp;self, column_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="s [...]
+<p>Note: A schema can currently have duplicate field names, in which case
+the first field will always be selected.
+This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.StructArray.html" title="struct arrow::array:: [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-StructArray" class="impl"><a href="#impl-Array-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</ [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method trait-impl"><a href="#method.logical_nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title=" [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a clas [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+<p>Note: A schema can currently have duplicate field names, in which case
+the first field will always be selected.
+This issue will be addressed in <a href="https://issues.apache.org/jira/browse/ARROW-11178">ARROW-11178</a></p>
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>Panics if the name is not in the schema.</p>
+</div></details><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" hr [...]
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="impl"><a href="#impl-TryFrom%3CVec%3C(%26str,+Arc%3Cdyn+Array%3E)%3E%3E-for-StructArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert: [...]
+    values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;)&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.StructArray.html" title="struct arrow::array::StructArray">StructArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>builds a StructArray from a vector of names and arrays.</p>
+</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a></h4></section></summary><div class='docblock'>T [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class= [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.TypedDictionaryArray.html b/arrow/array/array/struct.TypedDictionaryArray.html
new file mode 100644
index 0000000000..954969c316
--- /dev/null
+++ b/arrow/array/array/struct.TypedDictionaryArray.html
@@ -0,0 +1,66 @@
+<!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 `DictionaryArray` typed on its child values array"><title>TypedDictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSa [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div>{
+    dictionary: &amp;'a <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;,
+    values: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> typed on its child values array</p>
+<p>Implements <a href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor"><code>ArrayAccessor</code></a> allowing fast access to its elements</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{DictionaryArray, StringArray, types::Int32Type};
+
+<span class="kw">let </span>orig = [<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>];
+<span class="kw">let </span>dictionary = DictionaryArray::&lt;Int32Type&gt;::from_iter(orig);
+
+<span class="comment">// `TypedDictionaryArray` allows you to access the values directly
+</span><span class="kw">let </span>typed = dictionary.downcast_dict::&lt;StringArray&gt;().unwrap();
+
+<span class="kw">for </span>(maybe_val, orig) <span class="kw">in </span>typed.into_iter().zip(orig) {
+    <span class="macro">assert_eq!</span>(maybe_val.unwrap(), orig)
+}</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.dictionary" class="structfield section-header"><a href="#structfield.dictionary" class="anchor field">§</a><code>dictionary: &amp;'a <a class="struct" href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray">DictionaryArray</a>&lt;K&gt;</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfi [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.keys" class="method"><h4 class="code-header">pub fn <a href="#method.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;'a <a class="struct" href="../struct.PrimitiveArray.html" title="struct arrow::array: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this <a href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray"><code>Typ [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedDictionaryArray%3C'_,+K,+V%3E" class="impl"><a href="#impl-Array-for-TypedDictionaryArray%3C'_,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="trait" href="../t [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https: [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::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">&amp;'a V</a>: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Def [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;<a class="struct" href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray">TypedDictionaryArray</a>&lt;'a, K, V&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at in [...]
+    &amp;self,
+    index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;<a class="struct" href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray">TypedDictionaryArray</a>&lt;'a, K, V&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at in [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn"> [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>( [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,
+    <a class="struct" href="../struct.TypedDictionaryArray.html" title="struct arrow::array::TypedDictionaryArray">TypedDictionaryArray</a>&lt;'_, K, V&gt;: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 cla [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a href="#impl-Freeze-for-TypedDictio [...]
+    V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Sync-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a href="#impl-Sync-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, K, V&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a  [...]
+    V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="impl"><a href="#impl-Unpin-for-TypedDictionaryArray%3C'a,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, K, V&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> fo [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.TypedRunArray.html b/arrow/array/array/struct.TypedRunArray.html
new file mode 100644
index 0000000000..ce4aeeb591
--- /dev/null
+++ b/arrow/array/array/struct.TypedRunArray.html
@@ -0,0 +1,69 @@
+<!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 `RunArray` typed typed on its child values array"><title>TypedRunArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Mediu [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div>{
+    run_array: &amp;'a <a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;R&gt;,
+    values: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> typed typed on its child values array</p>
+<p>Implements <a href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor"><code>ArrayAccessor</code></a> and <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator"><code>IntoIterator</code></a> allowing fast access to its elements</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{RunArray, StringArray, types::Int32Type};
+
+<span class="kw">let </span>orig = [<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>];
+<span class="kw">let </span>ree_array = RunArray::&lt;Int32Type&gt;::from_iter(orig);
+
+<span class="comment">// `TypedRunArray` allows you to access the values directly
+</span><span class="kw">let </span>typed = ree_array.downcast::&lt;StringArray&gt;().unwrap();
+
+<span class="kw">for </span>(maybe_val, orig) <span class="kw">in </span>typed.into_iter().zip(orig) {
+    <span class="macro">assert_eq!</span>(maybe_val.unwrap(), orig)
+}</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.run_array" class="structfield section-header"><a href="#structfield.run_array" class="anchor field">§</a><code>run_array: &amp;'a <a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;R&gt;</code></span><span id="structfield.values" class="structfield section-header"><a href="#structfield.values" class="ancho [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.run_ends" class="method"><h4 class="code-header">pub fn <a href="#method.run_ends" class="fn">run_ends</a>(&amp;self) -&gt; &amp;'a <a class="struct" href="../../buffer/struct.RunEndBuffer.html" title="struct arrow::buffer: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.values" class="method"><h4 class="code-header">pub fn <a href="#method.values" class="fn">values</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a></h4></section></summary><div class="docblock"><p>Returns the values of this <a href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray"><code>TypedRunArray</co [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.run_array" class="method"><h4 class="code-header">pub fn <a href="#method.run_array" class="fn">run_array</a>(&amp;self) -&gt; &amp;'a <a class="struct" href="../struct.RunArray.html" title="struct arrow::array::RunArray">RunArray</a>&lt;R&gt;</h4></section></summary><div class="docblock"><p>Returns the run array of this <a href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray" [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-TypedRunArray%3C'_,+R,+V%3E" class="impl"><a href="#impl-Array-for-TypedRunArray%3C'_,+R,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R, V&gt; <a class="trait" href="../trait.Array.htm [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https: [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::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">&amp;'a V</a>: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Def [...]
+    &amp;self,
+    logical_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;<a class="struct" href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray">TypedRunArray</a>&lt;'a, R, V&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> <a [...]
+    &amp;self,
+    logical_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; &lt;<a class="struct" href="../struct.TypedRunArray.html" title="struct arrow::array::TypedRunArray">TypedRunArray</a>&lt;'a, R, V&gt; as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4></section></summary><div class='docblock'>Returns the element at index <code>i</code> <a [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self)  [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mu [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::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">&amp;'a V</a>: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Def [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a href="#impl-Freeze-for-TypedRunArray%3C'a,+R,+V%3E" class="anc [...]
+    V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Sync-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a href="#impl-Sync-for-TypedRunArray%3C'a,+R,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, R, V&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" [...]
+    V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-TypedRunArray%3C'a,+R,+V%3E" class="impl"><a href="#impl-Unpin-for-TypedRunArray%3C'a,+R,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, R, V&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="st [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/struct.UnionArray.html b/arrow/array/array/struct.UnionArray.html
new file mode 100644
index 0000000000..d7416dc889
--- /dev/null
+++ b/arrow/array/array/struct.UnionArray.html
@@ -0,0 +1,173 @@
+<!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="An array of values of varying types"><title>UnionArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+    data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    type_ids: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
+    offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
+    fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a [...]
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array of <a href="https://arrow.apache.org/docs/format/Columnar.html#union-layout">values of varying types</a></p>
+<p>Each slot in a <a href="../struct.UnionArray.html" title="struct arrow::array::UnionArray">UnionArray</a> can have a value chosen from a number
+of types.  Each of the possible types are named like the fields of
+a <a href="../struct.StructArray.html" title="struct arrow::array::StructArray"><code>StructArray</code></a>.  A <code>UnionArray</code> can
+have two possible memory layouts, “dense” or “sparse”.  For more
+information on please see the
+<a href="https://arrow.apache.org/docs/format/Columnar.html#union-layout">specification</a>.</p>
+<p><a href="../builder/struct.UnionBuilder.html" title="struct arrow::array::builder::UnionBuilder">UnionBuilder</a> can be used to
+create <a href="../struct.UnionArray.html" title="struct arrow::array::UnionArray">UnionArray</a>’s of primitive types. <code>UnionArray</code>’s of nested
+types are also supported but not via <code>UnionBuilder</code>, see the tests
+for examples.</p>
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2><h3 id="create-a-dense-unionarray-1-32-34"><a class="doc-anchor" href="#create-a-dense-unionarray-1-32-34">§</a>Create a dense UnionArray <code>[1, 3.2, 34]</code></h3>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_buffer::ScalarBuffer;
+<span class="kw">use </span>arrow_schema::<span class="kw-2">*</span>;
+<span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>arrow_array::{Array, Int32Array, Float64Array, UnionArray};
+
+<span class="kw">let </span>int_array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">34</span>]);
+<span class="kw">let </span>float_array = Float64Array::from(<span class="macro">vec!</span>[<span class="number">3.2</span>]);
+<span class="kw">let </span>type_ids = [<span class="number">0</span>, <span class="number">1</span>, <span class="number">0</span>].into_iter().collect::&lt;ScalarBuffer&lt;i8&gt;&gt;();
+<span class="kw">let </span>offsets = [<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>].into_iter().collect::&lt;ScalarBuffer&lt;i32&gt;&gt;();
+
+<span class="kw">let </span>union_fields = [
+    (<span class="number">0</span>, Arc::new(Field::new(<span class="string">"A"</span>, DataType::Int32, <span class="bool-val">false</span>))),
+    (<span class="number">1</span>, Arc::new(Field::new(<span class="string">"B"</span>, DataType::Float64, <span class="bool-val">false</span>))),
+].into_iter().collect::&lt;UnionFields&gt;();
+
+<span class="kw">let </span>children = <span class="macro">vec!</span>[
+    Arc::new(int_array) <span class="kw">as </span>Arc&lt;<span class="kw">dyn </span>Array&gt;,
+    Arc::new(float_array),
+];
+
+<span class="kw">let </span>array = UnionArray::try_new(
+    union_fields,
+    type_ids,
+    <span class="prelude-val">Some</span>(offsets),
+    children,
+).unwrap();
+
+<span class="kw">let </span>value = array.value(<span class="number">0</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert_eq!</span>(<span class="number">1</span>, value);
+
+<span class="kw">let </span>value = array.value(<span class="number">1</span>).as_any().downcast_ref::&lt;Float64Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert!</span>(<span class="number">3.2 </span>- value &lt; f64::EPSILON);
+
+<span class="kw">let </span>value = array.value(<span class="number">2</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert_eq!</span>(<span class="number">34</span>, value);</code></pre></div>
+<h3 id="create-a-sparse-unionarray-1-32-34"><a class="doc-anchor" href="#create-a-sparse-unionarray-1-32-34">§</a>Create a sparse UnionArray <code>[1, 3.2, 34]</code></h3>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_buffer::ScalarBuffer;
+<span class="kw">use </span>arrow_schema::<span class="kw-2">*</span>;
+<span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>arrow_array::{Array, Int32Array, Float64Array, UnionArray};
+
+<span class="kw">let </span>int_array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">34</span>)]);
+<span class="kw">let </span>float_array = Float64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">3.2</span>), <span class="prelude-val">None</span>]);
+<span class="kw">let </span>type_ids = [<span class="number">0_i8</span>, <span class="number">1</span>, <span class="number">0</span>].into_iter().collect::&lt;ScalarBuffer&lt;i8&gt;&gt;();
+
+<span class="kw">let </span>union_fields = [
+    (<span class="number">0</span>, Arc::new(Field::new(<span class="string">"A"</span>, DataType::Int32, <span class="bool-val">false</span>))),
+    (<span class="number">1</span>, Arc::new(Field::new(<span class="string">"B"</span>, DataType::Float64, <span class="bool-val">false</span>))),
+].into_iter().collect::&lt;UnionFields&gt;();
+
+<span class="kw">let </span>children = <span class="macro">vec!</span>[
+    Arc::new(int_array) <span class="kw">as </span>Arc&lt;<span class="kw">dyn </span>Array&gt;,
+    Arc::new(float_array),
+];
+
+<span class="kw">let </span>array = UnionArray::try_new(
+    union_fields,
+    type_ids,
+    <span class="prelude-val">None</span>,
+    children,
+).unwrap();
+
+<span class="kw">let </span>value = array.value(<span class="number">0</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert_eq!</span>(<span class="number">1</span>, value);
+
+<span class="kw">let </span>value = array.value(<span class="number">1</span>).as_any().downcast_ref::&lt;Float64Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert!</span>(<span class="number">3.2 </span>- value &lt; f64::EPSILON);
+
+<span class="kw">let </span>value = array.value(<span class="number">2</span>).as_any().downcast_ref::&lt;Int32Array&gt;().unwrap().value(<span class="number">0</span>);
+<span class="macro">assert_eq!</span>(<span class="number">34</span>, value);</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></code></span><span id="structfield.type_ids" class="structfield section-header"><a href="#structfield.type_ids" class="anchor  [...]
+    fields: <a class="struct" href="../../datatypes/struct.UnionFields.html" title="struct arrow::datatypes::UnionFields">UnionFields</a>,
+    type_ids: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
+    offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
+    children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+) -&gt; <a class="struct" href="../struct.UnionArray.html" title="struct arrow::array::UnionArray">UnionArray</a></h4></section></summary><div class="docblock"><p>Creates a new <code>UnionArray</code>.</p>
+<p>Accepts type ids, child arrays and optionally offsets (for dense unions) to create
+a new <code>UnionArray</code>.  This method makes no attempt to validate the data provided by the
+caller and assumes that each of the components are correct and consistent with each other.
+See <code>try_new</code> for an alternative that validates the data provided.</p>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
+<p>The <code>type_ids</code> values should be positive and must match one of the type ids of the fields provided in <code>fields</code>.
+These values are used to index into the <code>children</code> arrays.</p>
+<p>The <code>offsets</code> is provided in the case of a dense union, sparse unions should use <code>None</code>.
+If provided the <code>offsets</code> values should be positive and must be less than the length of the
+corresponding array.</p>
+<p>In both cases above we use signed integer types to maintain compatibility with other
+Arrow implementations.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(
+    fields: <a class="struct" href="../../datatypes/struct.UnionFields.html" title="struct arrow::datatypes::UnionFields">UnionFields</a>,
+    type_ids: <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;,
+    offsets: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;&gt;,
+    children: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;&gt;,
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../struct.UnionArray.html" title="struct arrow::array::UnionArray">UnionArray</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a new <code>UnionArray</code>, validating the inputs provided.</p>
+<p>The order of child arrays child array order must match the fields order</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.child" class="method"><h4 class="code-header">pub fn <a href="#method.child" class="fn">child</a>(&amp;self, type_id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title= [...]
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if the <code>type_id</code> provided is not present in the array’s DataType
+in the <code>Union</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method"><h4 class="code-header">pub fn <a href="#method.type_id" class="fn">type_id</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a></h4></section></summary><div class="docblock"><p>Returns the <code>type_id</code> for t [...]
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
+<p>Panics if <code>index</code> is greater than or equal to the number of child arrays</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.type_ids" class="method"><h4 class="code-header">pub fn <a href="#method.type_ids" class="fn">type_ids</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;</h4></section></summary><div class="docblock"><p>Retur [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.offsets" class="method"><h4 class="code-header">pub fn <a href="#method.offsets" class="fn">offsets</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitiv [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value_offset" class="method"><h4 class="code-header">pub fn <a href="#method.value_offset" class="fn">value_offset</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the offse [...]
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
+<p>Panics if <code>index</code> is greater than or equal the length of the array.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trai [...]
+<h5 id="panics-3"><a class="doc-anchor" href="#panics-3">§</a>Panics</h5>
+<p>Panics if index <code>i</code> is out of bounds</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.type_names" class="method"><h4 class="code-header">pub fn <a href="#method.type_names" class="fn">type_names</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="docblock" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../struct.UnionArray.html" title="struct arrow::array [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_parts" class="method"><h4 class="code-header">pub fn <a href="#method.into_parts" class="fn">into_parts</a>(
+    self,
+) -&gt; (<a class="struct" href="../../datatypes/struct.UnionFields.html" title="struct arrow::datatypes::UnionFields">UnionFields</a>, <a class="struct" href="../../buffer/struct.ScalarBuffer.html" title="struct arrow::buffer::ScalarBuffer">ScalarBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>&gt;, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt; [...]
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = UnionBuilder::new_dense();
+builder.append::&lt;Int32Type&gt;(<span class="string">"a"</span>, <span class="number">1</span>).unwrap();
+<span class="kw">let </span>union_array = builder.build()<span class="question-mark">?</span>;
+
+<span class="comment">// Deconstruct into parts
+</span><span class="kw">let </span>(union_fields, type_ids, offsets, children) = union_array.into_parts();
+
+<span class="comment">// Reconstruct from parts
+</span><span class="kw">let </span>union_array = UnionArray::try_new(
+    union_fields,
+    type_ids,
+    offsets,
+    children,
+);</code></pre></div>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Array-for-UnionArray" class="impl"><a href="#impl-Array-for-UnionArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> [...]
+downcasted to a specific implementation. <a href="../trait.Array.html#tymethod.as_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></ [...]
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>. <a href="../trait.Array.html#tymethod.offset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nulls" class="method trait-impl"><a href="#method.nulls" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Optio [...]
+null values of this array, if any. <a href="../trait.Array.html#method.logical_nulls">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method trait-impl"><a href="#method.is_nullable" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></ [...]
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_array_memory_size" class="method trait-impl"><a href="#method.get_array_memory_size" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html" [...]
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method trait-impl"><a href="#method.is_null" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="pr [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>. <a href="../trait.Array.html#method.is_valid">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method trait-impl"><a href="#method.null_count" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Array.html#method.null_count" class="fn">null_count</a>(&amp;self [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id-1" class="anchor">§</a><h4 class="code-header">fn <a  [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsaf [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method trait-impl"><a href="#method.get" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Datum.html#tymethod.get" class="fn">get</a>(&amp;self) -&gt; (&amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Arr [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href=" [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Ungil-for-T" class="impl"><a href="#impl-Ungil-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Ungil for T<div class="where">where
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/trait.AnyDictionaryArray.html b/arrow/array/array/trait.AnyDictionaryArray.html
new file mode 100644
index 0000000000..d5f6eab8a0
--- /dev/null
+++ b/arrow/array/array/trait.AnyDictionaryArray.html
@@ -0,0 +1,50 @@
+<!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 `DictionaryArray` with the key type erased"><title>AnyDictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium [...]
+    // Required methods
+    fn <a href="#tymethod.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.normalized_keys" class="fn">normalized_keys</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.with_values" class="fn">with_values</a>(&amp;self, values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class= [...]
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> with the key type erased</p>
+<p>This can be used to efficiently implement kernels for all possible dictionary
+keys without needing to create specialized implementations for each key type</p>
+<p>For example</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">fn </span>to_string(a: <span class="kw-2">&amp;</span><span class="kw">dyn </span>Array) -&gt; <span class="prelude-ty">Result</span>&lt;ArrayRef, ArrowError&gt; {
+    <span class="kw">if let </span><span class="prelude-val">Some</span>(d) = a.as_any_dictionary_opt() {
+        <span class="comment">// Recursively handle dictionary input
+        </span><span class="kw">let </span>r = to_string(d.values().as_ref())<span class="question-mark">?</span>;
+        <span class="kw">return </span><span class="prelude-val">Ok</span>(d.with_values(r));
+    }
+    <span class="macro">downcast_primitive_array!</span> {
+        a =&gt; <span class="prelude-val">Ok</span>(Arc::new(a.iter().map(|x| x.map(|x| <span class="macro">format!</span>(<span class="string">"{x:?}"</span>))).collect::&lt;StringArray&gt;())),
+        d =&gt; <span class="prelude-val">Err</span>(ArrowError::InvalidArgumentError(<span class="macro">format!</span>(<span class="string">"{d:?} not supported"</span>)))
+    }
+}
+
+<span class="kw">let </span>result = to_string(<span class="kw-2">&amp;</span>Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])).unwrap();
+<span class="kw">let </span>actual = result.as_string::&lt;i32&gt;().iter().map(Option::unwrap).collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
+<span class="macro">assert_eq!</span>(actual, <span class="kw-2">&amp;</span>[<span class="string">"1"</span>, <span class="string">"2"</span>, <span class="string">"3"</span>]);
+
+<span class="kw">let </span><span class="kw-2">mut </span>dict = PrimitiveDictionaryBuilder::&lt;Int32Type, UInt16Type&gt;::new();
+dict.extend([<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="kw">let </span>dict = dict.finish();
+
+<span class="kw">let </span>r = to_string(<span class="kw-2">&amp;</span>dict).unwrap();
+<span class="kw">let </span>r = r.as_dictionary::&lt;Int32Type&gt;().downcast_dict::&lt;StringArray&gt;().unwrap();
+<span class="macro">assert_eq!</span>(r.keys(), dict.keys()); <span class="comment">// Keys are the same
+
+</span><span class="kw">let </span>actual = r.into_iter().map(Option::unwrap).collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
+<span class="macro">assert_eq!</span>(actual, <span class="kw-2">&amp;</span>[<span class="string">"1"</span>, <span class="string">"1"</span>, <span class="string">"2"</span>, <span class="string">"3"</span>, <span class="string">"2"</span>]);</code></pre></div>
+<p>See <a href="../cast/trait.AsArray.html#tymethod.as_any_dictionary_opt" title="method arrow::array::cast::AsArray::as_any_dictionary_opt"><code>AsArray::as_any_dictionary_opt</code></a> and <a href="../cast/trait.AsArray.html#method.as_any_dictionary" title="method arrow::array::cast::AsArray::as_any_dictionary"><code>AsArray::as_any_dictionary</code></a></p>
+</div></details><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.keys" class="method"><h4 class="code-header">fn <a href="#tymethod.keys" class="fn">keys</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a></h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.values" class="method"><h4 class="code-header">fn <a href="#tymethod.values" class="fn">values</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;</h4></section></summary><div class="docblock"><p>Returns [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.normalized_keys" class="method"><h4 class="code-header">fn <a href="#tymethod.normalized_keys" class="fn">normalized_keys</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div cl [...]
+<p>The values for nulls will be arbitrary, but are guaranteed
+to be in the range <code>0..self.values.len()</code></p>
+<h5 id="panic"><a class="doc-anchor" href="#panic">§</a>Panic</h5>
+<p>Panics if <code>values.len() == 0</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.with_values" class="method"><h4 class="code-header">fn <a href="#tymethod.with_values" class="fn">with_values</a>(&amp;self, values: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>&gt;) -&gt; <a class="struct" href="https://doc.r [...]
+<p>See <a href="../struct.DictionaryArray.html#method.with_values" title="method arrow::array::DictionaryArray::with_values"><code>DictionaryArray::with_values</code></a></p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="impl"><a href="#impl-AnyDictionaryArray-for-DictionaryArray%3CK%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K&gt; <a class="trait" href="../trait.AnyDictionaryArray.html" title="trait arrow::array::AnyDictionaryArray">AnyDictionaryArray</a> for <a clas [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section></div><script src="../../../trait.impl/arrow_array/array/dictionary_array/trait.AnyDictionaryArray.js" data-ignore-extern-crates="arrow_array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/trait.Array.html b/arrow/array/array/trait.Array.html
new file mode 100644
index 0000000000..68e2449f08
--- /dev/null
+++ b/arrow/array/array/trait.Array.html
@@ -0,0 +1,189 @@
+<!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="An array in the arrow columnar format"><title>Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,Sour [...]
+    <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</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> {
+<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 methods</span></summary>    // Required methods
+    fn <a href="#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static);
+<span class="item-spacer"></span>    fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="../trait.Array.html" [...]
+<span class="item-spacer"></span>    fn <a href="#tymethod.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.offset" class="fn">offset</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.get_buffer_memory_size" class="fn">get_buffer_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
+
+    // Provided methods
+    fn <a href="#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt; { ... }
+<span class="item-spacer"></span>    fn <a href="#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
+<span class="item-spacer"></span>    fn <a href="#method.is_valid" class="fn">is_valid</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
+<span class="item-spacer"></span>    fn <a href="#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> { ... }
+<span class="item-spacer"></span>    fn <a href="#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
+</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An array in the <a href="https://arrow.apache.org/docs/format/Columnar.html">arrow columnar format</a></p>
+</div></details><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.as_any" class="method"><h4 class="code-header">fn <a href="#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></s [...]
+downcasted to a specific implementation.</p>
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>id = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+<span class="kw">let </span>batch = RecordBatch::try_new(
+    Arc::new(Schema::new(<span class="macro">vec!</span>[Field::new(<span class="string">"id"</span>, DataType::Int32, <span class="bool-val">false</span>)])),
+    <span class="macro">vec!</span>[Arc::new(id)]
+).unwrap();
+
+<span class="kw">let </span>int32array = batch
+    .column(<span class="number">0</span>)
+    .as_any()
+    .downcast_ref::&lt;Int32Array&gt;()
+    .expect(<span class="string">"Failed to downcast"</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.to_data" class="method"><h4 class="code-header">fn <a href="#tymethod.to_data" class="fn">to_data</a>(&amp;self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></section></summary><div class="docblock"><p>Returns the underlying data of this array</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.into_data" class="method"><h4 class="code-header">fn <a href="#tymethod.into_data" class="fn">into_data</a>(self) -&gt; <a class="struct" href="../struct.ArrayData.html" title="struct arrow::array::ArrayData">ArrayData</a></h4></section></summary><div class="docblock"><p>Returns the underlying data of this array</p>
+<p>Unlike <a href="../trait.Array.html#tymethod.to_data" title="method arrow::array::Array::to_data"><code>Array::to_data</code></a> this consumes self, allowing it avoid unnecessary clones</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.data_type" class="method"><h4 class="code-header">fn <a href="#tymethod.data_type" class="fn">data_type</a>(&amp;self) -&gt; &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Returns a reference to the <a href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType"> [...]
+<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_schema::DataType;
+<span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+
+<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>array.data_type(), DataType::Int32);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.slice" class="method"><h4 class="code-header">fn <a href="#tymethod.slice" class="fn">slice</a>(&amp;self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.A [...]
+<h5 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+<span class="comment">// Make slice over the values [2, 3, 4]
+</span><span class="kw">let </span>array_slice = array.slice(<span class="number">1</span>, <span class="number">3</span>);
+
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>array_slice, <span class="kw-2">&amp;</span>Int32Array::from(<span class="macro">vec!</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.len" class="method"><h4 class="code-header">fn <a href="#tymethod.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length (i.e., number of elements) of this array.</p>
+<h5 id="example-3"><a class="doc-anchor" href="#example-3">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+
+<span class="macro">assert_eq!</span>(array.len(), <span class="number">5</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_empty" class="method"><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this array is empty.</p>
+<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
+
+<span class="macro">assert_eq!</span>(array.is_empty(), <span class="bool-val">false</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.offset" class="method"><h4 class="code-header">fn <a href="#tymethod.offset" class="fn">offset</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the offset into the underlying data used by this array(-slice).
+Note that the underlying data can be shared by many arrays.
+This defaults to <code>0</code>.</p>
+<h5 id="example-5"><a class="doc-anchor" href="#example-5">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, BooleanArray};
+
+<span class="kw">let </span>array = BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>]);
+<span class="kw">let </span>array_slice = array.slice(<span class="number">1</span>, <span class="number">3</span>);
+
+<span class="macro">assert_eq!</span>(array.offset(), <span class="number">0</span>);
+<span class="macro">assert_eq!</span>(array_slice.offset(), <span class="number">1</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.nulls" class="method"><h4 class="code-header">fn <a href="#tymethod.nulls" class="fn">nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer">NullBuffer</a>&gt;</h4></section></summary><div  [...]
+<p>The null buffer contains the “physical” nulls of an array, that is how
+the nulls are represented in the underlying arrow format.</p>
+<p>The physical representation is efficient, but is sometimes non intuitive
+for certain array types such as those with nullable child arrays like
+<a href="../struct.DictionaryArray.html#method.values" title="method arrow::array::DictionaryArray::values"><code>DictionaryArray::values</code></a>, <a href="../struct.RunArray.html#method.values" title="method arrow::array::RunArray::values"><code>RunArray::values</code></a> or <a href="../struct.UnionArray.html" title="struct arrow::array::UnionArray"><code>UnionArray</code></a>, or without a
+null buffer, such as <a href="../struct.NullArray.html" title="struct arrow::array::NullArray"><code>NullArray</code></a>.</p>
+<p>To determine if each element of such an array is “logically” null,
+use the slower <a href="../trait.Array.html#method.logical_nulls" title="method arrow::array::Array::logical_nulls"><code>Array::logical_nulls</code></a> to obtain a computed mask.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_buffer_memory_size" class="method"><h4 class="code-header">fn <a href="#tymethod.get_buffer_memory_size" class="fn">get_buffer_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the total number of bytes of memory pointed to by this array.
+The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
+Note that this does not always correspond to the exact memory usage of an array,
+since multiple arrays can share the same buffers or slices thereof.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_array_memory_size" class="method"><h4 class="code-header">fn <a href="#tymethod.get_array_memory_size" class="fn">get_array_memory_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the total number of bytes of memory occupied physically by this array.
+This value will always be greater than returned by <code>get_buffer_memory_size()</code> and
+includes the overhead of the data structures that contain the pointers to the various buffers.</p>
+</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.logical_nulls" class="method"><h4 class="code-header">fn <a href="#method.logical_nulls" class="fn">logical_nulls</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Opti [...]
+null values of this array, if any.</p>
+<p>Logical nulls represent the values that are null in the array,
+regardless of the underlying physical arrow representation.</p>
+<p>For most array types, this is equivalent to the “physical” nulls
+returned by <a href="../trait.Array.html#tymethod.nulls" title="method arrow::array::Array::nulls"><code>Array::nulls</code></a>. It is different for the following cases, because which
+elements are null is not encoded in a single null buffer:</p>
+<ul>
+<li><a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> where <a href="../struct.DictionaryArray.html#method.values" title="method arrow::array::DictionaryArray::values"><code>DictionaryArray::values</code></a> contains nulls</li>
+<li><a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> where <a href="../struct.RunArray.html#method.values" title="method arrow::array::RunArray::values"><code>RunArray::values</code></a> contains nulls</li>
+<li><a href="../struct.NullArray.html" title="struct arrow::array::NullArray"><code>NullArray</code></a> where all indices are nulls</li>
+<li><a href="../struct.UnionArray.html" title="struct arrow::array::UnionArray"><code>UnionArray</code></a> where the selected values contains nulls</li>
+</ul>
+<p>In these cases a logical <a href="../../buffer/struct.NullBuffer.html" title="struct arrow::buffer::NullBuffer"><code>NullBuffer</code></a> will be computed, encoding the
+logical nullability of these arrays, beyond what is encoded in
+<a href="../trait.Array.html#tymethod.nulls" title="method arrow::array::Array::nulls"><code>Array::nulls</code></a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_null" class="method"><h4 class="code-header">fn <a href="#method.is_null" class="fn">is_null</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the element at <code>i [...]
+<p>Note: For performance reasons, this method returns nullability solely as determined by the
+null buffer. This difference can lead to surprising results, for example, <a href="../struct.NullArray.html#method.is_null" title="method arrow::array::NullArray::is_null"><code>NullArray::is_null</code></a> always
+returns <code>false</code> as the array lacks a null buffer. Similarly <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a>, <a href="../struct.RunArray.html" title="struct arrow::array::RunArray"><code>RunArray</code></a> and <a href="../struct.UnionArray.html" title="struct arrow::array::UnionArray"><code>UnionArray</code></a> may
+encode nullability in their children. See <a href="../trait.Array.html#method.logical_nulls" title="method arrow_array::array::Array::logical_nulls::logical_nulls"><code>Self::logical_nulls</code></a> for more information.</p>
+<h5 id="example-6"><a class="doc-anchor" href="#example-6">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array, NullArray};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
+<span class="macro">assert_eq!</span>(array.is_null(<span class="number">0</span>), <span class="bool-val">false</span>);
+<span class="macro">assert_eq!</span>(array.is_null(<span class="number">1</span>), <span class="bool-val">true</span>);
+
+<span class="comment">// NullArrays do not have a null buffer, and therefore always
+// return false for is_null.
+</span><span class="kw">let </span>array = NullArray::new(<span class="number">1</span>);
+<span class="macro">assert_eq!</span>(array.is_null(<span class="number">0</span>), <span class="bool-val">false</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_valid" class="method"><h4 class="code-header">fn <a href="#method.is_valid" class="fn">is_valid</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the element at <cod [...]
+opposite of <a href="../trait.Array.html#method.is_null" title="method arrow_array::array::Array::is_null::is_null"><code>Self::is_null</code></a>.</p>
+<h5 id="example-7"><a class="doc-anchor" href="#example-7">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
+
+<span class="macro">assert_eq!</span>(array.is_valid(<span class="number">0</span>), <span class="bool-val">true</span>);
+<span class="macro">assert_eq!</span>(array.is_valid(<span class="number">1</span>), <span class="bool-val">false</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.null_count" class="method"><h4 class="code-header">fn <a href="#method.null_count" class="fn">null_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the total number of physical null values in this array.</p>
+<p>Note: this method returns the physical null count, i.e. that encoded in <a href="../trait.Array.html#tymethod.nulls" title="method arrow::array::Array::nulls"><code>Array::nulls</code></a>,
+see <a href="../trait.Array.html#method.logical_nulls" title="method arrow::array::Array::logical_nulls"><code>Array::logical_nulls</code></a> for logical nullability</p>
+<h5 id="example-8"><a class="doc-anchor" href="#example-8">§</a>Example:</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, Int32Array};
+
+<span class="comment">// Construct an array with values [1, NULL, NULL]
+</span><span class="kw">let </span>array = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">None</span>]);
+
+<span class="macro">assert_eq!</span>(array.null_count(), <span class="number">2</span>);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_nullable" class="method"><h4 class="code-header">fn <a href="#method.is_nullable" class="fn">is_nullable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>false</code> if the array is guaranteed to not contain any logical nulls</p>
+<p>In general this will be equivalent to <code>Array::null_count() != 0</code> but may differ in the
+presence of logical nullability, see <a href="../trait.Array.html#method.logical_nulls" title="method arrow::array::Array::logical_nulls"><code>Array::logical_nulls</code></a>.</p>
+<p>Implementations will return <code>true</code> unless they can cheaply prove no logical nulls
+are present. For example a <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> with nullable values will still return true,
+even if the nulls present in <a href="../struct.DictionaryArray.html#method.values" title="method arrow::array::DictionaryArray::values"><code>DictionaryArray::values</code></a> are not referenced by any key,
+and therefore would not appear in <a href="../trait.Array.html#method.logical_nulls" title="method arrow::array::Array::logical_nulls"><code>Array::logical_nulls</code></a>.</p>
+</div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsArray-for-dyn+Array" class="impl"><a href="#impl-AsArray-for-dyn+Array" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../cast/trait.AsArray.html" title="trait arrow::array::cast::AsArray">AsArray< [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes_opt" class="m [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_byte_view_opt" class="method [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_struct_opt" class=" [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>GenericListArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_fixed_size_binary_opt" class="method tr [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_ [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method trait-impl"><a h [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_string_opt" class="method trait-impl"><a href= [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../type.GenericStringArray.html" title="type arrow::array::GenericStringArray"><code>GenericStringArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_string" class="method trait-impl"><a  [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../type.GenericStringArray.html" title="type arrow::array::GenericStringArray"><code>GenericStringArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_binary_opt" class="method trait-impl"><a href="#method. [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../type.GenericBinaryArray.html" title="type arrow::array::GenericBinaryArray"><code>GenericBinaryArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_binary" class="method trait-impl"><a  [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../type.GenericBinaryArray.html" title="type arrow::array::GenericBinaryArray"><code>GenericBinaryArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_string_view" class="method trait-impl"><a href="#method [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::ByteViewType">ByteViewType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericByteViewArray.html" title="struct arrow::array::GenericByteViewArray"><code>GenericByteViewArray</code></a> returning <code>None</code> if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_struct" class="meth [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.GenericListArray.html" title="struct arrow::array::GenericListArray"><code>GenericListArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_fixed_size_binary" class="method trait-impl"><a href="#me [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h4></section></summary><div class='docblock'>Downcast this to a <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> panicking if not possible</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_dictionary" class= [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-1" class="method trait-impl"><a href="#method.eq-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-la [...]
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-dyn+Array" class="impl"><a href="#impl-PartialEq-for-dyn+Array" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for dyn <a class="trait" href="../trait.Array.html" title="trait a [...]
+and should not be overridden without very good reason.</div></details></div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Array-for-Arc%3Cdyn+Array%3E" class="impl"><a href="#impl-Array-for-Arc%3Cdyn+Array%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.Array.html" title="trait arrow:: [...]
+</div><div class="impl-items"><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section><section id="method.to_data" class="method trait-impl"><a href="#method.to_data" class="anchor">§</a><h4 class="code-header">fn <a class="fn [...]
+    T: <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a>,</div></h3></section></summary><div class="impl-items"><section id="method.as_any-1" class="method trait-impl"><a href="#method.as_any-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section><section id="met [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::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>,</div></h3></section><section id="impl-Array-for-GenericListArray%3COffsetSize%3E" class="impl"><a href="#impl-Array-for-GenericListArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.GenericLi [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section><section id="impl-Array-for-GenericListViewArray%3COffsetSize%3E" class="impl"><a href="#impl-Array-for-GenericListViewArray%3COffsetSize%3E" class="anchor">§</a><h3 class="code-header">impl&lt;OffsetSize&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.Ge [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section><section id="impl-Array-for-TypedRunArray%3C'_,+R,+V%3E" class="impl"><a href="#impl-Array-for-TypedRunArray%3C'_,+R,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R, V&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.TypedRunArray.html" title= [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::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>,</div></h3></section><section id="impl-Array-for-DictionaryArray%3CT%3E" class="impl"><a href="#impl-Array-for-DictionaryArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.DictionaryArray.html" title="struct ar [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::ArrowDictionaryKeyType">ArrowDictionaryKeyType</a>,</div></h3></section><section id="impl-Array-for-GenericByteArray%3CT%3E" class="impl"><a href="#impl-Array-for-GenericByteArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.GenericB [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section><section id="impl-Array-for-GenericByteViewArray%3CT%3E" class="impl"><a href="#impl-Array-for-GenericByteViewArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.GenericByteViewArray.html"  [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section><section id="impl-Array-for-PrimitiveArray%3CT%3E" class="impl"><a href="#impl-Array-for-PrimitiveArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Ar [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section><section id="impl-Array-for-RunArray%3CT%3E" class="impl"><a href="#impl-Array-for-RunArray%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../trait.Array.html" title="trait arrow::array::Array">Array</a> for <a class="struct" href="../struct.RunArray.html" title="struct arrow:: [...]
+    T: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::RunEndIndexType">RunEndIndexType</a>,</div></h3></section></div><script src="../../../trait.impl/arrow_array/array/trait.Array.js" data-ignore-extern-crates="arrow_array,alloc" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/trait.ArrayAccessor.html b/arrow/array/array/trait.ArrayAccessor.html
new file mode 100644
index 0000000000..b8de7ff48b
--- /dev/null
+++ b/arrow/array/array/trait.ArrayAccessor.html
@@ -0,0 +1,93 @@
+<!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-Regular-0fe48ade.woff2,FiraSans-M [...]
+    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>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>;
+<span class="item-spacer"></span>    unsafe fn <a href="#tymethod.value_unchecked" class="fn">value_unchecked</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::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"><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::StringArray"><code>StringArray</code></a>, <a href="../type.LargeStringArray.html" title="type arrow::array::LargeStringArray"><code>LargeStringArray</code></a>, and <a href="../type.StringViewArray.html" title="type arrow::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) -&gt; <span class="prelude-ty">Result</span>&lt;ArrayRef, ArrowError&gt; {
+    <span class="kw">match </span>arg.data_type() {
+        DataType::Utf8 =&gt; {
+            <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::&lt;i32&gt;();
+            character_length_general::&lt;Int32Type, <span class="kw">_</span>&gt;(string_array)
+        }
+        DataType::LargeUtf8 =&gt; {
+            character_length_general::&lt;Int64Type, <span class="kw">_</span>&gt;(arg.as_string::&lt;i64&gt;())
+        }
+        DataType::Utf8View =&gt; {
+            character_length_general::&lt;Int32Type, <span class="kw">_</span>&gt;(arg.as_string_view())
+        }
+        <span class="kw">_ </span>=&gt; <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&lt;<span class="lifetime">'a</span>, T: ArrowPrimitiveType, V: ArrayAccessor&lt;Item = <span class="kw-2">&amp;</span><span class="lifetime">'a </span>str&gt;&gt;(
+    array: V,
+) -&gt; <span class="prelude-ty">Result</span>&lt;ArrayRef, ArrowError&gt;
+<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">&amp;</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::&lt;PrimitiveArray&lt;T&gt;&gt;();
+
+    <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::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::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"><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> +  [...]
+</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"><h4 class="code-header">fn <a href="#tymethod.value" class="fn">value</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self::<a class="associatedtype" href=". [...]
+<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"><h4 class="code-header">unsafe fn <a href="#tymethod.value_unchecked" class="fn">value_unchecked</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; Self::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a></h4> [...]
+<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 href="#impl-ArrayAccessor-for-%26BooleanArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a> for &a [...]
+    K: <a class="trait" href="../../datatypes/trait.ArrowDictionaryKeyType.html" title="trait arrow::datatypes::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">&amp;'a V</a>: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Def [...]
+    R: <a class="trait" href="../../datatypes/trait.RunEndIndexType.html" title="trait arrow::datatypes::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">&amp;'a V</a>: <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>,
+    &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a V</a> as <a class="trait" href="../trait.ArrayAccessor.html" title="trait arrow::array::ArrayAccessor">ArrayAccessor</a>&gt;::<a class="associatedtype" href="../trait.ArrayAccessor.html#associatedtype.Item" title="type arrow::array::ArrayAccessor::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Def [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-8" class="associatedtype trait-impl"><a href="#associatedtype.Item-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &amp;'a &lt;T as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" ti [...]
+    T: <a class="trait" href="../../datatypes/trait.ByteViewType.html" title="trait arrow::datatypes::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>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-9" class="associatedtype trait-impl"><a href="#associatedtype.Item-9" class="anchor">§</a><h4 class="code-header">type <a href="#associat [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-10" class="associatedtype trait-impl"><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 [...]
+    OffsetSize: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-11" class="associatedtype trait-impl"><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 [...]
+    T: <a class="trait" href="../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-12" class="associatedtype trait-impl"><a href="#associatedtype.Item-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &lt;T as <a class="trait" href="../../datatypes/trait.ArrowPrimitiv [...]
\ No newline at end of file
diff --git a/arrow/array/array/trait.ArrowPrimitiveType.html b/arrow/array/array/trait.ArrowPrimitiveType.html
new file mode 100644
index 0000000000..0fecd541b3
--- /dev/null
+++ b/arrow/array/array/trait.ArrowPrimitiveType.html
@@ -0,0 +1,18 @@
+<!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="Trait for primitive values."><title>ArrowPrimitiveType in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+    type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../datatypes/trait.ArrowNativeTypeOp.html" title="trait arrow::datatypes::ArrowNativeTypeOp">ArrowNativeTypeOp</a>;
+
+    const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>;
+
+    // Provided methods
+    fn <a href="#method.get_byte_width" class="fn">get_byte_width</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> { ... }
+<span class="item-spacer"></span>    fn <a href="#method.default_value" class="fn">default_value</a>() -&gt; Self::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a> { ... }
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://arrow.apache.org/docs/format/Columnar.html#fixed-size-primitive-layout">primitive values</a>.</p>
+<p>This trait bridges the dynamic-typed nature of Arrow
+(via <a href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType"><code>DataType</code></a>) with the static-typed nature of rust types
+(<a href="../../datatypes/trait.ArrowNativeType.html" title="trait arrow::datatypes::ArrowNativeType"><code>ArrowNativeType</code></a>) for all types that implement <a href="../../datatypes/trait.ArrowNativeType.html" title="trait arrow::datatypes::ArrowNativeType"><code>ArrowNativeType</code></a>.</p>
+</div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType [...]
+</div></details></div><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.Native" class="method"><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../datatypes/trait.ArrowNativeTypeOp.html" title="trait arrow::datatypes::ArrowNativeTypeOp" [...]
+</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_byte_width" class="method"><h4 class="code-header">fn <a href="#method.get_byte_width" class="fn">get_byte_width</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section><span class="item-i [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.default_value" class="method"><h4 class="code-header">fn <a href="#method.default_value" class="fn">default_value</a>() -&gt; Self::<a class="associatedtype" href="../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a></h4></section></summary><div class="docblock"><p>Returns a default value of this primitive type.</p>
+<p>This is useful for aggregate array ops like <code>sum()</code>, <code>mean()</code>.</p>
+</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Imple [...]
\ No newline at end of file
diff --git a/arrow/array/array/trait.OffsetSizeTrait.html b/arrow/array/array/trait.OffsetSizeTrait.html
new file mode 100644
index 0000000000..4ad4487880
--- /dev/null
+++ b/arrow/array/array/trait.OffsetSizeTrait.html
@@ -0,0 +1,12 @@
+<!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 type that can be used within a variable-size array to encode offset information"><title>OffsetSizeTrait in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regu [...]
+    <a class="trait" href="../../datatypes/trait.ArrowNativeType.html" title="trait arrow::datatypes::ArrowNativeType">ArrowNativeType</a>
+    + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.AddAssign.html" title="trait core::ops::arith::AddAssign">AddAssign</a>
+    + <a class="trait" href="https://docs.rs/num-integer/0.1/num_integer/trait.Integer.html" title="trait num_integer::Integer">Integer</a> {
+    const <a href="#associatedconstant.IS_LARGE" class="constant">IS_LARGE</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
+    const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A type that can be used within a variable-size array to encode offset information</p>
+<p>See <a href="../type.ListArray.html" title="type arrow::array::ListArray"><code>ListArray</code></a>, <a href="../type.LargeListArray.html" title="type arrow::array::LargeListArray"><code>LargeListArray</code></a>, <a href="../type.BinaryArray.html" title="type arrow::array::BinaryArray"><code>BinaryArray</code></a>, <a href="../type.LargeBinaryArray.html" title="type arrow::array::LargeBinaryArray"><code>LargeBinaryArray</code></a>,
+<a href="../type.StringArray.html" title="type arrow::array::StringArray"><code>StringArray</code></a> and <a href="../type.LargeStringArray.html" title="type arrow::array::LargeStringArray"><code>LargeStringArray</code></a></p>
+</div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.IS_LARGE" class="method"><h4 class="code-header">const <a href="#associatedconstant.IS_LARGE" class="constant">IS_LARGE</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section> [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Prefix for the offset size</p>
+</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="foreign-impls" class="section-header">Impl [...]
\ No newline at end of file
diff --git a/arrow/array/array/type.ArrayRef.html b/arrow/array/array/type.ArrayRef.html
new file mode 100644
index 0000000000..80f928f163
--- /dev/null
+++ b/arrow/array/array/type.ArrayRef.html
@@ -0,0 +1,2 @@
+<!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 reference-counted reference to a generic `Array`"><title>ArrayRef in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1a [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ArrayRef { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/alloc/sync/struct.Arc.js" data-self-path="arrow::array::ArrayRef" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.BinaryArray.html b/arrow/array/array/type.BinaryArray.html
new file mode 100644
index 0000000000..4a4abc8329
--- /dev/null
+++ b/arrow/array/array/type.BinaryArray.html
@@ -0,0 +1,32 @@
+<!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 `GenericBinaryArray` of `[u8]` using `i32` offsets"><title>BinaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Mediu [...]
+<p>The byte length of each element is represented by an i32.</p>
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Create a BinaryArray from a vector of byte slices.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, BinaryArray};
+<span class="kw">let </span>values: Vec&lt;<span class="kw-2">&amp;</span>[u8]&gt; =
+    <span class="macro">vec!</span>[<span class="string">b"one"</span>, <span class="string">b"two"</span>, <span class="string">b""</span>, <span class="string">b"three"</span>];
+<span class="kw">let </span>array = BinaryArray::from_vec(values);
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, array.len());
+<span class="macro">assert_eq!</span>(<span class="string">b"one"</span>, array.value(<span class="number">0</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"two"</span>, array.value(<span class="number">1</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b""</span>, array.value(<span class="number">2</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"three"</span>, array.value(<span class="number">3</span>));</code></pre></div>
+<p>Create a BinaryArray from a vector of Optional (null) byte slices.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, BinaryArray};
+<span class="kw">let </span>values: Vec&lt;<span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>[u8]&gt;&gt; =
+    <span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">b"one"</span>), <span class="prelude-val">Some</span>(<span class="string">b"two"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">b""</span>), <span class="prelude-val">Some</span>(<span class="string">b"three"</span>)];
+<span class="kw">let </span>array = BinaryArray::from_opt_vec(values);
+<span class="macro">assert_eq!</span>(<span class="number">5</span>, array.len());
+<span class="macro">assert_eq!</span>(<span class="string">b"one"</span>, array.value(<span class="number">0</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"two"</span>, array.value(<span class="number">1</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b""</span>, array.value(<span class="number">3</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"three"</span>, array.value(<span class="number">4</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">0</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">1</span>));
+<span class="macro">assert!</span>(array.is_null(<span class="number">2</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">3</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
+<p>See <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::BinaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.BinaryViewArray.html b/arrow/array/array/type.BinaryViewArray.html
new file mode 100644
index 0000000000..e914b8d637
--- /dev/null
+++ b/arrow/array/array/type.BinaryViewArray.html
@@ -0,0 +1,7 @@
+<!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 `GenericByteViewArray` of `[u8]`"><title>BinaryViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.wof [...]
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::BinaryViewArray;
+<span class="kw">let </span>array = BinaryViewArray::from_iter_values(<span class="macro">vec!</span>[<span class="string">b"hello" </span><span class="kw">as </span><span class="kw-2">&amp;</span>[u8], <span class="string">b"world"</span>, <span class="string">b"lulu"</span>, <span class="string">b"large payload over 12 bytes"</span>]);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">b"hello"</span>);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">b"large payload over 12 bytes"</span>);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryViewArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteViewArray.js" data-self-path="arrow::array::BinaryViewArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Date32Array.html b/arrow/array/array/type.Date32Array.html
new file mode 100644
index 0000000000..3195836a0a
--- /dev/null
+++ b/arrow/array/array/type.Date32Array.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of days since UNIX epoch stored as `i32`"><title>Date32Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSan [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
+values such as <code>2018-11-13</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date32Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Date32Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Date64Array.html b/arrow/array/array/type.Date64Array.html
new file mode 100644
index 0000000000..3794099391
--- /dev/null
+++ b/arrow/array/array/type.Date64Array.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of milliseconds since UNIX epoch stored as `i64`"><title>Date64Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2 [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html" title="struct chrono::naive::date::NaiveDate"><code>chrono::NaiveDate</code></a> type and can hold
+values such as <code>2018-11-13</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Date64Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Date64Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Decimal128Array.html b/arrow/array/array/type.Decimal128Array.html
new file mode 100644
index 0000000000..133820ffa6
--- /dev/null
+++ b/arrow/array/array/type.Decimal128Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of 128-bit fixed point decimals"><title>Decimal128Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Med [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;i18&gt;&gt;
+</span><span class="kw">let </span>arr = Decimal128Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;i128&gt;
+</span><span class="kw">let </span>arr = Decimal128Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Decimal128Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal128Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Decimal128Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Decimal256Array.html b/arrow/array/array/type.Decimal256Array.html
new file mode 100644
index 0000000000..976dbde83a
--- /dev/null
+++ b/arrow/array/array/type.Decimal256Array.html
@@ -0,0 +1,13 @@
+<!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 `PrimitiveArray` of 256-bit fixed point decimals"><title>Decimal256Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Med [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_buffer::i256;
+<span class="comment">// Create from Vec&lt;Option&lt;i256&gt;&gt;
+</span><span class="kw">let </span>arr = Decimal256Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(i256::from(<span class="number">1</span>)), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(i256::from(<span class="number">2</span>))]);
+<span class="comment">// Create from Vec&lt;i256&gt;
+</span><span class="kw">let </span>arr = Decimal256Array::from(<span class="macro">vec!</span>[i256::from(<span class="number">1</span>), i256::from(<span class="number">2</span>), i256::from(<span class="number">3</span>)]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Decimal256Array = std::iter::repeat(i256::from(<span class="number">42</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Decimal256Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Decimal256Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.DurationMicrosecondArray.html b/arrow/array/array/type.DurationMicrosecondArray.html
new file mode 100644
index 0000000000..b203d43b55
--- /dev/null
+++ b/arrow/array/array/type.DurationMicrosecondArray.html
@@ -0,0 +1,2 @@
+<!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 `PrimitiveArray` of elapsed durations in microseconds"><title>DurationMicrosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMicrosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::DurationMicrosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.DurationMillisecondArray.html b/arrow/array/array/type.DurationMillisecondArray.html
new file mode 100644
index 0000000000..3bd9183196
--- /dev/null
+++ b/arrow/array/array/type.DurationMillisecondArray.html
@@ -0,0 +1,2 @@
+<!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 `PrimitiveArray` of elapsed durations in milliseconds"><title>DurationMillisecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationMillisecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::DurationMillisecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.DurationNanosecondArray.html b/arrow/array/array/type.DurationNanosecondArray.html
new file mode 100644
index 0000000000..44d0e053bb
--- /dev/null
+++ b/arrow/array/array/type.DurationNanosecondArray.html
@@ -0,0 +1,2 @@
+<!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 `PrimitiveArray` of elapsed durations in nanoseconds"><title>DurationNanosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2, [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationNanosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::DurationNanosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.DurationSecondArray.html b/arrow/array/array/type.DurationSecondArray.html
new file mode 100644
index 0000000000..de556ad92a
--- /dev/null
+++ b/arrow/array/array/type.DurationSecondArray.html
@@ -0,0 +1,2 @@
+<!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 `PrimitiveArray` of elapsed durations in seconds"><title>DurationSecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct DurationSecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::DurationSecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Float16Array.html b/arrow/array/array/type.Float16Array.html
new file mode 100644
index 0000000000..6276dc7b23
--- /dev/null
+++ b/arrow/array/array/type.Float16Array.html
@@ -0,0 +1,16 @@
+<!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 `PrimitiveArray` of `f16`"><title>Float16Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceC [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>half::f16;
+<span class="comment">// Create from Vec&lt;Option&lt;f16&gt;&gt;
+</span><span class="kw">let </span>arr = Float16Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(f16::from_f64(<span class="number">1.0</span>)), <span class="prelude-val">Some</span>(f16::from_f64(<span class="number">2.0</span>))]);
+<span class="comment">// Create from Vec&lt;i8&gt;
+</span><span class="kw">let </span>arr = Float16Array::from(<span class="macro">vec!</span>[f16::from_f64(<span class="number">1.0</span>), f16::from_f64(<span class="number">2.0</span>), f16::from_f64(<span class="number">3.0</span>)]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Float16Array = std::iter::repeat(f16::from_f64(<span class="number">1.0</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>half::f16;
+<span class="kw">let </span>arr : Float16Array = [<span class="prelude-val">Some</span>(f16::from_f64(<span class="number">1.0</span>)), <span class="prelude-val">Some</span>(f16::from_f64(<span class="number">2.0</span>))].into_iter().collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float16Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Float16Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Float32Array.html b/arrow/array/array/type.Float32Array.html
new file mode 100644
index 0000000000..44ac15f74c
--- /dev/null
+++ b/arrow/array/array/type.Float32Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `f32`"><title>Float32Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceC [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;f32&gt;&gt;
+</span><span class="kw">let </span>arr = Float32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1.0</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2.0</span>)]);
+<span class="comment">// Create from Vec&lt;f32&gt;
+</span><span class="kw">let </span>arr = Float32Array::from(<span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Float32Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float32Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Float32Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Float64Array.html b/arrow/array/array/type.Float64Array.html
new file mode 100644
index 0000000000..0622fd11df
--- /dev/null
+++ b/arrow/array/array/type.Float64Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `f64`"><title>Float64Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceC [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;f32&gt;&gt;
+</span><span class="kw">let </span>arr = Float64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1.0</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2.0</span>)]);
+<span class="comment">// Create from Vec&lt;f32&gt;
+</span><span class="kw">let </span>arr = Float64Array::from(<span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Float64Array = std::iter::repeat(<span class="number">42.0</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Float64Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Float64Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.GenericBinaryArray.html b/arrow/array/array/type.GenericBinaryArray.html
new file mode 100644
index 0000000000..2918080ae0
--- /dev/null
+++ b/arrow/array/array/type.GenericBinaryArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericBinaryArray` for storing `[u8]`"><title>GenericBinaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1 [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericBinaryArray&lt;OffsetSize&gt; { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::GenericBinaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.GenericStringArray.html b/arrow/array/array/type.GenericStringArray.html
new file mode 100644
index 0000000000..1b49da2635
--- /dev/null
+++ b/arrow/array/array/type.GenericStringArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericByteArray` for storing `str`"><title>GenericStringArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3 [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct GenericStringArray&lt;OffsetSize&gt; { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::GenericStringArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int16Array.html b/arrow/array/array/type.Int16Array.html
new file mode 100644
index 0000000000..cd205a5ff8
--- /dev/null
+++ b/arrow/array/array/type.Int16Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `i16`"><title>Int16Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCod [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;i16&gt;&gt;
+</span><span class="kw">let </span>arr = Int16Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;i16&gt;
+</span><span class="kw">let </span>arr = Int16Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Int16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Int16Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int16DictionaryArray.html b/arrow/array/array/type.Int16DictionaryArray.html
new file mode 100644
index 0000000000..eb3b9f80e2
--- /dev/null
+++ b/arrow/array/array/type.Int16DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `i16`"><title>Int16DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3 [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int16DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int16Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::Int16DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int16RunArray.html b/arrow/array/array/type.Int16RunArray.html
new file mode 100644
index 0000000000..12e3cebc41
--- /dev/null
+++ b/arrow/array/array/type.Int16RunArray.html
@@ -0,0 +1,8 @@
+<!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 `RunArray` with `i16` run ends"><title>Int16RunArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int16RunArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int16RunArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.RunArray.js" data-self-path="arrow::array::Int16RunArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int32Array.html b/arrow/array/array/type.Int32Array.html
new file mode 100644
index 0000000000..9cff0cb00d
--- /dev/null
+++ b/arrow/array/array/type.Int32Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `i32`"><title>Int32Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCod [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;i32&gt;&gt;
+</span><span class="kw">let </span>arr = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;i32&gt;
+</span><span class="kw">let </span>arr = Int32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Int32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Int32Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int32DictionaryArray.html b/arrow/array/array/type.Int32DictionaryArray.html
new file mode 100644
index 0000000000..936d9cc5ac
--- /dev/null
+++ b/arrow/array/array/type.Int32DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `i32`"><title>Int32DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3 [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int32DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int32Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::Int32DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int32RunArray.html b/arrow/array/array/type.Int32RunArray.html
new file mode 100644
index 0000000000..88c7a0bdb0
--- /dev/null
+++ b/arrow/array/array/type.Int32RunArray.html
@@ -0,0 +1,8 @@
+<!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 `RunArray` with `i32` run ends"><title>Int32RunArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int32RunArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int32RunArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.RunArray.js" data-self-path="arrow::array::Int32RunArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int64Array.html b/arrow/array/array/type.Int64Array.html
new file mode 100644
index 0000000000..0808b39382
--- /dev/null
+++ b/arrow/array/array/type.Int64Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `i64`"><title>Int64Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCod [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;i64&gt;&gt;
+</span><span class="kw">let </span>arr = Int64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;i64&gt;
+</span><span class="kw">let </span>arr = Int64Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Int64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Int64Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int64DictionaryArray.html b/arrow/array/array/type.Int64DictionaryArray.html
new file mode 100644
index 0000000000..2d5f03add5
--- /dev/null
+++ b/arrow/array/array/type.Int64DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `i64`"><title>Int64DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3 [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int64DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int64Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::Int64DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int64RunArray.html b/arrow/array/array/type.Int64RunArray.html
new file mode 100644
index 0000000000..eef8021994
--- /dev/null
+++ b/arrow/array/array/type.Int64RunArray.html
@@ -0,0 +1,8 @@
+<!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 `RunArray` with `i64` run ends"><title>Int64RunArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int64RunArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.run_ends().values(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>]);
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int64RunArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.RunArray.js" data-self-path="arrow::array::Int64RunArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int8Array.html b/arrow/array/array/type.Int8Array.html
new file mode 100644
index 0000000000..1fe1b90754
--- /dev/null
+++ b/arrow/array/array/type.Int8Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `i8`"><title>Int8Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodeP [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;i8&gt;&gt;
+</span><span class="kw">let </span>arr = Int8Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;i8&gt;
+</span><span class="kw">let </span>arr = Int8Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: Int8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Int8Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Int8DictionaryArray.html b/arrow/array/array/type.Int8DictionaryArray.html
new file mode 100644
index 0000000000..ca3d906a09
--- /dev/null
+++ b/arrow/array/array/type.Int8DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `i8`"><title>Int8DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0 [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: Int8DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>Int8Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Int8DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::Int8DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.IntervalDayTimeArray.html b/arrow/array/array/type.IntervalDayTimeArray.html
new file mode 100644
index 0000000000..ef63223257
--- /dev/null
+++ b/arrow/array/array/type.IntervalDayTimeArray.html
@@ -0,0 +1,10 @@
+<!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 `PrimitiveArray` of “calendar” intervals in days and milliseconds"><title>IntervalDayTimeArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48 [...]
+<p>See <a href="../../datatypes/struct.IntervalDayTime.html" title="struct arrow::datatypes::IntervalDayTime"><code>IntervalDayTime</code></a> for details on representation and caveats.</p>
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::types::IntervalDayTime;
+<span class="kw">let </span>array = IntervalDayTimeArray::from(<span class="macro">vec!</span>[
+  IntervalDayTime::new(<span class="number">1</span>, <span class="number">1000</span>),                 <span class="comment">// 1 day, 1000 milliseconds
+  </span>IntervalDayTime::new(<span class="number">33</span>, <span class="number">0</span>),                  <span class="comment">// 33 days, 0 milliseconds
+  </span>IntervalDayTime::new(<span class="number">0</span>, <span class="number">12 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">1000</span>), <span class="comment">// 0 days, 12 hours
+</span>]);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalDayTimeArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::IntervalDayTimeArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.IntervalMonthDayNanoArray.html b/arrow/array/array/type.IntervalMonthDayNanoArray.html
new file mode 100644
index 0000000000..88723e8920
--- /dev/null
+++ b/arrow/array/array/type.IntervalMonthDayNanoArray.html
@@ -0,0 +1,10 @@
+<!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 `PrimitiveArray` of “calendar” intervals in  months, days, and nanoseconds."><title>IntervalMonthDayNanoArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSan [...]
+<p>See <a href="../../datatypes/struct.IntervalMonthDayNano.html" title="struct arrow::datatypes::IntervalMonthDayNano"><code>IntervalMonthDayNano</code></a> for details on representation and caveats.</p>
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::types::IntervalMonthDayNano;
+<span class="kw">let </span>array = IntervalMonthDayNanoArray::from(<span class="macro">vec!</span>[
+  IntervalMonthDayNano::new(<span class="number">1</span>, <span class="number">2</span>, <span class="number">1000</span>),             <span class="comment">// 1 month, 2 days, 1 nanosecond
+  </span>IntervalMonthDayNano::new(<span class="number">12</span>, <span class="number">1</span>, <span class="number">0</span>),               <span class="comment">// 12 months, 1 days, 0 nanoseconds
+  </span>IntervalMonthDayNano::new(<span class="number">0</span>, <span class="number">0</span>, <span class="number">12 </span>* <span class="number">1000 </span>* <span class="number">1000</span>), <span class="comment">// 0 days, 12 milliseconds
+</span>]);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalMonthDayNanoArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::IntervalMonthDayNanoArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.IntervalYearMonthArray.html b/arrow/array/array/type.IntervalYearMonthArray.html
new file mode 100644
index 0000000000..263e0cf483
--- /dev/null
+++ b/arrow/array/array/type.IntervalYearMonthArray.html
@@ -0,0 +1,9 @@
+<!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 `PrimitiveArray` of “calendar” intervals in whole months"><title>IntervalYearMonthArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.wof [...]
+<p>See <a href="../../datatypes/struct.IntervalYearMonthType.html" title="struct arrow::datatypes::IntervalYearMonthType"><code>IntervalYearMonthType</code></a> for details on representation and caveats.</p>
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>array = IntervalYearMonthArray::from(<span class="macro">vec!</span>[
+  <span class="number">2</span>,  <span class="comment">// 2 months
+  </span><span class="number">25</span>, <span class="comment">// 2 years and 1 month
+  </span>-<span class="number">1  </span><span class="comment">// -1 months
+</span>]);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct IntervalYearMonthArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::IntervalYearMonthArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.LargeBinaryArray.html b/arrow/array/array/type.LargeBinaryArray.html
new file mode 100644
index 0000000000..b90663444a
--- /dev/null
+++ b/arrow/array/array/type.LargeBinaryArray.html
@@ -0,0 +1,31 @@
+<!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 `GenericBinaryArray` of `[u8]` using `i64` offsets"><title>LargeBinaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans- [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Create a LargeBinaryArray from a vector of byte slices.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, LargeBinaryArray};
+<span class="kw">let </span>values: Vec&lt;<span class="kw-2">&amp;</span>[u8]&gt; =
+    <span class="macro">vec!</span>[<span class="string">b"one"</span>, <span class="string">b"two"</span>, <span class="string">b""</span>, <span class="string">b"three"</span>];
+<span class="kw">let </span>array = LargeBinaryArray::from_vec(values);
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, array.len());
+<span class="macro">assert_eq!</span>(<span class="string">b"one"</span>, array.value(<span class="number">0</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"two"</span>, array.value(<span class="number">1</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b""</span>, array.value(<span class="number">2</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"three"</span>, array.value(<span class="number">3</span>));</code></pre></div>
+<p>Create a LargeBinaryArray from a vector of Optional (null) byte slices.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::{Array, LargeBinaryArray};
+<span class="kw">let </span>values: Vec&lt;<span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>[u8]&gt;&gt; =
+    <span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">b"one"</span>), <span class="prelude-val">Some</span>(<span class="string">b"two"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">b""</span>), <span class="prelude-val">Some</span>(<span class="string">b"three"</span>)];
+<span class="kw">let </span>array = LargeBinaryArray::from_opt_vec(values);
+<span class="macro">assert_eq!</span>(<span class="number">5</span>, array.len());
+<span class="macro">assert_eq!</span>(<span class="string">b"one"</span>, array.value(<span class="number">0</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"two"</span>, array.value(<span class="number">1</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b""</span>, array.value(<span class="number">3</span>));
+<span class="macro">assert_eq!</span>(<span class="string">b"three"</span>, array.value(<span class="number">4</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">0</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">1</span>));
+<span class="macro">assert!</span>(array.is_null(<span class="number">2</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">3</span>));
+<span class="macro">assert!</span>(!array.is_null(<span class="number">4</span>));</code></pre></div>
+<p>See <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::LargeBinaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.LargeListArray.html b/arrow/array/array/type.LargeListArray.html
new file mode 100644
index 0000000000..f391790ebb
--- /dev/null
+++ b/arrow/array/array/type.LargeListArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericListArray` of variable size lists, storing offsets as `i64`."><title>LargeListArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeListArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericListArray.js" data-self-path="arrow::array::LargeListArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.LargeListViewArray.html b/arrow/array/array/type.LargeListViewArray.html
new file mode 100644
index 0000000000..8de10258e8
--- /dev/null
+++ b/arrow/array/array/type.LargeListViewArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericListViewArray` of variable size lists, storing offsets as `i64`."><title>LargeListViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular- [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeListViewArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericListViewArray.js" data-self-path="arrow::array::LargeListViewArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.LargeStringArray.html b/arrow/array/array/type.LargeStringArray.html
new file mode 100644
index 0000000000..a6204a3326
--- /dev/null
+++ b/arrow/array/array/type.LargeStringArray.html
@@ -0,0 +1,17 @@
+<!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 `GenericStringArray` of `str` using `i64` offsets"><title>LargeStringArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-M [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;&amp;str&gt;&gt;
+</span><span class="kw">let </span>arr = LargeStringArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">"foo"</span>), <span class="prelude-val">Some</span>(<span class="string">"bar"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"baz"</span>)]);
+<span class="comment">// Create from Vec&lt;&amp;str&gt;
+</span><span class="kw">let </span>arr = LargeStringArray::from(<span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>]);
+<span class="comment">// Create from iter/collect (requires Option&lt;&amp;str&gt;)
+</span><span class="kw">let </span>arr: LargeStringArray = std::iter::repeat(<span class="prelude-val">Some</span>(<span class="string">"foo"</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>Construction and Access</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::LargeStringArray;
+<span class="kw">let </span>array = LargeStringArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">"foo"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"bar"</span>)]);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">2</span>), <span class="string">"bar"</span>);</code></pre></div>
+<p>See <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeStringArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::LargeStringArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.ListArray.html b/arrow/array/array/type.ListArray.html
new file mode 100644
index 0000000000..c672f2173d
--- /dev/null
+++ b/arrow/array/array/type.ListArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericListArray` of variable size lists, storing offsets as `i32`."><title>ListArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ListArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericListArray.js" data-self-path="arrow::array::ListArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.ListViewArray.html b/arrow/array/array/type.ListViewArray.html
new file mode 100644
index 0000000000..56e7bea688
--- /dev/null
+++ b/arrow/array/array/type.ListViewArray.html
@@ -0,0 +1,2 @@
+<!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 `GenericListViewArray` of variable size lists, storing offsets as `i32`."><title>ListViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48 [...]
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ListViewArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericListViewArray.js" data-self-path="arrow::array::ListViewArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.StringArray.html b/arrow/array/array/type.StringArray.html
new file mode 100644
index 0000000000..5b49e74796
--- /dev/null
+++ b/arrow/array/array/type.StringArray.html
@@ -0,0 +1,16 @@
+<!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 `GenericStringArray` of `str` using `i32` offsets"><title>StringArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;&amp;str&gt;&gt;
+</span><span class="kw">let </span>arr = StringArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">"foo"</span>), <span class="prelude-val">Some</span>(<span class="string">"bar"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"baz"</span>)]);
+<span class="comment">// Create from Vec&lt;&amp;str&gt;
+</span><span class="kw">let </span>arr = StringArray::from(<span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>]);
+<span class="comment">// Create from iter/collect (requires Option&lt;&amp;str&gt;)
+</span><span class="kw">let </span>arr: StringArray = std::iter::repeat(<span class="prelude-val">Some</span>(<span class="string">"foo"</span>)).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>Construction and Access</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>array = StringArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="string">"foo"</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="string">"bar"</span>)]);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"foo"</span>);</code></pre></div>
+<p>See <a href="../struct.GenericByteArray.html" title="struct arrow::array::GenericByteArray"><code>GenericByteArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteArray.js" data-self-path="arrow::array::StringArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.StringViewArray.html b/arrow/array/array/type.StringViewArray.html
new file mode 100644
index 0000000000..6d2e4105a9
--- /dev/null
+++ b/arrow/array/array/type.StringViewArray.html
@@ -0,0 +1,7 @@
+<!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 `GenericByteViewArray` that stores utf8 data"><title>StringViewArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium- [...]
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::StringViewArray;
+<span class="kw">let </span>array = StringViewArray::from_iter_values(<span class="macro">vec!</span>[<span class="string">"hello"</span>, <span class="string">"world"</span>, <span class="string">"lulu"</span>, <span class="string">"large payload over 12 bytes"</span>]);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">0</span>), <span class="string">"hello"</span>);
+<span class="macro">assert_eq!</span>(array.value(<span class="number">3</span>), <span class="string">"large payload over 12 bytes"</span>);</code></pre></div>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct StringViewArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.GenericByteViewArray.js" data-self-path="arrow::array::StringViewArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Time32MillisecondArray.html b/arrow/array/array/type.Time32MillisecondArray.html
new file mode 100644
index 0000000000..739155647f
--- /dev/null
+++ b/arrow/array/array/type.Time32MillisecondArray.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of milliseconds since midnight stored as `i32`"><title>Time32MillisecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48 [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
+hold values such as <code>00:02:00.123</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32MillisecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Time32MillisecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Time32SecondArray.html b/arrow/array/array/type.Time32SecondArray.html
new file mode 100644
index 0000000000..d9d7c24dcf
--- /dev/null
+++ b/arrow/array/array/type.Time32SecondArray.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of seconds since midnight stored as `i32`"><title>Time32SecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2, [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
+hold values such as <code>00:02:00</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time32SecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Time32SecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Time64MicrosecondArray.html b/arrow/array/array/type.Time64MicrosecondArray.html
new file mode 100644
index 0000000000..1b6839be98
--- /dev/null
+++ b/arrow/array/array/type.Time64MicrosecondArray.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of microseconds since midnight stored as `i64`"><title>Time64MicrosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48 [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
+hold values such as <code>00:02:00.123456</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64MicrosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Time64MicrosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.Time64NanosecondArray.html b/arrow/array/array/type.Time64NanosecondArray.html
new file mode 100644
index 0000000000..995d299f90
--- /dev/null
+++ b/arrow/array/array/type.Time64NanosecondArray.html
@@ -0,0 +1,4 @@
+<!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 `PrimitiveArray` of nanoseconds since midnight stored as `i64`"><title>Time64NanosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ad [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html" title="struct chrono::naive::time::NaiveTime"><code>chrono::NaiveTime</code></a> type and can
+hold values such as <code>00:02:00.123456789</code></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Time64NanosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::Time64NanosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.TimestampMicrosecondArray.html b/arrow/array/array/type.TimestampMicrosecondArray.html
new file mode 100644
index 0000000000..1ca550936f
--- /dev/null
+++ b/arrow/array/array/type.TimestampMicrosecondArray.html
@@ -0,0 +1,3 @@
+<!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 `PrimitiveArray` of microseconds since UNIX epoch stored as `i64`"><title>TimestampMicrosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular- [...]
+<p>See examples for <a href="../type.TimestampSecondArray.html" title="type arrow::array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMicrosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::TimestampMicrosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.TimestampMillisecondArray.html b/arrow/array/array/type.TimestampMillisecondArray.html
new file mode 100644
index 0000000000..408a34b1c3
--- /dev/null
+++ b/arrow/array/array/type.TimestampMillisecondArray.html
@@ -0,0 +1,3 @@
+<!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 `PrimitiveArray` of milliseconds since UNIX epoch stored as `i64`"><title>TimestampMillisecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular- [...]
+<p>See examples for <a href="../type.TimestampSecondArray.html" title="type arrow::array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampMillisecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::TimestampMillisecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.TimestampNanosecondArray.html b/arrow/array/array/type.TimestampNanosecondArray.html
new file mode 100644
index 0000000000..b046f72069
--- /dev/null
+++ b/arrow/array/array/type.TimestampNanosecondArray.html
@@ -0,0 +1,3 @@
+<!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 `PrimitiveArray` of nanoseconds since UNIX epoch stored as `i64`"><title>TimestampNanosecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0f [...]
+<p>See examples for <a href="../type.TimestampSecondArray.html" title="type arrow::array::TimestampSecondArray"><code>TimestampSecondArray</code></a></p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampNanosecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::TimestampNanosecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.TimestampSecondArray.html b/arrow/array/array/type.TimestampSecondArray.html
new file mode 100644
index 0000000000..86e3fcb98b
--- /dev/null
+++ b/arrow/array/array/type.TimestampSecondArray.html
@@ -0,0 +1,33 @@
+<!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 `PrimitiveArray` of seconds since UNIX epoch stored as `i64`"><title>TimestampSecondArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.w [...]
+<p>This type is similar to the <a href="https://docs.rs/chrono/latest/chrono/datetime/struct.DateTime.html" title="struct chrono::datetime::DateTime"><code>chrono::DateTime</code></a> type and can hold
+values such as <code>1970-05-09 14:25:11 +01:00</code></p>
+<p>See also <a href="../../datatypes/enum.DataType.html#variant.Timestamp" title="variant arrow::datatypes::DataType::Timestamp"><code>Timestamp</code></a>.</p>
+<h2 id="example-utc-timestamps-post-epoch"><a class="doc-anchor" href="#example-utc-timestamps-post-epoch">§</a>Example: UTC timestamps post epoch</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::timezone::Tz;
+<span class="comment">// Corresponds to single element array with entry 1970-05-09T14:25:11+0:00
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[<span class="number">11111111</span>]);
+<span class="comment">// OR
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">11111111</span>)]);
+<span class="kw">let </span>utc_tz: Tz = <span class="string">"+00:00"</span>.parse().unwrap();
+
+<span class="macro">assert_eq!</span>(arr.value_as_datetime_with_tz(<span class="number">0</span>, utc_tz).map(|v| v.to_string()).unwrap(), <span class="string">"1970-05-09 14:25:11 +00:00"</span>)</code></pre></div>
+<h2 id="example-utc-timestamps-pre-epoch"><a class="doc-anchor" href="#example-utc-timestamps-pre-epoch">§</a>Example: UTC timestamps pre epoch</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::timezone::Tz;
+<span class="comment">// Corresponds to single element array with entry 1969-08-25T09:34:49+0:00
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[-<span class="number">11111111</span>]);
+<span class="comment">// OR
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(-<span class="number">11111111</span>)]);
+<span class="kw">let </span>utc_tz: Tz = <span class="string">"+00:00"</span>.parse().unwrap();
+
+<span class="macro">assert_eq!</span>(arr.value_as_datetime_with_tz(<span class="number">0</span>, utc_tz).map(|v| v.to_string()).unwrap(), <span class="string">"1969-08-25 09:34:49 +00:00"</span>)</code></pre></div>
+<h2 id="example-with-timezone-specified"><a class="doc-anchor" href="#example-with-timezone-specified">§</a>Example: With timezone specified</h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::timezone::Tz;
+<span class="comment">// Corresponds to single element array with entry 1970-05-10T00:25:11+10:00
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[<span class="number">11111111</span>]).with_timezone(<span class="string">"+10:00"</span>.to_string());
+<span class="comment">// OR
+</span><span class="kw">let </span>arr = TimestampSecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">11111111</span>)]).with_timezone(<span class="string">"+10:00"</span>.to_string());
+<span class="kw">let </span>sydney_tz: Tz = <span class="string">"+10:00"</span>.parse().unwrap();
+
+<span class="macro">assert_eq!</span>(arr.value_as_datetime_with_tz(<span class="number">0</span>, sydney_tz).map(|v| v.to_string()).unwrap(), <span class="string">"1970-05-10 00:25:11 +10:00"</span>)</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct TimestampSecondArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::TimestampSecondArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt16Array.html b/arrow/array/array/type.UInt16Array.html
new file mode 100644
index 0000000000..bc88433f70
--- /dev/null
+++ b/arrow/array/array/type.UInt16Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `u16`"><title>UInt16Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCo [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;u16&gt;&gt;
+</span><span class="kw">let </span>arr = UInt16Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;u16&gt;
+</span><span class="kw">let </span>arr = UInt16Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: UInt16Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::UInt16Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt16DictionaryArray.html b/arrow/array/array/type.UInt16DictionaryArray.html
new file mode 100644
index 0000000000..3ea00068b9
--- /dev/null
+++ b/arrow/array/array/type.UInt16DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `u16`"><title>UInt16DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: UInt16DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>UInt16Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt16DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::UInt16DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt32Array.html b/arrow/array/array/type.UInt32Array.html
new file mode 100644
index 0000000000..dbea2c7903
--- /dev/null
+++ b/arrow/array/array/type.UInt32Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `u32`"><title>UInt32Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCo [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;u32&gt;&gt;
+</span><span class="kw">let </span>arr = UInt32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;u32&gt;
+</span><span class="kw">let </span>arr = UInt32Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: UInt32Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::UInt32Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt32DictionaryArray.html b/arrow/array/array/type.UInt32DictionaryArray.html
new file mode 100644
index 0000000000..8fa2bdded3
--- /dev/null
+++ b/arrow/array/array/type.UInt32DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `u32`"><title>UInt32DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: UInt32DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>UInt32Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt32DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::UInt32DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt64Array.html b/arrow/array/array/type.UInt64Array.html
new file mode 100644
index 0000000000..551d5f6866
--- /dev/null
+++ b/arrow/array/array/type.UInt64Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `u64`"><title>UInt64Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCo [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;u64&gt;&gt;
+</span><span class="kw">let </span>arr = UInt64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;u64&gt;
+</span><span class="kw">let </span>arr = UInt64Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: UInt64Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::UInt64Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt64DictionaryArray.html b/arrow/array/array/type.UInt64DictionaryArray.html
new file mode 100644
index 0000000000..95a31b65ec
--- /dev/null
+++ b/arrow/array/array/type.UInt64DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `u64`"><title>UInt64DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: UInt64DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>UInt64Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt64DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::UInt64DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt8Array.html b/arrow/array/array/type.UInt8Array.html
new file mode 100644
index 0000000000..89dbfcdba2
--- /dev/null
+++ b/arrow/array/array/type.UInt8Array.html
@@ -0,0 +1,12 @@
+<!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 `PrimitiveArray` of `u8`"><title>UInt8Array in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCode [...]
+<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
+<p>Construction</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Create from Vec&lt;Option&lt;u8&gt;&gt;
+</span><span class="kw">let </span>arr = UInt8Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+<span class="comment">// Create from Vec&lt;u8&gt;
+</span><span class="kw">let </span>arr = UInt8Array::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
+<span class="comment">// Create iter/collect
+</span><span class="kw">let </span>arr: UInt8Array = std::iter::repeat(<span class="number">42</span>).take(<span class="number">10</span>).collect();</code></pre></div>
+<p>See <a href="../struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8Array { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.PrimitiveArray.js" data-self-path="arrow::array::UInt8Array" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/array/type.UInt8DictionaryArray.html b/arrow/array/array/type.UInt8DictionaryArray.html
new file mode 100644
index 0000000000..492c57868b
--- /dev/null
+++ b/arrow/array/array/type.UInt8DictionaryArray.html
@@ -0,0 +1,9 @@
+<!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 `DictionaryArray` indexed by `u8`"><title>UInt8DictionaryArray in arrow::array::array - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f [...]
+<h2 id="example-using-collect"><a class="doc-anchor" href="#example-using-collect">§</a>Example: Using <code>collect</code></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="kw">let </span>array: UInt8DictionaryArray = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>].into_iter().collect();
+<span class="kw">let </span>values: Arc&lt;<span class="kw">dyn </span>Array&gt; = Arc::new(StringArray::from(<span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>]));
+<span class="macro">assert_eq!</span>(array.keys(), <span class="kw-2">&amp;</span>UInt8Array::from(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]));
+<span class="macro">assert_eq!</span>(array.values(), <span class="kw-2">&amp;</span>values);</code></pre></div>
+<p>See <a href="../struct.DictionaryArray.html" title="struct arrow::array::DictionaryArray"><code>DictionaryArray</code></a> for more information and examples</p>
+</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct UInt8DictionaryArray { <span class="comment">/* private fields */</span> }</code></pre><script src="../../../type.impl/arrow/array/struct.DictionaryArray.js" data-self-path="arrow::array::UInt8DictionaryArray" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/builder/fn.make_builder.html b/arrow/array/builder/fn.make_builder.html
new file mode 100644
index 0000000000..6da3d9ea2c
--- /dev/null
+++ b/arrow/array/builder/fn.make_builder.html
@@ -0,0 +1,8 @@
+<!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="Returns a builder with capacity `capacity` that corresponds to the datatype `DataType` This function is useful to construct arrays from an arbitrary vectors with known/expected schema."><title>make_builder in arrow::array::builder - Rust</title><script>if(window.location.protocol!=="file [...]
+    datatype: &amp;<a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a>,
+    capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.ArrayBuilder.html" title="trait arrow::array::builder::ArrayBuilder">ArrayBuilder</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a builder with capacity <code>capacity</code> that corresponds to the datatype <cod [...]
+This function is useful to construct arrays from an arbitrary vectors with known/expected
+schema.</p>
+<p>See comments on StructBuilder on how to retreive collection builders built by make_builder.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/builder/fn.make_view.html b/arrow/array/builder/fn.make_view.html
new file mode 100644
index 0000000000..2cf92b525f
--- /dev/null
+++ b/arrow/array/builder/fn.make_view.html
@@ -0,0 +1,5 @@
+<!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="Create a view based on the given data, block id and offset."><title>make_view in arrow::array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSan [...]
+<p>Note that the code below is carefully examined with x86_64 assembly code: <a href="https://godbolt.org/z/685YPsd5G">https://godbolt.org/z/685YPsd5G</a>
+The goal is to avoid calling into <code>ptr::copy_non_interleave</code>, which makes function call (i.e., not inlined),
+which slows down things.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/array/builder/index.html b/arrow/array/builder/index.html
new file mode 100644
index 0000000000..aea5448401
--- /dev/null
+++ b/arrow/array/builder/index.html
@@ -0,0 +1,108 @@
+<!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="Defines push-based APIs for constructing arrays"><title>arrow::array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,S [...]
+<h2 id="basic-usage"><a class="doc-anchor" href="#basic-usage">§</a>Basic Usage</h2>
+<p>Builders can be used to build simple, non-nested arrays</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = Int32Builder::new();
+a.append_value(<span class="number">1</span>);
+a.append_null();
+a.append_value(<span class="number">2</span>);
+<span class="kw">let </span>a = a.finish();
+
+<span class="macro">assert_eq!</span>(a, PrimitiveArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]));</code></pre></div>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = StringBuilder::new();
+a.append_value(<span class="string">"foo"</span>);
+a.append_value(<span class="string">"bar"</span>);
+a.append_null();
+<span class="kw">let </span>a = a.finish();
+
+<span class="macro">assert_eq!</span>(a, StringArray::from_iter([<span class="prelude-val">Some</span>(<span class="string">"foo"</span>), <span class="prelude-val">Some</span>(<span class="string">"bar"</span>), <span class="prelude-val">None</span>]));</code></pre></div>
+<h2 id="nested-usage"><a class="doc-anchor" href="#nested-usage">§</a>Nested Usage</h2>
+<p>Builders can also be used to build more complex nested arrays, such as lists</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = ListBuilder::new(Int32Builder::new());
+<span class="comment">// [1, 2]
+</span>a.values().append_value(<span class="number">1</span>);
+a.values().append_value(<span class="number">2</span>);
+a.append(<span class="bool-val">true</span>);
+<span class="comment">// null
+</span>a.append(<span class="bool-val">false</span>);
+<span class="comment">// []
+</span>a.append(<span class="bool-val">true</span>);
+<span class="comment">// [3, null]
+</span>a.values().append_value(<span class="number">3</span>);
+a.values().append_null();
+a.append(<span class="bool-val">true</span>);
+
+<span class="comment">// [[1, 2], null, [], [3, null]]
+</span><span class="kw">let </span>a = a.finish();
+
+<span class="macro">assert_eq!</span>(a, ListArray::from_iter_primitive::&lt;Int32Type, <span class="kw">_</span>, <span class="kw">_</span>&gt;([
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>)]),
+    <span class="prelude-val">None</span>,
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[]),
+    <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">3</span>), <span class="prelude-val">None</span>])]
+))</code></pre></div>
+<h2 id="custom-builders"><a class="doc-anchor" href="#custom-builders">§</a>Custom Builders</h2>
+<p>It is common to have a collection of statically defined Rust types that
+you want to convert to Arrow arrays.</p>
+<p>An example of doing so is below</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="doccomment">/// A custom row representation
+</span><span class="kw">struct </span>MyRow {
+    i32: i32,
+    optional_i32: <span class="prelude-ty">Option</span>&lt;i32&gt;,
+    string: <span class="prelude-ty">Option</span>&lt;String&gt;,
+    i32_list: <span class="prelude-ty">Option</span>&lt;Vec&lt;<span class="prelude-ty">Option</span>&lt;i32&gt;&gt;&gt;,
+}
+
+<span class="doccomment">/// Converts `Vec&lt;Row&gt;` into `StructArray`
+</span><span class="attr">#[derive(Debug, Default)]
+</span><span class="kw">struct </span>MyRowBuilder {
+    i32: Int32Builder,
+    string: StringBuilder,
+    i32_list: ListBuilder&lt;Int32Builder&gt;,
+}
+
+<span class="kw">impl </span>MyRowBuilder {
+    <span class="kw">fn </span>append(<span class="kw-2">&amp;mut </span><span class="self">self</span>, row: <span class="kw-2">&amp;</span>MyRow) {
+        <span class="self">self</span>.i32.append_value(row.i32);
+        <span class="self">self</span>.string.append_option(row.string.as_ref());
+        <span class="self">self</span>.i32_list.append_option(row.i32_list.as_ref().map(|x| x.iter().copied()));
+    }
+
+    <span class="doccomment">/// Note: returns StructArray to allow nesting within another array if desired
+    </span><span class="kw">fn </span>finish(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; StructArray {
+        <span class="kw">let </span>i32 = Arc::new(<span class="self">self</span>.i32.finish()) <span class="kw">as </span>ArrayRef;
+        <span class="kw">let </span>i32_field = Arc::new(Field::new(<span class="string">"i32"</span>, DataType::Int32, <span class="bool-val">false</span>));
+
+        <span class="kw">let </span>string = Arc::new(<span class="self">self</span>.string.finish()) <span class="kw">as </span>ArrayRef;
+        <span class="kw">let </span>string_field = Arc::new(Field::new(<span class="string">"i32"</span>, DataType::Utf8, <span class="bool-val">false</span>));
+
+        <span class="kw">let </span>i32_list = Arc::new(<span class="self">self</span>.i32_list.finish()) <span class="kw">as </span>ArrayRef;
+        <span class="kw">let </span>value_field = Arc::new(Field::new(<span class="string">"item"</span>, DataType::Int32, <span class="bool-val">true</span>));
+        <span class="kw">let </span>i32_list_field = Arc::new(Field::new(<span class="string">"i32_list"</span>, DataType::List(value_field), <span class="bool-val">true</span>));
+
+        StructArray::from(<span class="macro">vec!</span>[
+            (i32_field, i32),
+            (string_field, string),
+            (i32_list_field, i32_list),
+        ])
+    }
+}
+
+<span class="kw">impl</span>&lt;<span class="lifetime">'a</span>&gt; Extend&lt;<span class="kw-2">&amp;</span><span class="lifetime">'a </span>MyRow&gt; <span class="kw">for </span>MyRowBuilder {
+    <span class="kw">fn </span>extend&lt;T: IntoIterator&lt;Item = <span class="kw-2">&amp;</span><span class="lifetime">'a </span>MyRow&gt;&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, iter: T) {
+        iter.into_iter().for_each(|row| <span class="self">self</span>.append(row));
+    }
+}
+
+<span class="doccomment">/// Converts a slice of [`MyRow`] to a [`RecordBatch`]
+</span><span class="kw">fn </span>rows_to_batch(rows: <span class="kw-2">&amp;</span>[MyRow]) -&gt; RecordBatch {
+    <span class="kw">let </span><span class="kw-2">mut </span>builder = MyRowBuilder::default();
+    builder.extend(rows);
+    RecordBatch::from(<span class="kw-2">&amp;</span>builder.finish())
+}</code></pre></div>
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BooleanBufferBuilder.html" title="struct arrow::array::builder::BooleanBufferBuilder">Boolean<wbr>Buffer<wbr>Builder</a></div><div class="desc docblock-short">Builder for <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer"><code>BooleanBuffer</code></a></div></li [...]
+This function is useful to construct arrays from an arbitrary vectors with known/expected
+schema.</div></li><li><div class="item-name"><a class="fn" href="fn.make_view.html" title="fn arrow::array::builder::make_view">make_<wbr>view</a></div><div class="desc docblock-short">Create a view based on the given data, block id and offset.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.BinaryBuilder.html" title="type arrow::array::builder::BinaryBu [...]
\ No newline at end of file
diff --git a/arrow/array/builder/sidebar-items.js b/arrow/array/builder/sidebar-items.js
new file mode 100644
index 0000000000..314bc2cbb4
--- /dev/null
+++ b/arrow/array/builder/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"fn":["make_builder","make_view"],"struct":["BooleanBufferBuilder","BooleanBuilder","BufferBuilder","FixedSizeBinaryBuilder","FixedSizeListBuilder","GenericByteBuilder","GenericByteDictionaryBuilder","GenericByteRunBuilder","GenericByteViewBuilder","GenericListBuilder","MapBuilder","MapFieldNames","NullBuilder","PrimitiveBuilder","PrimitiveDictionaryBuilder","PrimitiveRunBuilder","StructBuilder","UnionBuilder"],"trait":["ArrayBuilder"],"type":["BinaryBuilder","Bin [...]
\ No newline at end of file
diff --git a/arrow/array/builder/struct.BooleanBufferBuilder.html b/arrow/array/builder/struct.BooleanBufferBuilder.html
new file mode 100644
index 0000000000..595d4354ca
--- /dev/null
+++ b/arrow/array/builder/struct.BooleanBufferBuilder.html
@@ -0,0 +1,48 @@
+<!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="Builder for `BooleanBuffer`"><title>BooleanBufferBuilder in arrow::array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.wof [...]
+    buffer: <a class="struct" href="../../buffer/struct.MutableBuffer.html" title="struct arrow::buffer::MutableBuffer">MutableBuffer</a>,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer"><code>BooleanBuffer</code></a></p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.buffer" class="structfield section-header"><a href="#structfield.buffer" class="anchor field">§</a><code>buffer: <a class="struct" href="../../buffer/struct.MutableBuffer.html" title="struct arrow::buffer::MutableBuffer">MutableBuffer</a></code></span><span id="structfield.len" class="structfield section-header"><a href="#structfield.len" class="anchor fiel [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_from_buffer" class="method"><h4 class="code-header">pub fn <a href="#method.new_from_buffer" class="fn">new_from_buffer</a>(
+    buffer: <a class="struct" href="../../buffer/struct.MutableBuffer.html" title="struct arrow::buffer::MutableBuffer">MutableBuffer</a>,
+    len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+) -&gt; <a class="struct" href="struct.BooleanBufferBuilder.html" title="struct arrow::array::builder::BooleanBufferBuilder">BooleanBufferBuilder</a></h4></section></summary><div class="docblock"><p>Creates a new <code>BooleanBufferBuilder</code> from <a href="../../buffer/struct.MutableBuffer.html" title="struct arrow::buffer::MutableBuffer"><code>MutableBuffer</code></a> of <code>len</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the length of the buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_bit" class="method"><h4 class="code-header">pub fn <a href="#method.set_bit" class="fn">set_bit</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Sets a bit in the buffer at <cod [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_bit" class="method"><h4 class="code-header">pub fn <a href="#method.get_bit" class="fn">get_bit</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Gets a bit in the buffer at <code> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if empty</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.capacity" class="method"><h4 class="code-header">pub fn <a href="#method.capacity" class="fn">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the capacity of the buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.advance" class="method"><h4 class="code-header">pub fn <a href="#method.advance" class="fn">advance</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Advances the buffer by <code>additional</code> bits</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.truncate" class="method"><h4 class="code-header">pub fn <a href="#method.truncate" class="fn">truncate</a>(&amp;mut self, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Truncates the builder to the given length</p>
+<p>If <code>len</code> is greater than the buffer’s current length, this has no effect</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reserve" class="method"><h4 class="code-header">pub fn <a href="#method.reserve" class="fn">reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Reserve space to at least <code>additional</code> new bits.
+Capacity will be <code>&gt;= self.len() + additional</code>.
+New bytes are uninitialized and reading them is undefined behavior.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.resize" class="method"><h4 class="code-header">pub fn <a href="#method.resize" class="fn">resize</a>(&amp;mut self, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Resizes the buffer, either truncating its contents (with no change in capacity), or
+growing it (potentially reallocating it) and writing <code>false</code> in the newly available bits.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(&amp;mut self, v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Appends a boolean <code>v</code> into the buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_n" class="method"><h4 class="code-header">pub fn <a href="#method.append_n" class="fn">append_n</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Appends n <code>addition [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_slice" class="method"><h4 class="code-header">pub fn <a href="#method.append_slice" class="fn">append_slice</a>(&amp;mut self, slice: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>])</h4></section></summary><div class="docblock"><p>Appends a slice of booleans into the buffer</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_packed_range" class="method"><h4 class="code-header">pub fn <a href="#method.append_packed_range" class="fn">append_packed_range</a>(&amp;mut self, range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&g [...]
+<p><code>to_set</code> is a slice of bits packed LSB-first into <code>[u8]</code></p>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
+<p>Panics if <code>to_set</code> does not contain <code>ceil(range.end / 8)</code> bytes</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_buffer" class="method"><h4 class="code-header">pub fn <a href="#method.append_buffer" class="fn">append_buffer</a>(&amp;mut self, buffer: &amp;<a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a>)</h4></section></summary><div class="docblock"><p>Append <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::b [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.as_slice" class="method"><h4 class="code-header">pub fn <a href="#method.as_slice" class="fn">as_slice</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the packed bits</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.as_slice_mut" class="method"><h4 class="code-header">pub fn <a href="#method.as_slice_mut" class="fn">as_slice_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;mut [u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the packed bits</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.finish" class="method"><h4 class="code-header">pub fn <a href="#method.finish" class="fn">finish</a>(&amp;mut self) -&gt; <a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a></h4></section></summary><div class="docblock"><p>Creates a <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer"><cod [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.finish_cloned" class="method"><h4 class="code-header">pub fn <a href="#method.finish_cloned" class="fn">finish_cloned</a>(&amp;self) -&gt; <a class="struct" href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::BooleanBuffer">BooleanBuffer</a></h4></section></summary><div class="docblock"><p>Builds the <a href="../../buffer/struct.BooleanBuffer.html" title="struct arrow::buffer::B [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BooleanBufferBuilder" class="impl"><a href="#impl-Debug-for-BooleanBufferBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/t [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div  [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-T" class="impl"><a href="#impl-Allocation-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../alloc/trait.Allocation.html" title="trait arrow::allo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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>,</div></h3></section><section id="impl-Ungil-fo [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title= [...]
\ No newline at end of file
diff --git a/arrow/array/builder/struct.BooleanBuilder.html b/arrow/array/builder/struct.BooleanBuilder.html
new file mode 100644
index 0000000000..75c9ac718d
--- /dev/null
+++ b/arrow/array/builder/struct.BooleanBuilder.html
@@ -0,0 +1,70 @@
+<!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="Builder for `BooleanArray`"><title>BooleanBuilder in arrow::array::builder - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,Sour [...]
+    values_builder: <a class="struct" href="struct.BooleanBufferBuilder.html" title="struct arrow::array::builder::BooleanBufferBuilder">BooleanBufferBuilder</a>,
+    null_buffer_builder: NullBufferBuilder,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for <a href="../struct.BooleanArray.html" title="struct arrow::array::BooleanArray"><code>BooleanArray</code></a></p>
+<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
+<p>Create a <code>BooleanArray</code> from a <code>BooleanBuilder</code></p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+
+<span class="kw">let </span><span class="kw-2">mut </span>b = BooleanBuilder::new();
+b.append_value(<span class="bool-val">true</span>);
+b.append_null();
+b.append_value(<span class="bool-val">false</span>);
+b.append_value(<span class="bool-val">true</span>);
+<span class="kw">let </span>arr = b.finish();
+
+<span class="macro">assert_eq!</span>(<span class="number">4</span>, arr.len());
+<span class="macro">assert_eq!</span>(<span class="number">1</span>, arr.null_count());
+<span class="macro">assert_eq!</span>(<span class="bool-val">true</span>, arr.value(<span class="number">0</span>));
+<span class="macro">assert!</span>(arr.is_valid(<span class="number">0</span>));
+<span class="macro">assert!</span>(!arr.is_null(<span class="number">0</span>));
+<span class="macro">assert!</span>(!arr.is_valid(<span class="number">1</span>));
+<span class="macro">assert!</span>(arr.is_null(<span class="number">1</span>));
+<span class="macro">assert_eq!</span>(<span class="bool-val">false</span>, arr.value(<span class="number">2</span>));
+<span class="macro">assert!</span>(arr.is_valid(<span class="number">2</span>));
+<span class="macro">assert!</span>(!arr.is_null(<span class="number">2</span>));
+<span class="macro">assert_eq!</span>(<span class="bool-val">true</span>, arr.value(<span class="number">3</span>));
+<span class="macro">assert!</span>(arr.is_valid(<span class="number">3</span>));
+<span class="macro">assert!</span>(!arr.is_null(<span class="number">3</span>));</code></pre></div>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.values_builder" class="structfield section-header"><a href="#structfield.values_builder" class="anchor field">§</a><code>values_builder: <a class="struct" href="struct.BooleanBufferBuilder.html" title="struct arrow::array::builder::BooleanBufferBuilder">BooleanBufferBuilder</a></code></span><span id="structfield.null_buffer_builder" class="structfield secti [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.BooleanBuilder.html" title="struct arrow::array::builder::BooleanBuilder">BooleanBuilder</a></h4></section></summary><div class="docblock [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.capacity" class="method"><h4 class="code-header">pub fn <a href="#method.capacity" class="fn">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the capacity of this builder measured in slots of type <code>T</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_value" class="method"><h4 class="code-header">pub fn <a href="#method.append_value" class="fn">append_value</a>(&amp;mut self, v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Appends a value of type <code>T</code> into the builder</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_null" class="method"><h4 class="code-header">pub fn <a href="#method.append_null" class="fn">append_null</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Appends a null slot into the builder</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_nulls" class="method"><h4 class="code-header">pub fn <a href="#method.append_nulls" class="fn">append_nulls</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Appends <code>n</code> <code>null</code>s into the builder.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_option" class="method"><h4 class="code-header">pub fn <a href="#method.append_option" class="fn">append_option</a>(&amp;mut self, v: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;)</h4></section></summary><div c [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_slice" class="method"><h4 class="code-header">pub fn <a href="#method.append_slice" class="fn">append_slice</a>(&amp;mut self, v: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>])</h4></section></summary><div class="docblock"><p>Appends a slice of type <code>T</code> into the builder</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append_values" class="method"><h4 class="code-header">pub fn <a href="#method.append_values" class="fn">append_values</a>(
+    &amp;mut self,
+    values: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>],
+    is_valid: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>],
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Appends values from a slice of type <code>T</code> and a validity boolean slice.</p>
+<p>Returns an error if the slices are of different lengths</p>
... 678370 lines suppressed ...