From fffb45f2461a23ed9c09deb29c71ec1f9575d195 Mon Sep 17 00:00:00 2001 From: korken89 Date: Tue, 2 Mar 2021 15:11:38 +0000 Subject: [PATCH] deploy: b3877665f8119334f58da9cceb699bfa9733486d --- generic_array/all.html | 2 +- generic_array/arr/index.html | 2 +- generic_array/functional/index.html | 2 +- .../functional/trait.FunctionalSequence.html | 10 +- .../trait.MappedGenericSequence.html | 6 +- .../functional/type.MappedSequence.html | 2 +- generic_array/index.html | 38 +- generic_array/iter/index.html | 2 +- .../iter/struct.GenericArrayIter.html | 36 +- generic_array/sequence/index.html | 2 +- generic_array/sequence/trait.Concat.html | 10 +- .../sequence/trait.GenericSequence.html | 10 +- generic_array/sequence/trait.Lengthen.html | 14 +- generic_array/sequence/trait.Shorten.html | 14 +- generic_array/sequence/trait.Split.html | 10 +- generic_array/sequence/type.SequenceItem.html | 2 +- generic_array/struct.GenericArray.html | 364 ++++++++++++------ generic_array/trait.ArrayLength.html | 6 +- implementors/core/convert/trait.AsMut.js | 2 +- implementors/core/convert/trait.AsRef.js | 2 +- implementors/core/convert/trait.From.js | 2 +- search-index.js | 2 +- src/generic_array/arr.rs.html | 28 +- src/generic_array/functional.rs.html | 6 +- src/generic_array/hex.rs.html | 42 +- src/generic_array/impls.rs.html | 196 +++++++++- src/generic_array/iter.rs.html | 169 +++++++- src/generic_array/lib.rs.html | 186 ++++++--- src/generic_array/sequence.rs.html | 218 ++++++++--- 29 files changed, 1029 insertions(+), 356 deletions(-) diff --git a/generic_array/all.html b/generic_array/all.html index ddc781ca..b2c8d8e4 100644 --- a/generic_array/all.html +++ b/generic_array/all.html @@ -1,6 +1,6 @@ List of all items in this crate -

[][src]Module generic_array::arr

Implementation for arr! macro.

Traits

AddLength

Helper trait for arr! macro

Type Definitions

diff --git a/generic_array/functional/index.html b/generic_array/functional/index.html index 8296c7b0..7207d514 100644 --- a/generic_array/functional/index.html +++ b/generic_array/functional/index.html @@ -1,7 +1,7 @@ generic_array::functional - Rust

[][src]Module generic_array::functional

Functional programming with generic sequences

+ Change settings

[][src]Module generic_array::functional

Functional programming with generic sequences

Please see tests/generics.rs for examples of how to best use these in your generic functions.

Traits

FunctionalSequence

Defines functional programming methods for generic sequences

diff --git a/generic_array/functional/trait.FunctionalSequence.html b/generic_array/functional/trait.FunctionalSequence.html index ef5c1fa5..51076963 100644 --- a/generic_array/functional/trait.FunctionalSequence.html +++ b/generic_array/functional/trait.FunctionalSequence.html @@ -1,7 +1,7 @@ generic_array::functional::FunctionalSequence - Rust

[][src]Trait generic_array::functional::FunctionalSequence

