pub trait AsIndex:
Debug
+ Copy
+ Sized {
// Required method
fn index(self) -> isize;
// Provided methods
fn expect_elem_index(self, size: usize) -> usize { ... }
fn expect_dim_index(self, size: usize) -> usize { ... }
}Expand description
Helper trait for implementing indexing with support for negative indices.
§Example
use burn_std::AsIndex;
fn example<I: AsIndex, const D: usize>(dim: I, size: usize) -> isize {
let dim: usize = dim.expect_dim_index(D);
unimplemented!()
}Required Methods§
Provided Methods§
Sourcefn expect_elem_index(self, size: usize) -> usize
fn expect_elem_index(self, size: usize) -> usize
Short-form [IndexWrap::expect_index(idx, size)].
Sourcefn expect_dim_index(self, size: usize) -> usize
fn expect_dim_index(self, size: usize) -> usize
Short-form [IndexWrap::expect_dim(idx, size)].
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.