Struct Partitions

Source
pub struct Partitions { /* private fields */ }
Expand description

Iterates over the partitions of a given positive integer.

Implementations§

Source§

impl Partitions

Source

pub fn new(n: usize) -> Partitions

Makes a new iterator.

Source

pub fn next(&mut self) -> Option<&[usize]>

Advances the iterator and returns the next partition.

Source

pub fn recycle(n: usize, vec: Vec<usize>) -> Partitions

Makes a new iterator, trying to avoid allocations.

Any vector can be passed to this function, since its contents will be cleared and it will be filled with zeroes, but note that the vector will still reallocate if its capacity is less than n + 1.

Source

pub fn end(self) -> Vec<usize>

Destroys the iterator and returns a vector for further use.

You only need to call this function if you want to reuse the vector for something else. Its contents will be in an undefined state, and so cannot be relied upon.

Auto Trait Implementations§

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> 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, 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.