pub struct ArrayRef(/* private fields */);Expand description
A reference-counted pointer to a type-erased array.
Implementations§
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn encoding_id(&self) -> ArrayId
pub fn encoding_id(&self) -> ArrayId
Returns the encoding ID of the array.
Sourcepub fn slice(&self, range: Range<usize>) -> VortexResult<ArrayRef>
pub fn slice(&self, range: Range<usize>) -> VortexResult<ArrayRef>
Performs a constant-time slice of the array.
Sourcepub fn filter(&self, mask: Mask) -> VortexResult<ArrayRef>
pub fn filter(&self, mask: Mask) -> VortexResult<ArrayRef>
Wraps the array in a FilterArray such that it is logically filtered by the given mask.
Sourcepub fn take(&self, indices: ArrayRef) -> VortexResult<ArrayRef>
pub fn take(&self, indices: ArrayRef) -> VortexResult<ArrayRef>
Wraps the array in a DictArray such that it is logically taken by the given indices.
Sourcepub fn scalar_at(&self, index: usize) -> VortexResult<Scalar>
pub fn scalar_at(&self, index: usize) -> VortexResult<Scalar>
Fetch the scalar at the given index.
Sourcepub fn is_valid(&self, index: usize) -> VortexResult<bool>
pub fn is_valid(&self, index: usize) -> VortexResult<bool>
Returns whether the item at index is valid.
Sourcepub fn is_invalid(&self, index: usize) -> VortexResult<bool>
pub fn is_invalid(&self, index: usize) -> VortexResult<bool>
Returns whether the item at index is invalid.
Sourcepub fn all_valid(&self) -> VortexResult<bool>
pub fn all_valid(&self) -> VortexResult<bool>
Returns whether all items in the array are valid.
Sourcepub fn all_invalid(&self) -> VortexResult<bool>
pub fn all_invalid(&self) -> VortexResult<bool>
Returns whether the array is all invalid.
Sourcepub fn valid_count(&self) -> VortexResult<usize>
pub fn valid_count(&self) -> VortexResult<usize>
Returns the number of valid elements in the array.
Sourcepub fn invalid_count(&self) -> VortexResult<usize>
pub fn invalid_count(&self) -> VortexResult<usize>
Returns the number of invalid elements in the array.
Sourcepub fn validity(&self) -> VortexResult<Validity>
pub fn validity(&self) -> VortexResult<Validity>
Returns the Validity of the array.
Sourcepub fn validity_mask(&self) -> VortexResult<Mask>
pub fn validity_mask(&self) -> VortexResult<Mask>
Returns the canonical validity mask for the array.
Sourcepub fn into_canonical(self) -> VortexResult<Canonical>
pub fn into_canonical(self) -> VortexResult<Canonical>
Returns the canonical representation of the array.
Sourcepub fn to_canonical(&self) -> VortexResult<Canonical>
pub fn to_canonical(&self) -> VortexResult<Canonical>
Returns the canonical representation of the array.
Sourcepub fn append_to_builder(
&self,
builder: &mut dyn ArrayBuilder,
ctx: &mut ExecutionCtx,
) -> VortexResult<()>
pub fn append_to_builder( &self, builder: &mut dyn ArrayBuilder, ctx: &mut ExecutionCtx, ) -> VortexResult<()>
Writes the array into the canonical builder.
Sourcepub fn statistics(&self) -> StatsSetRef<'_>
pub fn statistics(&self) -> StatsSetRef<'_>
Returns the statistics of the array.
Sourcepub fn as_opt<M: Matcher>(&self) -> Option<M::Match<'_>>
pub fn as_opt<M: Matcher>(&self) -> Option<M::Match<'_>>
Returns the array downcast by the given matcher.
Sourcepub fn try_downcast<V: VTable>(self) -> Result<Array<V>, ArrayRef>
pub fn try_downcast<V: VTable>(self) -> Result<Array<V>, ArrayRef>
Returns the array downcast to the given Array<V> as an owned typed handle.
Sourcepub fn downcast<V: VTable>(self) -> Array<V>
pub fn downcast<V: VTable>(self) -> Array<V>
Returns the array downcast to the given Array<V> as an owned typed handle.
§Panics
Panics if the array is not of the given type.
Sourcepub fn as_typed<V: VTable>(&self) -> Option<ArrayView<'_, V>>
pub fn as_typed<V: VTable>(&self) -> Option<ArrayView<'_, V>>
Returns a reference to the typed ArrayInner<V> if this array matches the given vtable type.
Sourcepub fn as_constant(&self) -> Option<Scalar>
pub fn as_constant(&self) -> Option<Scalar>
Returns the constant scalar if this is a constant array.
Sourcepub fn nbytes(&self) -> u64
pub fn nbytes(&self) -> u64
Total size of the array in bytes, including all children and buffers.
Sourcepub fn is_canonical(&self) -> bool
pub fn is_canonical(&self) -> bool
Whether the array is of a canonical encoding.
Sourcepub fn with_slot(
self,
slot_idx: usize,
replacement: ArrayRef,
) -> VortexResult<ArrayRef>
pub fn with_slot( self, slot_idx: usize, replacement: ArrayRef, ) -> VortexResult<ArrayRef>
Returns a new array with the slot at slot_idx replaced by replacement.
This is only valid for physical rewrites: the replacement must have the same logical
DType and len as the existing slot.
Takes ownership to allow in-place mutation when the refcount is 1.
Sourcepub fn with_slots(self, slots: Vec<Option<ArrayRef>>) -> VortexResult<ArrayRef>
pub fn with_slots(self, slots: Vec<Option<ArrayRef>>) -> VortexResult<ArrayRef>
Returns a new array with the provided slots.
This is only valid for physical rewrites: slot count, presence, logical DType, and
logical len must remain unchanged.
pub fn reduce(&self) -> VortexResult<Option<ArrayRef>>
pub fn reduce_parent( &self, parent: &ArrayRef, child_idx: usize, ) -> VortexResult<Option<ArrayRef>>
pub fn execute_parent( &self, parent: &ArrayRef, child_idx: usize, ctx: &mut ExecutionCtx, ) -> VortexResult<Option<ArrayRef>>
Sourcepub fn nth_child(&self, idx: usize) -> Option<ArrayRef>
pub fn nth_child(&self, idx: usize) -> Option<ArrayRef>
Returns the nth child of the array without allocating a Vec.
Sourcepub fn children_names(&self) -> Vec<String>
pub fn children_names(&self) -> Vec<String>
Returns the names of the children of the array.
Sourcepub fn named_children(&self) -> Vec<(String, ArrayRef)>
pub fn named_children(&self) -> Vec<(String, ArrayRef)>
Returns the array’s children with their names.
Sourcepub fn buffers(&self) -> Vec<ByteBuffer> ⓘ
pub fn buffers(&self) -> Vec<ByteBuffer> ⓘ
Returns the data buffers of the array.
Sourcepub fn buffer_handles(&self) -> Vec<BufferHandle>
pub fn buffer_handles(&self) -> Vec<BufferHandle>
Returns the buffer handles of the array.
Sourcepub fn buffer_names(&self) -> Vec<String>
pub fn buffer_names(&self) -> Vec<String>
Returns the names of the buffers of the array.
Sourcepub fn named_buffers(&self) -> Vec<(String, BufferHandle)>
pub fn named_buffers(&self) -> Vec<(String, BufferHandle)>
Returns the array’s buffers with their names.
Sourcepub fn metadata(&self, session: &VortexSession) -> VortexResult<Option<Vec<u8>>>
pub fn metadata(&self, session: &VortexSession) -> VortexResult<Option<Vec<u8>>>
Returns the serialized metadata of the array.
Sourcepub fn metadata_fmt(&self, f: &mut Formatter<'_>) -> Result
pub fn metadata_fmt(&self, f: &mut Formatter<'_>) -> Result
Formats a human-readable metadata description.
Sourcepub fn nbuffers_recursive(&self) -> usize
pub fn nbuffers_recursive(&self) -> usize
Count the number of buffers encoded by self and all child arrays.
Sourcepub fn depth_first_traversal(&self) -> DepthFirstArrayIterator ⓘ
pub fn depth_first_traversal(&self) -> DepthFirstArrayIterator ⓘ
Depth-first traversal of the array and its children.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn display_values(&self) -> impl Display
pub fn display_values(&self) -> impl Display
Display logical values of the array
For example, an i16 typed array containing the first five non-negative integers is displayed
as: [0i16, 1i16, 2i16, 3i16, 4i16].
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
assert_eq!(
format!("{}", array.display_values()),
"[0i16, 1i16, 2i16, 3i16, 4i16]",
)See also: Array::display_as, DisplayArrayAs, and DisplayOptions.
Sourcepub fn display_as(&self, options: DisplayOptions) -> impl Display
pub fn display_as(&self, options: DisplayOptions) -> impl Display
Display the array as specified by the options.
See DisplayOptions for examples.
Sourcepub fn display_tree_encodings_only(&self) -> TreeDisplay
pub fn display_tree_encodings_only(&self) -> TreeDisplay
Display the tree of array encodings and lengths without metadata, buffers, or stats.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
let expected = "root: vortex.primitive(i16, len=5)\n";
assert_eq!(format!("{}", array.display_tree_encodings_only()), expected);
let array = StructArray::from_fields(&[
("x", buffer![1, 2].into_array()),
("y", buffer![3, 4].into_array()),
]).unwrap().into_array();
let expected = "root: vortex.struct({x=i32, y=i32}, len=2)
x: vortex.primitive(i32, len=2)
y: vortex.primitive(i32, len=2)
";
assert_eq!(format!("{}", array.display_tree_encodings_only()), expected);Sourcepub fn display_tree(&self) -> TreeDisplay
pub fn display_tree(&self) -> TreeDisplay
Display the tree of encodings of this array as an indented lists.
While some metadata (such as length, bytes and validity-rate) are included, the logical values of the array are not displayed. To view the logical values see Array::display_as and DisplayOptions.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
let expected = "root: vortex.primitive(i16, len=5) nbytes=10 B (100.00%)
metadata: ptype: i16
buffer: values host 10 B (align=2) (100.00%)
";
assert_eq!(format!("{}", array.display_tree()), expected);Sourcepub fn tree_display(&self) -> TreeDisplay
pub fn tree_display(&self) -> TreeDisplay
Create a tree display with all built-in extractors (nbytes, stats, metadata, buffers).
This is the default, fully-detailed tree display. Use
tree_display_builder() for a blank slate.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
let expected = "root: vortex.primitive(i16, len=5) nbytes=10 B (100.00%)
metadata: ptype: i16
buffer: values host 10 B (align=2) (100.00%)
";
assert_eq!(array.tree_display().to_string(), expected);Sourcepub fn tree_display_builder(&self) -> TreeDisplay
pub fn tree_display_builder(&self) -> TreeDisplay
Create a composable tree display builder with no extractors.
With no extractors, only the node names are shown.
Add extractors with .with() to include additional information.
Most builders should start with EncodingSummaryExtractor to include encoding headers.
§Examples
use vortex_array::display::{EncodingSummaryExtractor, NbytesExtractor, MetadataExtractor, BufferExtractor};
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
// Encodings only
let encodings = array.tree_display_builder()
.with(EncodingSummaryExtractor)
.to_string();
assert_eq!(encodings, "root: vortex.primitive(i16, len=5)\n");
// With encoding + nbytes
let with_nbytes = array.tree_display_builder()
.with(EncodingSummaryExtractor)
.with(NbytesExtractor)
.to_string();
assert_eq!(with_nbytes, "root: vortex.primitive(i16, len=5) nbytes=10 B (100.00%)\n");
// With encoding, metadata, and buffers
let detailed = array.tree_display_builder()
.with(EncodingSummaryExtractor)
.with(MetadataExtractor)
.with(BufferExtractor { show_percent: false })
.to_string();
let expected = "root: vortex.primitive(i16, len=5)\n metadata: ptype: i16\n buffer: values host 10 B (align=2)\n";
assert_eq!(detailed, expected);Sourcepub fn display_table(&self) -> impl Display
pub fn display_table(&self) -> impl Display
Display the array as a formatted table.
For struct arrays, displays a column for each field in the struct. For regular arrays, displays a single column with values.
§Examples
let s = StructArray::from_fields(&[
("x", buffer![1, 2].into_array()),
("y", buffer![3, 4].into_array()),
]).unwrap().into_array();
let expected = "
┌──────┬──────┐
│ x │ y │
├──────┼──────┤
│ 1i32 │ 3i32 │
├──────┼──────┤
│ 2i32 │ 4i32 │
└──────┴──────┘".trim();
assert_eq!(format!("{}", s.display_table()), expected);Source§impl ArrayRef
impl ArrayRef
Sourcepub fn execute<E: Executable>(self, ctx: &mut ExecutionCtx) -> VortexResult<E>
pub fn execute<E: Executable>(self, ctx: &mut ExecutionCtx) -> VortexResult<E>
Execute this array to produce an instance of E.
See the Executable implementation for details on how this execution is performed.
Sourcepub fn execute_as<E: Executable>(
self,
_name: &'static str,
ctx: &mut ExecutionCtx,
) -> VortexResult<E>
pub fn execute_as<E: Executable>( self, _name: &'static str, ctx: &mut ExecutionCtx, ) -> VortexResult<E>
Execute this array, labeling the execution step with a name for tracing.
Sourcepub fn execute_until<M: Matcher>(
self,
ctx: &mut ExecutionCtx,
) -> VortexResult<ArrayRef>
pub fn execute_until<M: Matcher>( self, ctx: &mut ExecutionCtx, ) -> VortexResult<ArrayRef>
Iteratively execute this array until the Matcher matches, using an explicit work
stack.
The scheduler repeatedly:
- Checks if the current array matches
M— if so, pops the stack or returns. - Runs
execute_parenton each child for child-driven optimizations. - Calls
executewhich returns anExecutionStep.
Note: the returned array may not match M. If execution converges to a canonical form
that does not match M, the canonical array is returned since no further execution
progress is possible.
For safety, we will error when the number of execution iterations reaches a configurable
maximum (default 128, override with VORTEX_MAX_ITERATIONS).
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn apply(self, expr: &Expression) -> VortexResult<ArrayRef>
pub fn apply(self, expr: &Expression) -> VortexResult<ArrayRef>
Apply the expression to this array, producing a new array in constant time.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn to_array_iterator(&self) -> impl ArrayIterator + 'static
pub fn to_array_iterator(&self) -> impl ArrayIterator + 'static
Create an ArrayIterator over the array.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn normalize(
self,
options: &mut NormalizeOptions<'_>,
) -> VortexResult<ArrayRef>
pub fn normalize( self, options: &mut NormalizeOptions<'_>, ) -> VortexResult<ArrayRef>
Normalize the array according to given options.
This operation performs a recursive traversal of the array. Any non-allowed encoding is normalized per the configured operation.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn serialize(
&self,
ctx: &ArrayContext,
session: &VortexSession,
options: &SerializeOptions,
) -> VortexResult<Vec<ByteBuffer>>
pub fn serialize( &self, ctx: &ArrayContext, session: &VortexSession, options: &SerializeOptions, ) -> VortexResult<Vec<ByteBuffer>>
Serialize the array into a sequence of byte buffers that should be written contiguously. This function returns a vec to avoid copying data buffers.
Optionally, padding can be included to guarantee buffer alignment and ensure zero-copy reads within the context of an external file or stream. In this case, the alignment of the first byte buffer should be respected when writing the buffers to the stream or file.
The format of this blob is a sequence of data buffers, possible with prefixed padding,
followed by a flatbuffer containing an fba::Array message, and ending with a
little-endian u32 describing the length of the flatbuffer message.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn to_array_stream(&self) -> impl ArrayStream + 'static
pub fn to_array_stream(&self) -> impl ArrayStream + 'static
Create an ArrayStream over the array.
Source§impl ArrayRef
impl ArrayRef
Sourcepub fn as_null_typed(&self) -> NullTyped<'_>
pub fn as_null_typed(&self) -> NullTyped<'_>
Downcasts the array for null-specific behavior.
Sourcepub fn as_bool_typed(&self) -> BoolTyped<'_>
pub fn as_bool_typed(&self) -> BoolTyped<'_>
Downcasts the array for bool-specific behavior.
Sourcepub fn as_primitive_typed(&self) -> PrimitiveTyped<'_>
pub fn as_primitive_typed(&self) -> PrimitiveTyped<'_>
Downcasts the array for primitive-specific behavior.
Sourcepub fn as_decimal_typed(&self) -> DecimalTyped<'_>
pub fn as_decimal_typed(&self) -> DecimalTyped<'_>
Downcasts the array for decimal-specific behavior.
Sourcepub fn as_utf8_typed(&self) -> Utf8Typed<'_>
pub fn as_utf8_typed(&self) -> Utf8Typed<'_>
Downcasts the array for utf8-specific behavior.
Sourcepub fn as_binary_typed(&self) -> BinaryTyped<'_>
pub fn as_binary_typed(&self) -> BinaryTyped<'_>
Downcasts the array for binary-specific behavior.
Sourcepub fn as_struct_typed(&self) -> StructTyped<'_>
pub fn as_struct_typed(&self) -> StructTyped<'_>
Downcasts the array for struct-specific behavior.
Sourcepub fn as_list_typed(&self) -> ListTyped<'_>
pub fn as_list_typed(&self) -> ListTyped<'_>
Downcasts the array for list-specific behavior.
Sourcepub fn as_extension_typed(&self) -> ExtensionTyped<'_>
pub fn as_extension_typed(&self) -> ExtensionTyped<'_>
Downcasts the array for extension-specific behavior.
pub fn try_to_mask_fill_null_false( &self, ctx: &mut ExecutionCtx, ) -> VortexResult<Mask>
Trait Implementations§
Source§impl ArrayBuiltins for ArrayRef
impl ArrayBuiltins for ArrayRef
Source§fn fill_null(&self, fill_value: impl Into<Scalar>) -> VortexResult<ArrayRef>
fn fill_null(&self, fill_value: impl Into<Scalar>) -> VortexResult<ArrayRef>
Source§fn get_item(&self, field_name: impl Into<FieldName>) -> VortexResult<ArrayRef>
fn get_item(&self, field_name: impl Into<FieldName>) -> VortexResult<ArrayRef>
Source§fn is_null(&self) -> VortexResult<ArrayRef>
fn is_null(&self) -> VortexResult<ArrayRef>
Source§fn mask(self, mask: ArrayRef) -> VortexResult<ArrayRef>
fn mask(self, mask: ArrayRef) -> VortexResult<ArrayRef>
Source§fn not(&self) -> VortexResult<ArrayRef>
fn not(&self) -> VortexResult<ArrayRef>
Source§fn zip(&self, if_true: ArrayRef, if_false: ArrayRef) -> VortexResult<ArrayRef>
fn zip(&self, if_true: ArrayRef, if_false: ArrayRef) -> VortexResult<ArrayRef>
result[i] = if mask[i] then if_true[i] else if_false[i].Source§fn list_contains(&self, value: ArrayRef) -> VortexResult<ArrayRef>
fn list_contains(&self, value: ArrayRef) -> VortexResult<ArrayRef>
Source§fn binary(&self, rhs: ArrayRef, op: Operator) -> VortexResult<ArrayRef>
fn binary(&self, rhs: ArrayRef, op: Operator) -> VortexResult<ArrayRef>
Source§fn between(
self,
lower: ArrayRef,
upper: ArrayRef,
options: BetweenOptions,
) -> VortexResult<ArrayRef>
fn between( self, lower: ArrayRef, upper: ArrayRef, options: BetweenOptions, ) -> VortexResult<ArrayRef>
Source§impl ArrayOptimizer for ArrayRef
impl ArrayOptimizer for ArrayRef
Source§fn optimize(&self) -> VortexResult<ArrayRef>
fn optimize(&self) -> VortexResult<ArrayRef>
Source§fn optimize_recursive(&self) -> VortexResult<ArrayRef>
fn optimize_recursive(&self) -> VortexResult<ArrayRef>
Source§impl ArrowArrayExecutor for ArrayRef
impl ArrowArrayExecutor for ArrayRef
Source§fn execute_arrow(
self,
data_type: Option<&DataType>,
ctx: &mut ExecutionCtx,
) -> VortexResult<ArrowArrayRef>
fn execute_arrow( self, data_type: Option<&DataType>, ctx: &mut ExecutionCtx, ) -> VortexResult<ArrowArrayRef>
Source§fn execute_record_batches(
self,
schema: &Schema,
ctx: &mut ExecutionCtx,
) -> VortexResult<Vec<RecordBatch>>
fn execute_record_batches( self, schema: &Schema, ctx: &mut ExecutionCtx, ) -> VortexResult<Vec<RecordBatch>>
RecordBatch’s with the given schema.Source§fn execute_record_batch(
self,
schema: &Schema,
ctx: &mut ExecutionCtx,
) -> VortexResult<RecordBatch>
fn execute_record_batch( self, schema: &Schema, ctx: &mut ExecutionCtx, ) -> VortexResult<RecordBatch>
RecordBatch with the given schema.Source§impl Display for ArrayRef
Display the encoding and limited metadata of this array.
impl Display for ArrayRef
Display the encoding and limited metadata of this array.
§Examples
let array = buffer![0_i16, 1, 2, 3, 4].into_array();
assert_eq!(
format!("{}", array),
"vortex.primitive(i16, len=5)",
);Source§impl Executable for ArrayRef
impl Executable for ArrayRef
It attempts to take the smallest possible step of execution such that the returned array is incrementally more “executed” than the input array. In other words, it is closer to becoming a canonical array.
The execution steps are as follows: 0. Check for canonical.
- Attempt to
reducethe array with metadata-only optimizations. - Attempt to call
reduce_parenton each child. - Attempt to call
execute_parenton each child. - Call
executeon the array itself (which returns anExecutionStep).
Most users will not call this method directly, instead preferring to specify an executable
target such as crate::Columnar, Canonical, or any of the canonical array types (such as
crate::arrays::PrimitiveArray).
fn execute(array: ArrayRef, ctx: &mut ExecutionCtx) -> VortexResult<Self>
Source§impl From<TemporalData> for ArrayRef
impl From<TemporalData> for ArrayRef
Source§fn from(value: TemporalData) -> Self
fn from(value: TemporalData) -> Self
Source§impl FromArrowArray<&BooleanArray> for ArrayRef
impl FromArrowArray<&BooleanArray> for ArrayRef
fn from_arrow(value: &ArrowBooleanArray, nullable: bool) -> VortexResult<Self>
Source§impl FromArrowArray<&FixedSizeListArray> for ArrayRef
impl FromArrowArray<&FixedSizeListArray> for ArrayRef
fn from_arrow( array: &ArrowFixedSizeListArray, nullable: bool, ) -> VortexResult<Self>
Source§impl<T: ByteArrayType> FromArrowArray<&GenericByteArray<T>> for ArrayRef
impl<T: ByteArrayType> FromArrowArray<&GenericByteArray<T>> for ArrayRef
fn from_arrow(value: &GenericByteArray<T>, nullable: bool) -> VortexResult<Self>
Source§impl<T: ByteViewType> FromArrowArray<&GenericByteViewArray<T>> for ArrayRef
impl<T: ByteViewType> FromArrowArray<&GenericByteViewArray<T>> for ArrayRef
fn from_arrow( value: &GenericByteViewArray<T>, nullable: bool, ) -> VortexResult<Self>
Source§impl<O: IntegerPType + OffsetSizeTrait> FromArrowArray<&GenericListArray<O>> for ArrayRef
impl<O: IntegerPType + OffsetSizeTrait> FromArrowArray<&GenericListArray<O>> for ArrayRef
fn from_arrow(value: &GenericListArray<O>, nullable: bool) -> VortexResult<Self>
Source§impl<O: OffsetSizeTrait + NativePType> FromArrowArray<&GenericListViewArray<O>> for ArrayRef
impl<O: OffsetSizeTrait + NativePType> FromArrowArray<&GenericListViewArray<O>> for ArrayRef
fn from_arrow( array: &GenericListViewArray<O>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&NullArray> for ArrayRef
impl FromArrowArray<&NullArray> for ArrayRef
fn from_arrow(value: &ArrowNullArray, nullable: bool) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Date32Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Date32Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Date32Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Date64Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Date64Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Date64Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Decimal128Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Decimal128Type>> for ArrayRef
fn from_arrow( array: &ArrowPrimitiveArray<Decimal128Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Decimal256Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Decimal256Type>> for ArrayRef
fn from_arrow( array: &ArrowPrimitiveArray<Decimal256Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Decimal32Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Decimal32Type>> for ArrayRef
fn from_arrow( array: &ArrowPrimitiveArray<Decimal32Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Decimal64Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Decimal64Type>> for ArrayRef
fn from_arrow( array: &ArrowPrimitiveArray<Decimal64Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Float16Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Float16Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Float16Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Float32Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Float32Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Float32Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Float64Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Float64Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Float64Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Int16Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Int16Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Int16Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Int32Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Int32Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Int32Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Int64Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Int64Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Int64Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Int8Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Int8Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Int8Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Time32MillisecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Time32MillisecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Time32MillisecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Time32SecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Time32SecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Time32SecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Time64MicrosecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Time64MicrosecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Time64MicrosecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<Time64NanosecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<Time64NanosecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<Time64NanosecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<TimestampMicrosecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<TimestampMicrosecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<TimestampMicrosecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<TimestampMillisecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<TimestampMillisecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<TimestampMillisecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<TimestampNanosecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<TimestampNanosecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<TimestampNanosecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<TimestampSecondType>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<TimestampSecondType>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<TimestampSecondType>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<UInt16Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<UInt16Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<UInt16Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<UInt32Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<UInt32Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<UInt32Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<UInt64Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<UInt64Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<UInt64Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&PrimitiveArray<UInt8Type>> for ArrayRef
impl FromArrowArray<&PrimitiveArray<UInt8Type>> for ArrayRef
fn from_arrow( value: &ArrowPrimitiveArray<UInt8Type>, nullable: bool, ) -> VortexResult<Self>
Source§impl FromArrowArray<&RecordBatch> for ArrayRef
impl FromArrowArray<&RecordBatch> for ArrayRef
fn from_arrow(array: &RecordBatch, nullable: bool) -> VortexResult<Self>
Source§impl FromArrowArray<&StructArray> for ArrayRef
impl FromArrowArray<&StructArray> for ArrayRef
fn from_arrow(value: &ArrowStructArray, nullable: bool) -> VortexResult<Self>
Source§impl FromArrowArray<&dyn Array> for ArrayRef
impl FromArrowArray<&dyn Array> for ArrayRef
fn from_arrow(array: &dyn ArrowArray, nullable: bool) -> VortexResult<Self>
Source§impl FromArrowArray<RecordBatch> for ArrayRef
impl FromArrowArray<RecordBatch> for ArrayRef
fn from_arrow(array: RecordBatch, nullable: bool) -> VortexResult<Self>
Source§impl IndexOrd<Scalar> for ArrayRef
impl IndexOrd<Scalar> for ArrayRef
Source§fn index_cmp(&self, idx: usize, elem: &Scalar) -> VortexResult<Option<Ordering>>
fn index_cmp(&self, idx: usize, elem: &Scalar) -> VortexResult<Option<Ordering>>
idx with elem.
For example, if self[idx] > elem, return Some(Greater).fn index_lt(&self, idx: usize, elem: &V) -> VortexResult<bool>
fn index_le(&self, idx: usize, elem: &V) -> VortexResult<bool>
fn index_gt(&self, idx: usize, elem: &V) -> VortexResult<bool>
fn index_ge(&self, idx: usize, elem: &V) -> VortexResult<bool>
Source§impl IntoArrowArray for ArrayRef
impl IntoArrowArray for ArrayRef
Source§fn into_arrow_preferred(self) -> VortexResult<ArrowArrayRef>
fn into_arrow_preferred(self) -> VortexResult<ArrowArrayRef>
Convert this crate::ArrayRef into an Arrow crate::ArrayRef by using the array’s
preferred (cheapest) Arrow DataType.
fn into_arrow(self, data_type: &DataType) -> VortexResult<ArrowArrayRef>
Source§impl ReduceNode for ArrayRef
impl ReduceNode for ArrayRef
Source§fn node_dtype(&self) -> VortexResult<DType>
fn node_dtype(&self) -> VortexResult<DType>
Source§fn scalar_fn(&self) -> Option<&ScalarFnRef>
fn scalar_fn(&self) -> Option<&ScalarFnRef>
Source§fn child(&self, idx: usize) -> ReduceNodeRef
fn child(&self, idx: usize) -> ReduceNodeRef
Source§fn child_count(&self) -> usize
fn child_count(&self) -> usize
Source§impl ToCanonical for ArrayRef
impl ToCanonical for ArrayRef
Source§fn to_primitive(&self) -> PrimitiveArray
fn to_primitive(&self) -> PrimitiveArray
PrimitiveArray if the target is Primitive
typed.Source§fn to_decimal(&self) -> DecimalArray
fn to_decimal(&self) -> DecimalArray
DecimalArray if the target is Decimal
typed.Source§fn to_struct(&self) -> StructArray
fn to_struct(&self) -> StructArray
StructArray if the target is Struct typed.Source§fn to_listview(&self) -> ListViewArray
fn to_listview(&self) -> ListViewArray
ListViewArray if the target is List typed.Source§fn to_fixed_size_list(&self) -> FixedSizeListArray
fn to_fixed_size_list(&self) -> FixedSizeListArray
FixedSizeListArray if the target is List
typed.Source§fn to_varbinview(&self) -> VarBinViewArray
fn to_varbinview(&self) -> VarBinViewArray
Source§fn to_extension(&self) -> ExtensionArray
fn to_extension(&self) -> ExtensionArray
ExtensionArray if the array is Extension
typed.Source§impl TryFrom<&ArrayRef> for RecordBatch
impl TryFrom<&ArrayRef> for RecordBatch
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(value: &ArrayRef) -> VortexResult<Self>
fn try_from(value: &ArrayRef) -> VortexResult<Self>
Source§impl TryFrom<ArrayRef> for TemporalData
impl TryFrom<ArrayRef> for TemporalData
Source§fn try_from(value: ArrayRef) -> Result<Self, Self::Error>
fn try_from(value: ArrayRef) -> Result<Self, Self::Error>
Try to specialize a generic Vortex array as a TemporalData.
§Errors
If the provided Array does not have vortex.ext encoding, an error will be returned.
If the provided Array does not have recognized ExtMetadata corresponding to one of the known
TemporalMetadata variants, an error is returned.
Source§type Error = VortexError
type Error = VortexError
Auto Trait Implementations§
impl Freeze for ArrayRef
impl !RefUnwindSafe for ArrayRef
impl Send for ArrayRef
impl Sync for ArrayRef
impl Unpin for ArrayRef
impl UnsafeUnpin for ArrayRef
impl !UnwindSafe for ArrayRef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DynArrayEq for Twhere
T: ArrayEq + 'static,
impl<T> DynArrayEq for Twhere
T: ArrayEq + 'static,
Source§impl<T> DynArrayHash for T
impl<T> DynArrayHash for T
fn dyn_array_hash(&self, state: &mut dyn Hasher, precision: Precision)
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<S, T> SearchSorted<T> for S
impl<S, T> SearchSorted<T> for S
Source§fn search_sorted_by<F, N>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> Result<SearchResult, VortexError>where
F: FnMut(usize) -> Result<Ordering, VortexError>,
N: FnMut(usize) -> Result<Ordering, VortexError>,
fn search_sorted_by<F, N>(
&self,
find: F,
side_find: N,
side: SearchSortedSide,
) -> Result<SearchResult, VortexError>where
F: FnMut(usize) -> Result<Ordering, VortexError>,
N: FnMut(usize) -> Result<Ordering, VortexError>,
fn search_sorted(
&self,
value: &T,
side: SearchSortedSide,
) -> VortexResult<SearchResult>where
Self: IndexOrd<T>,
Source§impl<T> SessionVar for T
impl<T> SessionVar for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.