Scalar

Struct Scalar 

Source
pub struct Scalar { /* private fields */ }
Expand description

A single logical item, composed of both a ScalarValue and a logical DType.

A ScalarValue is opaque, and should be accessed via one of the type-specific scalar wrappers for example BoolScalar, PrimitiveScalar, etc.

Note that PartialOrd is implemented only for an exact match of the scalar’s dtype, including nullability. When the DType does match, ordering is nulls first (lowest), then the natural ordering of the scalar value.

Implementations§

Source§

impl Scalar

Source

pub fn binary(buffer: impl Into<ByteBuffer>, nullability: Nullability) -> Self

Creates a new binary scalar from a byte buffer.

Source§

impl Scalar

Source

pub fn bool(value: bool, nullability: Nullability) -> Self

Creates a new boolean scalar with the given value and nullability.

Source§

impl Scalar

Source

pub fn decimal( value: DecimalValue, decimal_type: DecimalDType, nullability: Nullability, ) -> Self

Creates a new decimal scalar with the given value, precision, scale, and nullability.

Source§

impl Scalar

Source

pub fn extension(ext_dtype: Arc<ExtDType>, value: Scalar) -> Self

Creates a new extension scalar wrapping the given storage value.

Source§

impl Scalar

Helper functions to create a ListScalar as a Scalar.

Source

pub fn list( element_dtype: impl Into<Arc<DType>>, children: Vec<Scalar>, nullability: Nullability, ) -> Self

Creates a new list scalar with the given element type and children.

§Panics

Panics if any child scalar has a different type than the element type, or if there are too many children.

Source

pub fn list_empty(element_dtype: Arc<DType>, nullability: Nullability) -> Self

Creates a new empty list scalar with the given element type.

Source

pub fn fixed_size_list( element_dtype: impl Into<Arc<DType>>, children: Vec<Scalar>, nullability: Nullability, ) -> Self

Creates a new fixed-size list scalar with the given element type and children.

§Panics

Panics if any child scalar has a different type than the element type, or if there are too many children.

Source§

impl Scalar

Source

pub fn primitive<T: NativePType + Into<PValue>>( value: T, nullability: Nullability, ) -> Self

Creates a new primitive scalar from a native value.

Source

pub fn primitive_value( value: PValue, ptype: PType, nullability: Nullability, ) -> Self

Create a PrimitiveScalar from a PValue.

Note that an explicit PType is passed since any compatible PValue may be used as the value for a primitive type.

Source

pub fn reinterpret_cast(&self, ptype: PType) -> Self

Reinterprets the bytes of this scalar as a different primitive type.

§Panics

Panics if the scalar is not a primitive type or if the types have different byte widths.

Source§

impl Scalar

Source

pub fn new(dtype: DType, value: ScalarValue) -> Self

Creates a new scalar with the given data type and value.

Source

pub fn dtype(&self) -> &DType

Returns a reference to the scalar’s data type.

Source

pub fn value(&self) -> &ScalarValue

Returns a reference to the scalar’s underlying value.

Source

pub fn into_parts(self) -> (DType, ScalarValue)

Consumes the scalar and returns its data type and value as a tuple.

Source

pub fn into_dtype(self) -> DType

Consumes the scalar and returns its underlying DType.

Source

pub fn into_value(self) -> ScalarValue

Consumes the scalar and returns its underlying ScalarValue.

Source

pub fn is_valid(&self) -> bool

Returns true if the scalar is not null.

Source

pub fn is_null(&self) -> bool

Returns true if the scalar is null.

Source

pub fn null(dtype: DType) -> Self

Creates a null scalar with the given nullable data type.

§Panics

Panics if the data type is not nullable.

Source

pub fn null_typed<T: NativeDType>() -> Self

Creates a null scalar for the given scalar type.

The resulting scalar will have a nullable version of the type’s data type.

Source

