pub struct ArrayExt<T: HasAfEnum>(_);
Expand description
A wrapper around af::Array
which defines common operations.
Implementations
sourceimpl<T: HasAfEnum + Default> ArrayExt<T>
impl<T: HasAfEnum + Default> ArrayExt<T>
sourcepub fn constant(value: T, length: usize) -> Self where
T: ConstGenerator<OutType = T>,
pub fn constant(value: T, length: usize) -> Self where
T: ConstGenerator<OutType = T>,
Construct a new ArrayExt
with the given value and length.
sourcepub fn concatenate(left: &Self, right: &Self) -> Self
pub fn concatenate(left: &Self, right: &Self) -> Self
Concatenate two instances of ArrayExt<T>
.
sourcepub fn exp(&self) -> ArrayExt<T::UnaryOutType>
pub fn exp(&self) -> ArrayExt<T::UnaryOutType>
Raise e
to the power of self
.
sourcepub fn type_cast<D: HasAfEnum>(&self) -> ArrayExt<D>
pub fn type_cast<D: HasAfEnum>(&self) -> ArrayExt<D>
Cast the values of this ArrayExt
into a destination type D
.
sourcepub fn get(&self, index: Indexer<'_>) -> Self
pub fn get(&self, index: Indexer<'_>) -> Self
Get the values specified by the given af::Indexer
.
sourcepub fn into_inner(self) -> Array<T>
pub fn into_inner(self) -> Array<T>
Deconstruct this ArrayExt<T>
into its underlying af::Array
.
sourceimpl<T: HasAfEnum + RealNumber + Clone + Default> ArrayExt<T>
impl<T: HasAfEnum + RealNumber + Clone + Default> ArrayExt<T>
sourceimpl<T: HasAfEnum + FloatingPoint + Default> ArrayExt<T>
impl<T: HasAfEnum + FloatingPoint + Default> ArrayExt<T>
sourcepub fn random_normal(length: usize) -> Self
pub fn random_normal(length: usize) -> Self
Construct a new ArrayExt
with a random normal distribution.
sourcepub fn random_uniform(length: usize) -> Self
pub fn random_uniform(length: usize) -> Self
Construct a new ArrayExt
with a uniform random distribution.
Methods from Deref<Target = Array<T>>
sourcepub fn get_backend(&self) -> Backend
pub fn get_backend(&self) -> Backend
Returns the backend of the Array
Return Values
Returns an value of type Backend
which indicates which backend
was active when Array was created.
sourcepub fn get_device_id(&self) -> i32
pub fn get_device_id(&self) -> i32
Returns the device identifier(integer) on which the Array was created
Return Values
Return the device id on which Array was created.
sourcepub fn host<O>(&self, data: &mut [O]) where
O: HasAfEnum,
pub fn host<O>(&self, data: &mut [O]) where
O: HasAfEnum,
Copies the data from the Array to the mutable slice data
Examples
Basic case
let a:Vec<u8> = vec![0,1,2,3,4,5,6,7,8];
let b = Array::<u8>::new(&a,Dim4::new(&[3,3,1,1]));
let mut c = vec!(u8::default();b.elements());
b.host(&mut c);
assert_eq!(c,a);
Generic case
fn to_vec<T:HasAfEnum+Default+Clone>(array:&Array<T>) -> Vec<T> {
let mut vec = vec!(T::default();array.elements());
array.host(&mut vec);
return vec;
}
let a = Array::<u8>::new(&[0,1,2,3,4,5,6,7,8],Dim4::new(&[3,3,1,1]));
let b:Vec<u8> = vec![0,1,2,3,4,5,6,7,8];
assert_eq!(to_vec(&a),b);
sourcepub fn eval(&self)
pub fn eval(&self)
Evaluates any pending lazy expressions that represent the data in the Array object
sourcepub fn copy(&self) -> Array<T>
pub fn copy(&self) -> Array<T>
Makes an copy of the Array
This does a deep copy of the data into a new Array
sourcepub fn is_complex(&self) -> bool
pub fn is_complex(&self) -> bool
Check if Array is of complex type
sourcepub fn is_integer(&self) -> bool
pub fn is_integer(&self) -> bool
Check if Array is of integral type
sourcepub fn is_realfloating(&self) -> bool
pub fn is_realfloating(&self) -> bool
Check if Array is floating point real(not complex) data type
sourcepub fn is_floating(&self) -> bool
pub fn is_floating(&self) -> bool
Check if Array is floating point type, either real or complex data
sourcepub fn is_linear(&self) -> bool
pub fn is_linear(&self) -> bool
Check if Array’s memory layout is continuous and one dimensional
sourcepub fn is_owner(&self) -> bool
pub fn is_owner(&self) -> bool
Check if Array’s memory is owned by it and not a view of another Array
sourcepub fn lock(&self)
pub fn lock(&self)
Lock the device buffer in the memory manager
Locked buffers are not freed by memory manager until unlock is called.
sourcepub fn unlock(&self)
pub fn unlock(&self)
Unlock the device buffer in the memory manager
This function will give back the control over the device pointer to the memory manager.
sourcepub unsafe fn device_ptr(&self) -> *mut c_void
pub unsafe fn device_ptr(&self) -> *mut c_void
Get the device pointer and lock the buffer in memory manager
The device pointer is not freed by memory manager until unlock is called.
sourcepub fn get_allocated_bytes(&self) -> usize
pub fn get_allocated_bytes(&self) -> usize
Get the size of physical allocated bytes.
This function will return the size of the parent/owner if the current Array object is an indexed Array.
Trait Implementations
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the +
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the +
operator.
sourceimpl<T: HasAfEnum> ArrayInstance for ArrayExt<T>
impl<T: HasAfEnum> ArrayInstance for ArrayExt<T>
type DType = T
sourcefn get(&self, index: Indexer<'_>) -> Array<Self::DType>
fn get(&self, index: Indexer<'_>) -> Array<Self::DType>
Get the values specified by the given af::Indexer
.
sourcefn set<T: ArrayInstance<DType = Self::DType>>(
&mut self,
index: &Indexer<'_>,
other: &T
)
fn set<T: ArrayInstance<DType = Self::DType>>(
&mut self,
index: &Indexer<'_>,
other: &T
)
Set the values specified by the given af::Indexer
to the corresponding values in T
.
sourceimpl ArrayInstanceAbs for ArrayExt<Complex<f32>>
impl ArrayInstanceAbs for ArrayExt<Complex<f32>>
sourceimpl ArrayInstanceAbs for ArrayExt<Complex<f64>>
impl ArrayInstanceAbs for ArrayExt<Complex<f64>>
sourceimpl ArrayInstanceAbs for ArrayExt<f32>
impl ArrayInstanceAbs for ArrayExt<f32>
sourceimpl ArrayInstanceAbs for ArrayExt<f64>
impl ArrayInstanceAbs for ArrayExt<f64>
sourceimpl ArrayInstanceAbs for ArrayExt<i16>
impl ArrayInstanceAbs for ArrayExt<i16>
sourceimpl ArrayInstanceAbs for ArrayExt<i32>
impl ArrayInstanceAbs for ArrayExt<i32>
sourceimpl ArrayInstanceAbs for ArrayExt<i64>
impl ArrayInstanceAbs for ArrayExt<i64>
sourceimpl ArrayInstanceAnyAll for ArrayExt<bool>
impl ArrayInstanceAnyAll for ArrayExt<bool>
sourceimpl ArrayInstanceAnyAll for ArrayExt<f32>
impl ArrayInstanceAnyAll for ArrayExt<f32>
sourceimpl ArrayInstanceAnyAll for ArrayExt<Complex<f32>>
impl ArrayInstanceAnyAll for ArrayExt<Complex<f32>>
sourceimpl ArrayInstanceAnyAll for ArrayExt<Complex<f64>>
impl ArrayInstanceAnyAll for ArrayExt<Complex<f64>>
sourceimpl ArrayInstanceAnyAll for ArrayExt<f64>
impl ArrayInstanceAnyAll for ArrayExt<f64>
sourceimpl ArrayInstanceAnyAll for ArrayExt<i16>
impl ArrayInstanceAnyAll for ArrayExt<i16>
sourceimpl ArrayInstanceAnyAll for ArrayExt<i32>
impl ArrayInstanceAnyAll for ArrayExt<i32>
sourceimpl ArrayInstanceAnyAll for ArrayExt<i64>
impl ArrayInstanceAnyAll for ArrayExt<i64>
sourceimpl ArrayInstanceAnyAll for ArrayExt<u8>
impl ArrayInstanceAnyAll for ArrayExt<u8>
sourceimpl ArrayInstanceAnyAll for ArrayExt<u16>
impl ArrayInstanceAnyAll for ArrayExt<u16>
sourceimpl ArrayInstanceAnyAll for ArrayExt<u32>
impl ArrayInstanceAnyAll for ArrayExt<u32>
sourceimpl ArrayInstanceAnyAll for ArrayExt<u64>
impl ArrayInstanceAnyAll for ArrayExt<u64>
sourceimpl<T, U> ArrayInstanceCompare<U> for ArrayExt<T> where
T: Clone + HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
impl<T, U> ArrayInstanceCompare<U> for ArrayExt<T> where
T: Clone + HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
sourceimpl ArrayInstanceIndex for ArrayExt<Complex<f32>>
impl ArrayInstanceIndex for ArrayExt<Complex<f32>>
sourceimpl ArrayInstanceIndex for ArrayExt<Complex<f64>>
impl ArrayInstanceIndex for ArrayExt<Complex<f64>>
sourceimpl<T, U> ArrayInstanceLog<T, U> for ArrayExt<T> where
T: HasAfEnum,
U: HasAfEnum,
Self: ArrayInstanceNaturalLog<T>,
ArrayExt<U>: ArrayInstanceNaturalLog<U>,
ArrayExt<T::UnaryOutType>: Div<ArrayExt<U::UnaryOutType>>,
impl<T, U> ArrayInstanceLog<T, U> for ArrayExt<T> where
T: HasAfEnum,
U: HasAfEnum,
Self: ArrayInstanceNaturalLog<T>,
ArrayExt<U>: ArrayInstanceNaturalLog<U>,
ArrayExt<T::UnaryOutType>: Div<ArrayExt<U::UnaryOutType>>,
sourcefn log(
&self,
base: &ArrayExt<U>
) -> <ArrayExt<T::UnaryOutType> as Div<ArrayExt<U::UnaryOutType>>>::Output
fn log(
&self,
base: &ArrayExt<U>
) -> <ArrayExt<T::UnaryOutType> as Div<ArrayExt<U::UnaryOutType>>>::Output
Calculate the element-wise logarithm.
sourceimpl ArrayInstanceMinMax<bool> for ArrayExt<bool>
impl ArrayInstanceMinMax<bool> for ArrayExt<bool>
sourceimpl ArrayInstanceMinMax<f32> for ArrayExt<f32>
impl ArrayInstanceMinMax<f32> for ArrayExt<f32>
sourceimpl ArrayInstanceMinMax<f64> for ArrayExt<f64>
impl ArrayInstanceMinMax<f64> for ArrayExt<f64>
sourceimpl ArrayInstanceMinMax<i16> for ArrayExt<i16>
impl ArrayInstanceMinMax<i16> for ArrayExt<i16>
sourceimpl ArrayInstanceMinMax<i32> for ArrayExt<i32>
impl ArrayInstanceMinMax<i32> for ArrayExt<i32>
sourceimpl ArrayInstanceMinMax<i64> for ArrayExt<i64>
impl ArrayInstanceMinMax<i64> for ArrayExt<i64>
sourceimpl ArrayInstanceMinMax<u16> for ArrayExt<u16>
impl ArrayInstanceMinMax<u16> for ArrayExt<u16>
sourceimpl ArrayInstanceMinMax<u32> for ArrayExt<u32>
impl ArrayInstanceMinMax<u32> for ArrayExt<u32>
sourceimpl ArrayInstanceMinMax<u64> for ArrayExt<u64>
impl ArrayInstanceMinMax<u64> for ArrayExt<u64>
sourceimpl ArrayInstanceMinMax<u8> for ArrayExt<u8>
impl ArrayInstanceMinMax<u8> for ArrayExt<u8>
sourceimpl<T> ArrayInstanceNaturalLog<T> for ArrayExt<T> where
T: HasAfEnum,
impl<T> ArrayInstanceNaturalLog<T> for ArrayExt<T> where
T: HasAfEnum,
sourcefn ln(&self) -> ArrayExt<T::UnaryOutType>
fn ln(&self) -> ArrayExt<T::UnaryOutType>
Calculate the element-wise natural logarithm.
sourceimpl<T, U> ArrayInstancePow<U> for ArrayExt<T> where
T: HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<T> + ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output: HasAfEnum,
impl<T, U> ArrayInstancePow<U> for ArrayExt<T> where
T: HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<T> + ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output: HasAfEnum,
type Pow = <<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output
sourceimpl ArrayInstanceProduct<Complex<f32>> for ArrayExt<Complex<f32>>
impl ArrayInstanceProduct<Complex<f32>> for ArrayExt<Complex<f32>>
type Product = Complex<f32>
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<Complex<f64>> for ArrayExt<Complex<f64>>
impl ArrayInstanceProduct<Complex<f64>> for ArrayExt<Complex<f64>>
type Product = Complex<f64>
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<bool> for ArrayExt<bool>
impl ArrayInstanceProduct<bool> for ArrayExt<bool>
type Product = <bool as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<f32> for ArrayExt<f32>
impl ArrayInstanceProduct<f32> for ArrayExt<f32>
type Product = <f32 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<f64> for ArrayExt<f64>
impl ArrayInstanceProduct<f64> for ArrayExt<f64>
type Product = <f64 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<i16> for ArrayExt<i16>
impl ArrayInstanceProduct<i16> for ArrayExt<i16>
type Product = <i16 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<i32> for ArrayExt<i32>
impl ArrayInstanceProduct<i32> for ArrayExt<i32>
type Product = <i32 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<i64> for ArrayExt<i64>
impl ArrayInstanceProduct<i64> for ArrayExt<i64>
type Product = <i64 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<u16> for ArrayExt<u16>
impl ArrayInstanceProduct<u16> for ArrayExt<u16>
type Product = <u16 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<u32> for ArrayExt<u32>
impl ArrayInstanceProduct<u32> for ArrayExt<u32>
type Product = <u32 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<u64> for ArrayExt<u64>
impl ArrayInstanceProduct<u64> for ArrayExt<u64>
type Product = <u64 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl ArrayInstanceProduct<u8> for ArrayExt<u8>
impl ArrayInstanceProduct<u8> for ArrayExt<u8>
type Product = <u8 as HasAfEnum>::ProductOutType
sourcefn product_dtype() -> NumberType
fn product_dtype() -> NumberType
The NumberType
of the product of this array.
sourceimpl<T: HasAfEnum> ArrayInstanceRound for ArrayExt<T>
impl<T: HasAfEnum> ArrayInstanceRound for ArrayExt<T>
sourceimpl ArrayInstanceSum<bool> for ArrayExt<bool>
impl ArrayInstanceSum<bool> for ArrayExt<bool>
type Sum = <bool as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<f32> for ArrayExt<f32>
impl ArrayInstanceSum<f32> for ArrayExt<f32>
type Sum = <f32 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<f64> for ArrayExt<f64>
impl ArrayInstanceSum<f64> for ArrayExt<f64>
type Sum = <f64 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<i16> for ArrayExt<i16>
impl ArrayInstanceSum<i16> for ArrayExt<i16>
type Sum = <i16 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<i32> for ArrayExt<i32>
impl ArrayInstanceSum<i32> for ArrayExt<i32>
type Sum = <i32 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<i64> for ArrayExt<i64>
impl ArrayInstanceSum<i64> for ArrayExt<i64>
type Sum = <i64 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<u16> for ArrayExt<u16>
impl ArrayInstanceSum<u16> for ArrayExt<u16>
type Sum = <u16 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<u32> for ArrayExt<u32>
impl ArrayInstanceSum<u32> for ArrayExt<u32>
type Sum = <u32 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<u64> for ArrayExt<u64>
impl ArrayInstanceSum<u64> for ArrayExt<u64>
type Sum = <u64 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl ArrayInstanceSum<u8> for ArrayExt<u8>
impl ArrayInstanceSum<u8> for ArrayExt<u8>
type Sum = <u8 as HasAfEnum>::AggregateOutType
sourcefn sum_dtype() -> NumberType
fn sum_dtype() -> NumberType
The NumberType
of the sum of this array.
sourceimpl<T: HasAfEnum + Default> ArrayInstanceTrig<T> for ArrayExt<T>
impl<T: HasAfEnum + Default> ArrayInstanceTrig<T> for ArrayExt<T>
fn sin(&self) -> ArrayExt<T::UnaryOutType>
fn asin(&self) -> ArrayExt<T::UnaryOutType>
fn sinh(&self) -> ArrayExt<T::UnaryOutType>
fn asinh(&self) -> ArrayExt<T::UnaryOutType>
fn cos(&self) -> ArrayExt<T::UnaryOutType>
fn acos(&self) -> ArrayExt<T::UnaryOutType>
fn cosh(&self) -> ArrayExt<T::UnaryOutType>
fn acosh(&self) -> ArrayExt<T::UnaryOutType>
fn tan(&self) -> ArrayExt<T::UnaryOutType>
fn atan(&self) -> ArrayExt<T::UnaryOutType>
fn tanh(&self) -> ArrayExt<T::UnaryOutType>
fn atanh(&self) -> ArrayExt<T::UnaryOutType>
sourceimpl<T: HasAfEnum + ImplicitPromote<T>> ArrayInstanceUnreal for ArrayExt<T>
impl<T: HasAfEnum + ImplicitPromote<T>> ArrayInstanceUnreal for ArrayExt<T>
sourceimpl<'de, T: HasAfEnum + Deserialize<'de> + 'de> Deserialize<'de> for ArrayExt<T> where
ArrayExt<T>: From<Vec<T>>,
impl<'de, T: HasAfEnum + Deserialize<'de> + 'de> Deserialize<'de> for ArrayExt<T> where
ArrayExt<T>: From<Vec<T>>,
sourcefn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the /
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the /
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> DivAssign<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> DivAssign<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
sourcefn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
Performs the /=
operation. Read more
sourceimpl<T: HasAfEnum> FromIterator<T> for ArrayExt<T>
impl<T: HasAfEnum> FromIterator<T> for ArrayExt<T>
sourcefn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
Creates a value from an iterator. Read more
sourceimpl FromStream for ArrayExt<bool>
impl FromStream for ArrayExt<bool>
sourceimpl FromStream for ArrayExt<f32>
impl FromStream for ArrayExt<f32>
sourceimpl FromStream for ArrayExt<f64>
impl FromStream for ArrayExt<f64>
sourceimpl FromStream for ArrayExt<u8>
impl FromStream for ArrayExt<u8>
sourceimpl FromStream for ArrayExt<u16>
impl FromStream for ArrayExt<u16>
sourceimpl FromStream for ArrayExt<u32>
impl FromStream for ArrayExt<u32>
sourceimpl FromStream for ArrayExt<u64>
impl FromStream for ArrayExt<u64>
sourceimpl FromStream for ArrayExt<i16>
impl FromStream for ArrayExt<i16>
sourceimpl FromStream for ArrayExt<i32>
impl FromStream for ArrayExt<i32>
sourceimpl FromStream for ArrayExt<i64>
impl FromStream for ArrayExt<i64>
sourceimpl<'en> IntoStream<'en> for ArrayExt<bool>
impl<'en> IntoStream<'en> for ArrayExt<bool>
sourceimpl<'en> IntoStream<'en> for ArrayExt<f32>
impl<'en> IntoStream<'en> for ArrayExt<f32>
sourceimpl<'en> IntoStream<'en> for ArrayExt<f64>
impl<'en> IntoStream<'en> for ArrayExt<f64>
sourceimpl<'en> IntoStream<'en> for ArrayExt<u8>
impl<'en> IntoStream<'en> for ArrayExt<u8>
sourceimpl<'en> IntoStream<'en> for ArrayExt<u16>
impl<'en> IntoStream<'en> for ArrayExt<u16>
sourceimpl<'en> IntoStream<'en> for ArrayExt<u32>
impl<'en> IntoStream<'en> for ArrayExt<u32>
sourceimpl<'en> IntoStream<'en> for ArrayExt<u64>
impl<'en> IntoStream<'en> for ArrayExt<u64>
sourceimpl<'en> IntoStream<'en> for ArrayExt<i16>
impl<'en> IntoStream<'en> for ArrayExt<i16>
sourceimpl<'en> IntoStream<'en> for ArrayExt<i32>
impl<'en> IntoStream<'en> for ArrayExt<i32>
sourceimpl<'en> IntoStream<'en> for ArrayExt<i64>
impl<'en> IntoStream<'en> for ArrayExt<i64>
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the *
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the *
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the %
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the %
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<&'_ ArrayExt<T>> for &ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the -
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
The resulting type after applying the -
operator.
sourceimpl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> SubAssign<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> SubAssign<ArrayExt<T>> for ArrayExt<T> where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
sourcefn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Performs the -=
operation. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for ArrayExt<T> where
T: RefUnwindSafe,
impl<T> Send for ArrayExt<T>
impl<T> Sync for ArrayExt<T>
impl<T> Unpin for ArrayExt<T> where
T: Unpin,
impl<T> UnwindSafe for ArrayExt<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<F> Match for F
impl<F> Match for F
sourcefn matches<T>(&self) -> bool where
T: TryCastFrom<Self>,
fn matches<T>(&self) -> bool where
T: TryCastFrom<Self>,
Returns true
if self
can be cast into the target type T
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
sourcefn can_cast_from(&F) -> bool
fn can_cast_from(&F) -> bool
Test if value
can be cast into Self
.
sourcefn opt_cast_from(f: F) -> Option<T>
fn opt_cast_from(f: F) -> Option<T>
Returns Some(Self)
if the source value can be cast into Self
, otherwise None
.
sourcefn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err> where
OnErr: FnOnce(&T) -> Err,
fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err> where
OnErr: FnOnce(&T) -> Err,
Returns Ok(Self)
if the source value can be cast into Self
, otherwise calls on_err
.
sourceimpl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
impl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
sourcefn can_cast_into(&self) -> bool
fn can_cast_into(&self) -> bool
Test if self
can be cast into T
.
sourcefn opt_cast_into(self) -> Option<T>
fn opt_cast_into(self) -> Option<T>
Returns Some(T)
if self
can be cast into T
, otherwise None
.
sourcefn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err> where
OnErr: FnOnce(&Self) -> Err,
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err> where
OnErr: FnOnce(&Self) -> Err,
Returns Ok(T)
if self
can be cast into T
, otherwise calls on_err
.