Enum rerun::external::ndarray::SliceInfoElem
source · pub enum SliceInfoElem {
Slice {
start: isize,
end: Option<isize>,
step: isize,
},
Index(isize),
NewAxis,
}
Expand description
A slice (range with step), an index, or a new axis token.
See also the s![]
macro for a convenient way to create a
SliceInfo<[SliceInfoElem; n], Din, Dout>
.
§Examples
SliceInfoElem::Index(a)
is the index a
. It can also be created with
SliceInfoElem::from(a)
. The Python equivalent is [a]
. The macro
equivalent is s![a]
.
SliceInfoElem::Slice { start: 0, end: None, step: 1 }
is the full range
of an axis. It can also be created with SliceInfoElem::from(..)
. The
Python equivalent is [:]
. The macro equivalent is s![..]
.
SliceInfoElem::Slice { start: a, end: Some(b), step: 2 }
is every second
element from a
until b
. It can also be created with
SliceInfoElem::from(Slice::from(a..b).step_by(2))
. The Python equivalent
is [a:b:2]
. The macro equivalent is s![a..b;2]
.
SliceInfoElem::Slice { start: a, end: None, step: -1 }
is every element,
from a
until the end, in reverse order. It can also be created with
SliceInfoElem::from(Slice::from(a..).step_by(-1))
. The Python equivalent
is [a::-1]
. The macro equivalent is s![a..;-1]
.
SliceInfoElem::NewAxis
is a new axis of length 1. It can also be created
with SliceInfoElem::from(NewAxis)
. The Python equivalent is
[np.newaxis]
. The macro equivalent is s![NewAxis]
.
Variants§
Slice
A range with step size. end
is an exclusive index. Negative start
or end
indexes are counted from the back of the axis. If end
is
None
, the slice extends to the end of the axis.
Fields
Index(isize)
A single index.
NewAxis
A new axis of length 1.
Implementations§
Trait Implementations§
source§impl Clone for SliceInfoElem
impl Clone for SliceInfoElem
source§fn clone(&self) -> SliceInfoElem
fn clone(&self) -> SliceInfoElem
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SliceInfoElem
impl Debug for SliceInfoElem
source§impl Display for SliceInfoElem
impl Display for SliceInfoElem
source§impl From<NewAxis> for SliceInfoElem
impl From<NewAxis> for SliceInfoElem
source§fn from(_: NewAxis) -> SliceInfoElem
fn from(_: NewAxis) -> SliceInfoElem
source§impl From<RangeFull> for SliceInfoElem
impl From<RangeFull> for SliceInfoElem
source§fn from(_: RangeFull) -> SliceInfoElem
fn from(_: RangeFull) -> SliceInfoElem
source§impl From<RangeInclusive<i32>> for SliceInfoElem
impl From<RangeInclusive<i32>> for SliceInfoElem
source§fn from(r: RangeInclusive<i32>) -> SliceInfoElem
fn from(r: RangeInclusive<i32>) -> SliceInfoElem
source§impl From<RangeInclusive<isize>> for SliceInfoElem
impl From<RangeInclusive<isize>> for SliceInfoElem
source§fn from(r: RangeInclusive<isize>) -> SliceInfoElem
fn from(r: RangeInclusive<isize>) -> SliceInfoElem
source§impl From<RangeInclusive<usize>> for SliceInfoElem
impl From<RangeInclusive<usize>> for SliceInfoElem
source§fn from(r: RangeInclusive<usize>) -> SliceInfoElem
fn from(r: RangeInclusive<usize>) -> SliceInfoElem
source§impl From<RangeToInclusive<i32>> for SliceInfoElem
impl From<RangeToInclusive<i32>> for SliceInfoElem
source§fn from(r: RangeToInclusive<i32>) -> SliceInfoElem
fn from(r: RangeToInclusive<i32>) -> SliceInfoElem
source§impl From<RangeToInclusive<isize>> for SliceInfoElem
impl From<RangeToInclusive<isize>> for SliceInfoElem
source§fn from(r: RangeToInclusive<isize>) -> SliceInfoElem
fn from(r: RangeToInclusive<isize>) -> SliceInfoElem
source§impl From<RangeToInclusive<usize>> for SliceInfoElem
impl From<RangeToInclusive<usize>> for SliceInfoElem
source§fn from(r: RangeToInclusive<usize>) -> SliceInfoElem
fn from(r: RangeToInclusive<usize>) -> SliceInfoElem
source§impl From<Slice> for SliceInfoElem
impl From<Slice> for SliceInfoElem
source§fn from(s: Slice) -> SliceInfoElem
fn from(s: Slice) -> SliceInfoElem
source§impl From<i32> for SliceInfoElem
impl From<i32> for SliceInfoElem
source§fn from(r: i32) -> SliceInfoElem
fn from(r: i32) -> SliceInfoElem
source§impl From<isize> for SliceInfoElem
impl From<isize> for SliceInfoElem
source§fn from(r: isize) -> SliceInfoElem
fn from(r: isize) -> SliceInfoElem
source§impl From<usize> for SliceInfoElem
impl From<usize> for SliceInfoElem
source§fn from(r: usize) -> SliceInfoElem
fn from(r: usize) -> SliceInfoElem
source§impl Hash for SliceInfoElem
impl Hash for SliceInfoElem
source§impl PartialEq for SliceInfoElem
impl PartialEq for SliceInfoElem
source§fn eq(&self, other: &SliceInfoElem) -> bool
fn eq(&self, other: &SliceInfoElem) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for SliceInfoElem
impl Eq for SliceInfoElem
impl StructuralPartialEq for SliceInfoElem
Auto Trait Implementations§
impl Freeze for SliceInfoElem
impl RefUnwindSafe for SliceInfoElem
impl Send for SliceInfoElem
impl Sync for SliceInfoElem
impl Unpin for SliceInfoElem
impl UnwindSafe for SliceInfoElem
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request