pub fn cast(&self, target: &DType) -> VortexResult<Self>

Casts the scalar to the target data type.

Returns an error if the cast is not supported or if the value cannot be represented in the target type.

Source

pub fn into_nullable(self) -> Self

Converts the scalar to have a nullable version of its data type.

Source

pub fn nbytes(&self) -> usize

Returns the size of the scalar in bytes, uncompressed.

Source

pub fn zero_value(dtype: DType) -> Self

Creates a “zero”-value scalar value for the given data type.

For nullable types the zero value is the underlying DType’s zero value.

§Zero Values

Here is the list of zero values for each DType (when the DType is non-nullable):

  • Bool: false
  • Primitive: 0
  • Decimal: 0
  • Utf8: ""
  • Binary: An empty buffer
  • List: An empty list
  • FixedSizeList: A list (with correct size) of zero values, which is determined by the element DType
  • Struct: A struct where each field has a zero value, which is determined by the field DType
  • Extension: The zero value of the storage DType

This is similar to default_value except in its handling of nullability.

Source

pub fn default_value(dtype: DType) -> Self

Creates a “default” scalar value for the given data type.

For nullable types, returns null. For non-nullable types, returns an appropriate zero/empty value.

§Default Values

Here is the list of default values for each DType (when the DType is non-nullable):

  • Null: null
  • Bool: false
  • Primitive: 0
  • Decimal: 0
  • Utf8: ""
  • Binary: An empty buffer
  • List: An empty list
  • FixedSizeList: A list (with correct size) of default values, which is determined by the element DType
  • Struct: A struct where each field has a default value, which is determined by the field DType
  • Extension: The default value of the storage DType
Source§

impl Scalar

This implementation block contains only TryFrom and From wrappers (as_something).

Source

pub fn as_bool(&self) -> BoolScalar<'_>

Returns a view of the scalar as a boolean scalar.

§Panics

Panics if the scalar is not a boolean type.

Source

pub fn as_bool_opt(&self) -> Option<BoolScalar<'_>>

Returns a view of the scalar as a boolean scalar if it has a boolean type.

Source

pub fn as_primitive(&self) -> PrimitiveScalar<'_>

Returns a view of the scalar as a primitive scalar.

§Panics

Panics if the scalar is not a primitive type.

Source

pub fn as_primitive_opt(&self) -> Option<PrimitiveScalar<'_>>

Returns a view of the scalar as a primitive scalar if it has a primitive type.

Source

pub fn as_decimal(&self) -> DecimalScalar<'_>

Returns a view of the scalar as a decimal scalar.

§Panics

Panics if the scalar is not a decimal type.

Source

pub fn as_decimal_opt(&self) -> Option<DecimalScalar<'_>>

Returns a view of the scalar as a decimal scalar if it has a decimal type.

Source

pub fn as_utf8(&self) -> Utf8Scalar<'_>

Returns a view of the scalar as a UTF-8 string scalar.

§Panics

Panics if the scalar is not a UTF-8 type.

Source

pub fn as_utf8_opt(&self) -> Option<Utf8Scalar<'_>>

Returns a view of the scalar as a UTF-8 string scalar if it has a UTF-8 type.

Source

pub fn as_binary(&self) -> BinaryScalar<'_>

Returns a view of the scalar as a binary scalar.

§Panics

Panics if the scalar is not a binary type.

Source

pub fn as_binary_opt(&self) -> Option<BinaryScalar<'_>>

Returns a view of the scalar as a binary scalar if it has a binary type.

Source

pub fn as_struct(&self) -> StructScalar<'_>

Returns a view of the scalar as a struct scalar.

§Panics

Panics if the scalar is not a struct type.

Source

pub fn as_struct_opt(&self) -> Option<StructScalar<'_>>

Returns a view of the scalar as a struct scalar if it has a struct type.

Source

pub fn as_list(&self) -> ListScalar<'_>

Returns a view of the scalar as a list scalar.

