pub struct ScalarValue(/* private fields */);Expand description
Represents the internal data of a scalar value. Must be interpreted by wrapping up with a
DType to make a super::Scalar.
Note that these values can be deserialized from JSON or other formats. So a PValue may not
have the correct width for what the DType expects. Primitive values should therefore be
read using super::PrimitiveScalar which will handle the conversion.
Implementations§
Source§impl ScalarValue
impl ScalarValue
Sourcepub fn to_protobytes<B: BufMut + Default>(&self) -> B
pub fn to_protobytes<B: BufMut + Default>(&self) -> B
Serializes the scalar value to Protocol Buffers format.
Sourcepub fn from_protobytes(buf: &[u8]) -> VortexResult<Self>
pub fn from_protobytes(buf: &[u8]) -> VortexResult<Self>
Deserializes a scalar value from Protocol Buffers format.
Source§impl ScalarValue
impl ScalarValue
Sourcepub fn is_instance_of(&self, dtype: &DType) -> bool
pub fn is_instance_of(&self, dtype: &DType) -> bool
Returns true if this value is compatible with the given data type.
Sourcepub fn as_null(&self) -> VortexResult<()>
pub fn as_null(&self) -> VortexResult<()>
Returns scalar as a null value
Sourcepub fn as_bool(&self) -> VortexResult<Option<bool>>
pub fn as_bool(&self) -> VortexResult<Option<bool>>
Returns scalar as a boolean value
Sourcepub fn as_pvalue(&self) -> VortexResult<Option<PValue>>
pub fn as_pvalue(&self) -> VortexResult<Option<PValue>>
Return scalar as a primitive value. PValues don’t match dtypes but will be castable to the scalars dtype
Sourcepub fn as_decimal(&self) -> VortexResult<Option<DecimalValue>>
pub fn as_decimal(&self) -> VortexResult<Option<DecimalValue>>
Returns scalar as a decimal value
Sourcepub fn as_buffer(&self) -> VortexResult<Option<Arc<ByteBuffer>>>
pub fn as_buffer(&self) -> VortexResult<Option<Arc<ByteBuffer>>>
Returns scalar as a binary buffer
Sourcepub fn as_buffer_string(&self) -> VortexResult<Option<Arc<BufferString>>>
pub fn as_buffer_string(&self) -> VortexResult<Option<Arc<BufferString>>>
Returns scalar as a string buffer
Sourcepub fn as_list(&self) -> VortexResult<Option<&Arc<[ScalarValue]>>>
pub fn as_list(&self) -> VortexResult<Option<&Arc<[ScalarValue]>>>
Returns scalar as a list value
Trait Implementations§
Source§impl Clone for ScalarValue
impl Clone for ScalarValue
Source§fn clone(&self) -> ScalarValue
fn clone(&self) -> ScalarValue
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScalarValue
impl Debug for ScalarValue
Source§impl Display for ScalarValue
impl Display for ScalarValue
Source§impl From<&[u8]> for ScalarValue
impl From<&[u8]> for ScalarValue
Source§impl From<&ScalarValue> for ScalarValue
impl From<&ScalarValue> for ScalarValue
Source§fn from(value: &ScalarValue) -> Self
fn from(value: &ScalarValue) -> Self
Source§impl From<&str> for ScalarValue
impl From<&str> for ScalarValue
Source§impl From<Buffer<u8>> for ScalarValue
impl From<Buffer<u8>> for ScalarValue
Source§fn from(value: ByteBuffer) -> Self
fn from(value: ByteBuffer) -> Self
Source§impl From<BufferString> for ScalarValue
impl From<BufferString> for ScalarValue
Source§fn from(value: BufferString) -> Self
fn from(value: BufferString) -> Self
Source§impl From<DecimalValue> for ScalarValue
impl From<DecimalValue> for ScalarValue
Source§fn from(value: DecimalValue) -> Self
fn from(value: DecimalValue) -> Self
Source§impl<T> From<Option<T>> for ScalarValue
impl<T> From<Option<T>> for ScalarValue
Source§impl From<PValue> for ScalarValue
impl From<PValue> for ScalarValue
Source§impl From<String> for ScalarValue
impl From<String> for ScalarValue
Source§impl From<Vec<Buffer<u8>>> for ScalarValue
impl From<Vec<Buffer<u8>>> for ScalarValue
Source§fn from(value: Vec<ByteBuffer>) -> Self
fn from(value: Vec<ByteBuffer>) -> Self
Source§impl From<Vec<BufferString>> for ScalarValue
impl From<Vec<BufferString>> for ScalarValue
Source§fn from(value: Vec<BufferString>) -> Self
fn from(value: Vec<BufferString>) -> Self
Source§impl From<bool> for ScalarValue
impl From<bool> for ScalarValue
Source§impl From<f16> for ScalarValue
impl From<f16> for ScalarValue
Source§impl From<f32> for ScalarValue
impl From<f32> for ScalarValue
Source§impl From<f64> for ScalarValue
impl From<f64> for ScalarValue
Source§impl From<i16> for ScalarValue
impl From<i16> for ScalarValue
Source§impl From<i32> for ScalarValue
impl From<i32> for ScalarValue
Source§impl From<i64> for ScalarValue
impl From<i64> for ScalarValue
Source§impl From<i8> for ScalarValue
impl From<i8> for ScalarValue
Source§impl From<u16> for ScalarValue
impl From<u16> for ScalarValue
Source§impl From<u32> for ScalarValue
impl From<u32> for ScalarValue
Source§impl From<u64> for ScalarValue
impl From<u64> for ScalarValue
Source§impl From<u8> for ScalarValue
impl From<u8> for ScalarValue
Source§impl From<usize> for ScalarValue
Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.
impl From<usize> for ScalarValue
Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.
Source§impl<'a> TryFrom<&'a ScalarValue> for ByteBuffer
impl<'a> TryFrom<&'a ScalarValue> for ByteBuffer
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
Source§impl<'a> TryFrom<&'a ScalarValue> for BufferString
impl<'a> TryFrom<&'a ScalarValue> for BufferString
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
Source§impl<'a> TryFrom<&'a ScalarValue> for Option<ByteBuffer>
impl<'a> TryFrom<&'a ScalarValue> for Option<ByteBuffer>
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
fn try_from(scalar: &'a ScalarValue) -> VortexResult<Self>
Source§impl<'a> TryFrom<&'a ScalarValue> for Option<BufferString>
impl<'a> TryFrom<&'a ScalarValue> for Option<BufferString>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<bool>
impl TryFrom<&ScalarValue> for Option<bool>
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(value: &ScalarValue) -> VortexResult<Self>
fn try_from(value: &ScalarValue) -> VortexResult<Self>
Source§impl TryFrom<&ScalarValue> for Option<f16>
impl TryFrom<&ScalarValue> for Option<f16>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<f32>
impl TryFrom<&ScalarValue> for Option<f32>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<f64>
impl TryFrom<&ScalarValue> for Option<f64>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<i16>
impl TryFrom<&ScalarValue> for Option<i16>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<i32>
impl TryFrom<&ScalarValue> for Option<i32>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<i64>
impl TryFrom<&ScalarValue> for Option<i64>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<i8>
impl TryFrom<&ScalarValue> for Option<i8>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<u16>
impl TryFrom<&ScalarValue> for Option<u16>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<u32>
impl TryFrom<&ScalarValue> for Option<u32>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<u64>
impl TryFrom<&ScalarValue> for Option<u64>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for Option<u8>
impl TryFrom<&ScalarValue> for Option<u8>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for ScalarValue
impl TryFrom<&ScalarValue> for ScalarValue
Source§type Error = VortexError
type Error = VortexError
Source§impl<'a> TryFrom<&'a ScalarValue> for String
impl<'a> TryFrom<&'a ScalarValue> for String
Source§type Error = VortexError
type Error = VortexError
Source§impl<'a, T: for<'b> TryFrom<&'b ScalarValue, Error = VortexError>> TryFrom<&'a ScalarValue> for Vec<T>
impl<'a, T: for<'b> TryFrom<&'b ScalarValue, Error = VortexError>> TryFrom<&'a ScalarValue> for Vec<T>
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for bool
impl TryFrom<&ScalarValue> for bool
Source§type Error = VortexError
type Error = VortexError
Source§fn try_from(value: &ScalarValue) -> VortexResult<Self>
fn try_from(value: &ScalarValue) -> VortexResult<Self>
Source§impl TryFrom<&ScalarValue> for f16
impl TryFrom<&ScalarValue> for f16
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for f32
impl TryFrom<&ScalarValue> for f32
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for f64
impl TryFrom<&ScalarValue> for f64
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for i16
impl TryFrom<&ScalarValue> for i16
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for i32
impl TryFrom<&ScalarValue> for i32
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for i64
impl TryFrom<&ScalarValue> for i64
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for i8
impl TryFrom<&ScalarValue> for i8
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for u16
impl TryFrom<&ScalarValue> for u16
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for u32
impl TryFrom<&ScalarValue> for u32
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for u64
impl TryFrom<&ScalarValue> for u64
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for u8
impl TryFrom<&ScalarValue> for u8
Source§type Error = VortexError
type Error = VortexError
Source§impl TryFrom<&ScalarValue> for usize
Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.
impl TryFrom<&ScalarValue> for usize
Read a scalar as usize. For usize only, we implicitly cast for better ergonomics.
Source§type Error = VortexError
type Error = VortexError
Auto Trait Implementations§
impl Freeze for ScalarValue
impl RefUnwindSafe for ScalarValue
impl Send for ScalarValue
impl Sync for ScalarValue
impl Unpin for ScalarValue
impl UnwindSafe for ScalarValue
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> 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 more