pub unsafe trait FunctionalSequence<T>: GenericSequence<T> {
+                Change settings

[][src]Trait generic_array::functional::FunctionalSequence

pub unsafe trait FunctionalSequence<T>: GenericSequence<T> {
     fn map<U, F>(self, f: F) -> MappedSequence<Self, T, U>
    where
        Self: MappedGenericSequence<T, U>,
        Self::Length: ArrayLength<U>,
        F: FnMut(Self::Item) -> U
, { ... }
fn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U>
    where
        Self: MappedGenericSequence<T, U>,
        Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>>,
        Self::Length: ArrayLength<B> + ArrayLength<U>,
        Rhs: GenericSequence<B, Length = Self::Length>,
        F: FnMut(Self::Item, Rhs::Item) -> U
, @@ -9,13 +9,13 @@
fn fold<U, F>(self, init: U, f: F) -> U
    where
        F: FnMut(U, Self::Item) -> U
, { ... } }

Defines functional programming methods for generic sequences

-

Provided methods

fn map<U, F>(self, f: F) -> MappedSequence<Self, T, U> where
    Self: MappedGenericSequence<T, U>,
    Self::Length: ArrayLength<U>,
    F: FnMut(Self::Item) -> U, 
[src]

Maps a GenericSequence to another GenericSequence.

+

Provided methods

fn map<U, F>(self, f: F) -> MappedSequence<Self, T, U> where
    Self: MappedGenericSequence<T, U>,
    Self::Length: ArrayLength<U>,
    F: FnMut(Self::Item) -> U, 
[src]

Maps a GenericSequence to another GenericSequence.

If the mapping function panics, any already initialized elements in the new sequence will be dropped, AND any unused elements in the source sequence will also be dropped.

-

fn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U> where
    Self: MappedGenericSequence<T, U>,
    Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>>,
    Self::Length: ArrayLength<B> + ArrayLength<U>,
    Rhs: GenericSequence<B, Length = Self::Length>,
    F: FnMut(Self::Item, Rhs::Item) -> U, 
[src]

Combines two GenericSequence instances and iterates through both of them, +

fn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U> where
    Self: MappedGenericSequence<T, U>,
    Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>>,
    Self::Length: ArrayLength<B> + ArrayLength<U>,
    Rhs: GenericSequence<B, Length = Self::Length>,
    F: FnMut(Self::Item, Rhs::Item) -> U, 
[src]

Combines two GenericSequence instances and iterates through both of them, initializing a new GenericSequence with the result of the zipped mapping function.

If the mapping function panics, any already initialized elements in the new sequence will be dropped, AND any unused elements in the source sequences will also be dropped.

-

fn fold<U, F>(self, init: U, f: F) -> U where
    F: FnMut(U, Self::Item) -> U, 
[src]

Folds (or reduces) a sequence of data into a single value.

+

fn fold<U, F>(self, init: U, f: F) -> U where
    F: FnMut(U, Self::Item) -> U, 
[src]

Folds (or reduces) a sequence of data into a single value.

If the fold function panics, any unused elements will be dropped.

-
Loading content...

Implementors

impl<'a, T, S: GenericSequence<T>> FunctionalSequence<T> for &'a S where
    &'a S: GenericSequence<T>, 
[src]

impl<'a, T, S: GenericSequence<T>> FunctionalSequence<T> for &'a mut S where
    &'a mut S: GenericSequence<T>, 
[src]

impl<T, N> FunctionalSequence<T> for GenericArray<T, N> where
    N: ArrayLength<T>,
    Self: GenericSequence<T, Item = T, Length = N>, 
[src]

Loading content...
\ No newline at end of file +Loading content...

Implementors

impl<'a, T, S: GenericSequence<T>> FunctionalSequence<T> for &'a S where
    &'a S: GenericSequence<T>, 
[src]

impl<'a, T, S: GenericSequence<T>> FunctionalSequence<T> for &'a mut S where
    &'a mut S: GenericSequence<T>, 
[src]

impl<T, N> FunctionalSequence<T> for GenericArray<T, N> where
    N: ArrayLength<T>,
    Self: GenericSequence<T, Item = T, Length = N>, 
[src]

Loading content...
\ No newline at end of file diff --git a/generic_array/functional/trait.MappedGenericSequence.html b/generic_array/functional/trait.MappedGenericSequence.html index 7017efd7..a40a3654 100644 --- a/generic_array/functional/trait.MappedGenericSequence.html +++ b/generic_array/functional/trait.MappedGenericSequence.html @@ -1,9 +1,9 @@ generic_array::functional::MappedGenericSequence - Rust

[][src]Trait generic_array::functional::MappedGenericSequence

pub unsafe trait MappedGenericSequence<T, U>: GenericSequence<T> where
    Self::Length: ArrayLength<U>, 
{ + Change settings

[][src]Trait generic_array::functional::MappedGenericSequence

pub unsafe trait MappedGenericSequence<T, U>: GenericSequence<T> where
    Self::Length: ArrayLength<U>, 
{ type Mapped: GenericSequence<U, Length = Self::Length>; }

Defines the relationship between one generic sequence and another, for operations such as map and zip.

-

Associated Types

type Mapped: GenericSequence<U, Length = Self::Length>[src]

Mapped sequence type

-
Loading content...

Implementors

impl<'a, T, U, S: MappedGenericSequence<T, U>> MappedGenericSequence<T, U> for &'a S where
    &'a S: GenericSequence<T>,
    S: GenericSequence<T, Length = <&'a S as GenericSequence<T>>::Length>,
    <S as GenericSequence<T>>::Length: ArrayLength<U>, 
[src]

type Mapped = <S as MappedGenericSequence<T, U>>::Mapped

impl<'a, T, U, S: MappedGenericSequence<T, U>> MappedGenericSequence<T, U> for &'a mut S where
    &'a mut S: GenericSequence<T>,
    S: GenericSequence<T, Length = <&'a mut S as GenericSequence<T>>::Length>,
    <S as GenericSequence<T>>::Length: ArrayLength<U>, 
[src]

type Mapped = <S as MappedGenericSequence<T, U>>::Mapped

impl<T, U, N> MappedGenericSequence<T, U> for GenericArray<T, N> where
    N: ArrayLength<T> + ArrayLength<U>,
    GenericArray<U, N>: GenericSequence<U, Length = N>, 
[src]

type Mapped = GenericArray<U, N>

Loading content...
\ No newline at end of file +

Associated Types

type Mapped: GenericSequence<U, Length = Self::Length>[src]

Mapped sequence type

+
Loading content...

Implementors

impl<'a, T, U, S: MappedGenericSequence<T, U>> MappedGenericSequence<T, U> for &'a S where
    &'a S: GenericSequence<T>,
    S: GenericSequence<T, Length = <&'a S as GenericSequence<T>>::Length>,
    <S as GenericSequence<T>>::Length: ArrayLength<U>, 
[src]

type Mapped = <S as MappedGenericSequence<T, U>>::Mapped

impl<'a, T, U, S: MappedGenericSequence<T, U>> MappedGenericSequence<T, U> for &'a mut S where
    &'a mut S: GenericSequence<T>,
    S: GenericSequence<T, Length = <&'a mut S as GenericSequence<T>>::Length>,
    <S as GenericSequence<T>>::Length: ArrayLength<U>, 
[src]

type Mapped = <S as MappedGenericSequence<T, U>>::Mapped

impl<T, U, N> MappedGenericSequence<T, U> for GenericArray<T, N> where
    N: ArrayLength<T> + ArrayLength<U>,
    GenericArray<U, N>: GenericSequence<U, Length = N>, 
[src]

type Mapped = GenericArray<U, N>

Loading content...
\ No newline at end of file diff --git a/generic_array/functional/type.MappedSequence.html b/generic_array/functional/type.MappedSequence.html index d26612e8..cbf0528f 100644 --- a/generic_array/functional/type.MappedSequence.html +++ b/generic_array/functional/type.MappedSequence.html @@ -1,5 +1,5 @@ generic_array::functional::MappedSequence - Rust

[][src]Type Definition generic_array::functional::MappedSequence

type MappedSequence<S, T, U> = <<S as MappedGenericSequence<T, U>>::Mapped as GenericSequence<U>>::Sequence;

Accessor type for a mapped generic sequence

+ Change settings

[][src]Type Definition generic_array::functional::MappedSequence

type MappedSequence<S, T, U> = <<S as MappedGenericSequence<T, U>>::Mapped as GenericSequence<U>>::Sequence;

Accessor type for a mapped generic sequence

\ No newline at end of file diff --git a/generic_array/index.html b/generic_array/index.html index af6fe68f..4923affc 100644 --- a/generic_array/index.html +++ b/generic_array/index.html @@ -1,31 +1,53 @@ generic_array - Rust -

[][src]Crate generic_array

This crate implements a structure that can be used as a generic array type.use +

[][src]Crate generic_array

This crate implements a structure that can be used as a generic array type. Core Rust array types [T; N] can't be used generically with respect to N, so for example this:

-
struct Foo<T, N> {
-    data: [T; N]
-}
-
+ +
+struct Foo<T, N> {
+    data: [T; N]
+}

won't work.

generic-array exports a GenericArray<T,N> type, which lets the above be implemented as:

+use generic_array::{ArrayLength, GenericArray};
+
 struct Foo<T, N: ArrayLength<T>> {
     data: GenericArray<T,N>
 }

The ArrayLength<T> trait is implemented by default for unsigned integer types from -typenum.

+typenum:

+ +
+use generic_array::typenum::U5;
+
+struct Foo<N: ArrayLength<i32>> {
+    data: GenericArray<i32, N>
+}
+
+let foo = Foo::<U5>{data: GenericArray::default()};
+

For example, GenericArray<T, U5> would work almost like [T; 5]:

+ +
+use generic_array::typenum::U5;
+
+struct Foo<T, N: ArrayLength<T>> {
+    data: GenericArray<T, N>
+}
+
+let foo = Foo::<i32, U5>{data: GenericArray::default()};

For ease of use, an arr! macro is provided - example below:

 let array = arr![u32; 1, 2, 3];
 assert_eq!(array[2], 3);

Re-exports

-
pub extern crate typenum;
pub use iter::GenericArrayIter;

Modules

+
pub extern crate typenum;
pub use self::iter::GenericArrayIter;

Modules

arr

Implementation for arr! macro.

functional

Functional programming with generic sequences

iter

GenericArray iterator implementation.

diff --git a/generic_array/iter/index.html b/generic_array/iter/index.html index fcaa8eb9..a0a36043 100644 --- a/generic_array/iter/index.html +++ b/generic_array/iter/index.html @@ -1,7 +1,7 @@ generic_array::iter - Rust

[][src]Module generic_array::iter

GenericArray iterator implementation.

+ Change settings

[][src]Module generic_array::iter

GenericArray iterator implementation.

Structs

GenericArrayIter

An iterator that moves out of a GenericArray

\ No newline at end of file diff --git a/generic_array/iter/struct.GenericArrayIter.html b/generic_array/iter/struct.GenericArrayIter.html index 85412dfb..b8aab377 100644 --- a/generic_array/iter/struct.GenericArrayIter.html +++ b/generic_array/iter/struct.GenericArrayIter.html @@ -1,30 +1,31 @@ generic_array::iter::GenericArrayIter - Rust -

[][src]Struct generic_array::iter::GenericArrayIter

pub struct GenericArrayIter<T, N: ArrayLength<T>> { /* fields omitted */ }

An iterator that moves out of a GenericArray

-

Implementations

impl<T, N> GenericArrayIter<T, N> where
    N: ArrayLength<T>, 
[src]

pub fn as_slice(&self) -> &[T][src]

Returns the remaining items of this iterator as a slice

-

pub fn as_mut_slice(&mut self) -> &mut [T][src]

Returns the remaining items of this iterator as a mutable slice

-

Trait Implementations

impl<T: Clone, N> Clone for GenericArrayIter<T, N> where
    N: ArrayLength<T>, 
[src]