pub trait ArrayMeta<T: Clone>{
// Required methods
fn get_elements(&self) -> Result<Vec<T>, ArrayError>;
fn get_shape(&self) -> Result<Vec<usize>, ArrayError>;
fn ndim(&self) -> Result<usize, ArrayError>;
fn len(&self) -> Result<usize, ArrayError>;
fn is_empty(&self) -> Result<bool, ArrayError>;
}
Expand description
ArrayTrait
- Array Metadata functions
Required Methods§
Sourcefn get_elements(&self) -> Result<Vec<T>, ArrayError>
fn get_elements(&self) -> Result<Vec<T>, ArrayError>
Sourcefn ndim(&self) -> Result<usize, ArrayError>
fn ndim(&self) -> Result<usize, ArrayError>
Count of array dimensions
§Examples
use arr_rs::prelude::*;
let arr_1 = Array::new(vec![1,2,3,4], vec![4]).unwrap();
let ndim_1 = arr_1.ndim().unwrap();
assert_eq!(1, ndim_1);
let arr_2 = Array::new(vec![1,2,3,4], vec![2, 2]).unwrap();
let ndim_2 = arr_2.ndim().unwrap();
assert_eq!(2, ndim_2);
§Errors
may returns ArrayError
Sourcefn len(&self) -> Result<usize, ArrayError>
fn len(&self) -> Result<usize, ArrayError>
Sourcefn is_empty(&self) -> Result<bool, ArrayError>
fn is_empty(&self) -> Result<bool, ArrayError>
Check if array element count equals zero
§Examples
use arr_rs::prelude::*;
let arr_1 = Array::new(vec![1,2,3,4], vec![4]).unwrap();
let empty_1 = arr_1.is_empty().unwrap();
assert_eq!(false, empty_1);
let arr_2: Array<f64> = Array::empty().unwrap();
let empty_2 = arr_2.is_empty().unwrap();
assert_eq!(true, empty_2);
§Errors
may returns ArrayError
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.