Note that we use ListScalar to represent both DType::List and DType::FixedSizeList.

§Panics

Panics if the scalar is not a list type.

Source

pub fn as_list_opt(&self) -> Option<ListScalar<'_>>

Returns a view of the scalar as a list scalar if it has a list type.

Note that we use ListScalar to represent both DType::List and DType::FixedSizeList.

Source

pub fn as_extension(&self) -> ExtScalar<'_>

Returns a view of the scalar as an extension scalar.

§Panics

Panics if the scalar is not an extension type.

Source

pub fn as_extension_opt(&self) -> Option<ExtScalar<'_>>

Returns a view of the scalar as an extension scalar if it has an extension type.

Source§

impl Scalar

Source

pub fn struct_(dtype: DType, children: Vec<Scalar>) -> Self

Creates a new struct scalar with the given fields.

Source§

impl Scalar

Source

pub fn utf8<B>(str: B, nullability: Nullability) -> Self
where B: Into<BufferString>,

Creates a new UTF-8 scalar from a string-like value.

§Panics

Panics if the input cannot be converted to a valid UTF-8 string.

Source

pub fn try_utf8<B>( str: B, nullability: Nullability, ) -> Result<Self, <B as TryInto<BufferString>>::Error>

Tries to create a new UTF-8 scalar from a string-like value.

§Errors

Returns an error if the input cannot be converted to a valid UTF-8 string.

Trait Implementations§

Source§

impl AsRef<Scalar> for Scalar

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Scalar

Source§

fn clone(&self) -> Scalar

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Scalar

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Scalar

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&[u8]> for Scalar

Source§

fn from(value: &[u8]) -> Self

Converts to this type from the input type.
Source§

impl From<&Scalar> for Scalar

Source§

fn from(value: &Scalar) -> Self

Converts to this type from the input type.
Source§

impl From<&str> for Scalar

Source§

fn from(value: &str) -> Self

Converts to this type from the input type.
Source§

impl From<Arc<Buffer<u8>>> for Scalar

Source§

fn from(value: Arc<ByteBuffer>) -> Self

Converts to this type from the input type.
Source§

impl From<Arc<BufferString>> for Scalar

Source§

fn from(value: Arc<BufferString>) -> Self

Converts to this type from the input type.
Source§

impl From<Buffer<u8>> for Scalar

Source§

fn from(value: ByteBuffer) -> Self

Converts to this type from the input type.
Source§

impl From<BufferString> for Scalar

Source§

fn from(value: BufferString) -> Self

Converts to this type from the input type.
Source§

impl From<DecimalScalar<'_>> for Scalar

Source§

