orx_v

Struct UnboundedCard

Source
pub struct UnboundedCard<D: Dim> { /* private fields */ }
Expand description

Unbounded cardinality.

Practically this means that the cardinality of any child dimension of the vector is equal to usize::MAX.

Whenever the vector is unbounded, it is capable of producing the corresponding element for any possible index.

The following vectors are naturally unbounded on construction:

  • functional vectors which can be created by fun,
  • sparse vectors that can be created by sparse or sparse_from,
  • constant vectors that can be created by constant.

The methods all and enumerate_all panic for vectors with unbounded cardinality, as it would lead to an infinite loop (practically).

In order to iterate over flattened scalar elements of an unbounded vector, one can use the all_in iterator instead, where the indices to iterate over are provided as an input.

Alternatively, the unbounded domain of the vector can be transformed into a bounded one by using:

  • bounded method if the vector is of dimension D1,
  • with_rectangular_bounds or with_variable_bounds methods otherwise.

Trait Implementations§

Source§

impl<D: Dim> Card<D> for UnboundedCard<D>

Source§

fn is_rectangular(&self) -> bool

Returns true if the cardinality is bounded and rectangular; i.e, Read more
Source§

fn cardinality_of(&self, _: impl Into<<D as Dim>::CardIdx>) -> usize

Returns the cardinality of the child of the vector at the given idx.
Source§

fn child_card(&self, _: <D as Dim>::ChildIdx) -> impl Card<<D as Dim>::PrevDim>

Returns the cardinality of the child of this vector at the given left_most_idx.
Source§

fn child_fun<T, F>( &self, i: <D as Dim>::ChildIdx, fun: F, ) -> impl Fn(<<D as Dim>::PrevDim as Dim>::Idx) -> T
where F: Fn(<D as Dim>::Idx) -> T,

Creates a function, say new_fun, which applies the first of the indices to left_most_index such that: Read more
Source§

fn vec_all<'a, T, N>(&'a self, _: &'a N) -> impl Iterator<Item = T>
where N: NVec<D, T> + 'a,

Returns an iterator over all elements of the vec provided that this is its cardinality.
Source§

fn vec_enumerate_all<'a, T, N>( &'a self, _: &'a N, ) -> impl Iterator<Item = (<D as Dim>::Idx, T)>
where N: NVec<D, T> + 'a,

Returns an iterator over all elements of the vec together with their corresponding indices provided that this is its cardinality.
Source§

impl<D: Clone + Dim> Clone for UnboundedCard<D>

Source§

fn clone(&self) -> UnboundedCard<D>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<D: Dim> Default for UnboundedCard<D>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<D: Copy + Dim> Copy for UnboundedCard<D>

Auto Trait Implementations§

§

impl<D> Freeze for UnboundedCard<D>

§

impl<D> RefUnwindSafe for UnboundedCard<D>
where D: RefUnwindSafe,

§

impl<D> Send for UnboundedCard<D>
where D: Send,

§

impl<D> Sync for UnboundedCard<D>
where D: Sync,

§

impl<D> Unpin for UnboundedCard<D>
where D: Unpin,

§

impl<D> UnwindSafe for UnboundedCard<D>
where D: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.