fn from(decimal_scalar: DecimalScalar<'_>) -> Self

Converts to this type from the input type.
Source§

impl From<DecimalValue> for Scalar

Source§

fn from(value: DecimalValue) -> Self

Converts to this type from the input type.
Source§

impl<T> From<Option<T>> for Scalar
where T: NativeDType, Scalar: From<T>,

It is common to represent a nullable type T as an Option<T>, so we implement a blanket implementation for all Option<T> to simply be a nullable T.

Source§

fn from(value: Option<T>) -> Self

A blanket implementation for all Option<T>.

Source§

impl From<PrimitiveScalar<'_>> for Scalar

Source§

fn from(pscalar: PrimitiveScalar<'_>) -> Self

Converts to this type from the input type.
Source§

impl From<String> for Scalar

Source§

fn from(value: String) -> Self

Converts to this type from the input type.
Source§

impl<T> From<Vec<T>> for Scalar
where T: NativeDType, Scalar: From<T>,

Source§

fn from(vec: Vec<T>) -> Self

Converts a vector into a Scalar (where the value is a ListScalar).

Source§

impl From<bool> for Scalar

Source§

fn from(value: bool) -> Self

Converts to this type from the input type.
Source§

impl From<f16> for Scalar

Source§

fn from(value: f16) -> Self

Converts to this type from the input type.
Source§

impl From<f32> for Scalar

Source§

fn from(value: f32) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for Scalar

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<i16> for Scalar

Source§

fn from(value: i16) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Scalar

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for Scalar

Source§

fn from(value: i64) -> Self

Converts to this type from the input type.
Source§

impl From<i8> for Scalar

Source§

fn from(value: i8) -> Self

Converts to this type from the input type.
Source§

impl From<u16> for Scalar

Source§

fn from(value: u16) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for Scalar

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl From<u64> for Scalar

Source§

fn from(value: u64) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Scalar

Source§

fn from(value: u8) -> Self

Converts to this type from the input type.
Source§

impl From<usize> for Scalar

Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.

Source§

fn from(value: usize) -> Self

Converts to this type from the input type.
Source§

impl Hash for Scalar

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Scalar

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Scalar

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

Compares two scalar values for ordering.

§Returns
  • Some(Ordering) if both scalars have the same data type (ignoring nullability)
  • None if the scalars have different data types
§Ordering Rules

When types match, the ordering follows these rules:

  • Null values are considered less than all non-null values
  • Non-null values are compared according to their natural ordering
§Examples
// Same types compare successfully
let a = Scalar::primitive(10i32, Nullability::NonNullable);
let b = Scalar::primitive(20i32, Nullability::NonNullable);
assert_eq!(a.partial_cmp(&b), Some(Ordering::Less));

// Different types return None
let int_scalar = Scalar::primitive(10i32, Nullability::NonNullable);
let str_scalar = Scalar::utf8("hello", Nullability::NonNullable);
assert_eq!(int_scalar.partial_cmp(&str_scalar), None);

// Nulls are less than non-nulls
let null = Scalar::null(DType::Primitive(PType::I32, Nullability::Nullable));
let value = Scalar::primitive(0i32, Nullability::Nullable);
assert_eq!(null.partial_cmp(&value), Some(Ordering::Less));
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl TryFrom<&Scalar> for ()

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Arc<dyn Datum>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Arc<dyn Datum>, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for BinaryScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for BoolScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for ByteBuffer

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for BufferString

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for DecimalScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for DecimalValue

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for ExtScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for ListScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for Option<ByteBuffer>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for Option<BufferString>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<DecimalValue>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<bool>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<f16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<f32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<f64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<i16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<i32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<i64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<i8>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<u16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<u32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<u64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<u8>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Option<usize>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for PrimitiveScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for Scalar

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for String

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for StructScalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Scalar> for Utf8Scalar<'a>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a, T> TryFrom<&'a Scalar> for Vec<T>
where T: for<'b> TryFrom<&'b Scalar, Error = VortexError>,

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &'a Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for bool

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for f16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for f32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for f64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for i16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for i32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for i64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for i8

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for u16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for u32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for u64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for u8

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Scalar> for usize

Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for ()

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for ByteBuffer

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<Scalar> for BufferString

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for DecimalValue

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<ByteBuffer>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<BufferString>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<DecimalValue>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(scalar: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<bool>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<f16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<f32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<f64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<i16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<i32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<i64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<i8>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<u16>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<u32>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<u64>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for Option<u8>

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for String

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T> TryFrom<Scalar> for Vec<T>
where T: for<'b> TryFrom<&'b Scalar, Error = VortexError>,

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for bool

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<Scalar> for f16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for f32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for f64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for i16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for i32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for i64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for i8

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for u16

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for u32

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for u64

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Scalar> for u8

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Scalar) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Eq for Scalar

Auto Trait Implementations§

§

impl Freeze for Scalar

§

impl RefUnwindSafe for Scalar

§

impl Send for Scalar

§

impl Sync for Scalar

§

impl Unpin for Scalar

§

impl UnwindSafe for Scalar

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> ErasedDestructor for T
where T: 'static,