[][src]Trait arraylib::ArrayMap

pub trait ArrayMap<U>: Array {
    type Map: Array<Item = U>;
    fn map<F>(self, f: F) -> Self::Map
    where
        F: FnMut(Self::Item) -> U
, { ... } }

Represent array which elements can be mapped (actually any array)

Associated Types

type Map: Array<Item = U>

Type of mapped array. So if Self = [T; N] then Map = [U; N] i.e.

[T; 4]: ArrayMap<U, Map = [U; 4]>
Loading content...

Provided methods

fn map<F>(self, f: F) -> Self::Map where
    F: FnMut(Self::Item) -> U, 

Maps elements of the array

Examples

use arraylib::ArrayMap;

let arr = [1, 2, 3, 4, 5];
let res = arr.map(|x| 2i32.pow(x));
assert_eq!(res, [2, 4, 8, 16, 32])

NOTE: it's nighly recommended to use iterators when you need to perform more that one operation (e.g. map + as_ref) because iterators are lazy and ArrayMap isn't.

Loading content...

Implementors

impl<T, U> ArrayMap<U> for [T; 0][src]

type Map = [U; 0]

impl<T, U> ArrayMap<U> for [T; 1][src]

type Map = [U; 1]

impl<T, U> ArrayMap<U> for [T; 2][src]

type Map = [U; 2]

impl<T, U> ArrayMap<U> for [T; 3][src]

type Map = [U; 3]

impl<T, U> ArrayMap<U> for [T; 4][src]

type Map = [U; 4]

impl<T, U> ArrayMap<U> for [T; 5][src]

type Map = [U; 5]

impl<T, U> ArrayMap<U> for [T; 6][src]

type Map = [U; 6]

impl<T, U> ArrayMap<U> for [T; 7][src]

type Map = [U; 7]

impl<T, U> ArrayMap<U> for [T; 8][src]

type Map = [U; 8]

impl<T, U> ArrayMap<U> for [T; 9][src]

type Map = [U; 9]

impl<T, U> ArrayMap<U> for [T; 10][src]

type Map = [U; 10]

impl<T, U> ArrayMap<U> for [T; 11][src]

type Map = [U; 11]

impl<T, U> ArrayMap<U> for [T; 12][src]

type Map = [U; 12]

impl<T, U> ArrayMap<U> for [T; 13][src]

type Map = [U; 13]

impl<T, U> ArrayMap<U> for [T; 14][src]

type Map = [U; 14]

impl<T, U> ArrayMap<U> for [T; 15][src]

type Map = [U; 15]

impl<T, U> ArrayMap<U> for [T; 16][src]

type Map = [U; 16]

impl<T, U> ArrayMap<U> for [T; 17][src]

type Map = [U; 17]

impl<T, U> ArrayMap<U> for [T; 18][src]

type Map = [U; 18]

impl<T, U> ArrayMap<U> for [T; 19][src]

type Map = [U; 19]

impl<T, U> ArrayMap<U> for [T; 20][src]

type Map = [U; 20]

impl<T, U> ArrayMap<U> for [T; 21][src]

type Map = [U; 21]

impl<T, U> ArrayMap<U> for [T; 22][src]

type Map = [U; 22]

impl<T, U> ArrayMap<U> for [T; 23][src]

type Map = [U; 23]

impl<T, U> ArrayMap<U> for [T; 24][src]

type Map = [U; 24]

impl<T, U> ArrayMap<U> for [T; 25][src]

type Map = [U; 25]

impl<T, U> ArrayMap<U> for [T; 26][src]

type Map = [U; 26]

impl<T, U> ArrayMap<U> for [T; 27][src]

type Map = [U; 27]

impl<T, U> ArrayMap<U> for [T; 28][src]

type Map = [U; 28]

impl<T, U> ArrayMap<U> for [T; 29][src]

type Map = [U; 29]

impl<T, U> ArrayMap<U> for [T; 30][src]

type Map = [U; 30]

impl<T, U> ArrayMap<U> for [T; 31][src]

type Map = [U; 31]

impl<T, U> ArrayMap<U> for [T; 32][src]

type Map = [U; 32]

impl<T, U> ArrayMap<U> for [T; 33][src]

type Map = [U; 33]

impl<T, U> ArrayMap<U> for [T; 34][src]

type Map = [U; 34]

impl<T, U> ArrayMap<U> for [T; 35][src]

type Map = [U; 35]

impl<T, U> ArrayMap<U> for [T; 36][src]

type Map = [U; 36]

impl<T, U> ArrayMap<U> for [T; 37][src]

type Map = [U; 37]

impl<T, U> ArrayMap<U> for [T; 38][src]

type Map = [U; 38]

impl<T, U> ArrayMap<U> for [T; 39][src]

type Map = [U; 39]

impl<T, U> ArrayMap<U> for [T; 40][src]

type Map = [U; 40]

impl<T, U> ArrayMap<U> for [T; 41][src]

type Map = [U; 41]

impl<T, U> ArrayMap<U> for [T; 42][src]

type Map = [U; 42]

impl<T, U> ArrayMap<U> for [T; 43][src]

type Map = [U; 43]

impl<T, U> ArrayMap<U> for [T; 44][src]

type Map = [U; 44]

impl<T, U> ArrayMap<U> for [T; 45][src]

type Map = [U; 45]

impl<T, U> ArrayMap<U> for [T; 46][src]

type Map = [U; 46]

impl<T, U> ArrayMap<U> for [T; 47][src]

type Map = [U; 47]

impl<T, U> ArrayMap<U> for [T; 48][src]

type Map = [U; 48]

impl<T, U> ArrayMap<U> for [T; 49][src]

type Map = [U; 49]

impl<T, U> ArrayMap<U> for [T; 50][src]

type Map = [U; 50]

impl<T, U> ArrayMap<U> for [T; 51][src]

type Map = [U; 51]

impl<T, U> ArrayMap<U> for [T; 52][src]

type Map = [U; 52]

impl<T, U> ArrayMap<U> for [T; 53][src]

type Map = [U; 53]

impl<T, U> ArrayMap<U> for [T; 54][src]

type Map = [U; 54]

impl<T, U> ArrayMap<U> for [T; 55][src]

type Map = [U; 55]

impl<T, U> ArrayMap<U> for [T; 56][src]

type Map = [U; 56]

impl<T, U> ArrayMap<U> for [T; 57][src]

type Map = [U; 57]

impl<T, U> ArrayMap<U> for [T; 58][src]

type Map = [U; 58]

impl<T, U> ArrayMap<U> for [T; 59][src]

type Map = [U; 59]

impl<T, U> ArrayMap<U> for [T; 60][src]

type Map = [U; 60]

impl<T, U> ArrayMap<U> for [T; 61][src]

type Map = [U; 61]

impl<T, U> ArrayMap<U> for [T; 62][src]

type Map = [U; 62]

impl<T, U> ArrayMap<U> for [T; 63][src]

type Map = [U; 63]

impl<T, U> ArrayMap<U> for [T; 64][src]

type Map = [U; 64]

impl<T, U> ArrayMap<U> for [T; 65][src]

type Map = [U; 65]

impl<T, U> ArrayMap<U> for [T; 66][src]

type Map = [U; 66]

impl<T, U> ArrayMap<U> for [T; 67][src]

type Map = [U; 67]

impl<T, U> ArrayMap<U> for [T; 68][src]

type Map = [U; 68]

impl<T, U> ArrayMap<U> for [T; 69][src]

type Map = [U; 69]

impl<T, U> ArrayMap<U> for [T; 70][src]

type Map = [U; 70]

impl<T, U> ArrayMap<U> for [T; 71][src]

type Map = [U; 71]

impl<T, U> ArrayMap<U> for [T; 72][src]

type Map = [U; 72]

impl<T, U> ArrayMap<U> for [T; 73][src]

type Map = [U; 73]

impl<T, U> ArrayMap<U> for [T; 74][src]

type Map = [U; 74]

impl<T, U> ArrayMap<U> for [T; 75][src]

type Map = [U; 75]

impl<T, U> ArrayMap<U> for [T; 76][src]

type Map = [U; 76]

impl<T, U> ArrayMap<U> for [T; 77][src]

type Map = [U; 77]

impl<T, U> ArrayMap<U> for [T; 78][src]

type Map = [U; 78]

impl<T, U> ArrayMap<U> for [T; 79][src]

type Map = [U; 79]

impl<T, U> ArrayMap<U> for [T; 80][src]

type Map = [U; 80]

impl<T, U> ArrayMap<U> for [T; 81][src]

type Map = [U; 81]

impl<T, U> ArrayMap<U> for [T; 82][src]

type Map = [U; 82]

impl<T, U> ArrayMap<U> for [T; 83][src]

type Map = [U; 83]

impl<T, U> ArrayMap<U> for [T; 84][src]

type Map = [U; 84]

impl<T, U> ArrayMap<U> for [T; 85][src]

type Map = [U; 85]

impl<T, U> ArrayMap<U> for [T; 86][src]

type Map = [U; 86]

impl<T, U> ArrayMap<U> for [T; 87][src]

type Map = [U; 87]

impl<T, U> ArrayMap<U> for [T; 88][src]

type Map = [U; 88]

impl<T, U> ArrayMap<U> for [T; 89][src]

type Map = [U; 89]

impl<T, U> ArrayMap<U> for [T; 90][src]

type Map = [U; 90]

impl<T, U> ArrayMap<U> for [T; 91][src]

type Map = [U; 91]

impl<T, U> ArrayMap<U> for [T; 92][src]

type Map = [U; 92]

impl<T, U> ArrayMap<U> for [T; 93][src]

type Map = [U; 93]

impl<T, U> ArrayMap<U> for [T; 94][src]

type Map = [U; 94]

impl<T, U> ArrayMap<U> for [T; 95][src]

type Map = [U; 95]

impl<T, U> ArrayMap<U> for [T; 96][src]

type Map = [U; 96]

impl<T, U> ArrayMap<U> for [T; 97][src]

type Map = [U; 97]

impl<T, U> ArrayMap<U> for [T; 98][src]

type Map = [U; 98]

impl<T, U> ArrayMap<U> for [T; 99][src]

type Map = [U; 99]

impl<T, U> ArrayMap<U> for [T; 100][src]

type Map = [U; 100]

impl<T, U> ArrayMap<U> for [T; 101][src]

type Map = [U; 101]

impl<T, U> ArrayMap<U> for [T; 102][src]

type Map = [U; 102]

impl<T, U> ArrayMap<U> for [T; 103][src]

type Map = [U; 103]

impl<T, U> ArrayMap<U> for [T; 104][src]

type Map = [U; 104]

impl<T, U> ArrayMap<U> for [T; 105][src]

type Map = [U; 105]

impl<T, U> ArrayMap<U> for [T; 106][src]

type Map = [U; 106]

impl<T, U> ArrayMap<U> for [T; 107][src]

type Map = [U; 107]

impl<T, U> ArrayMap<U> for [T; 108][src]

type Map = [U; 108]

impl<T, U> ArrayMap<U> for [T; 109][src]

type Map = [U; 109]

impl<T, U> ArrayMap<U> for [T; 110][src]

type Map = [U; 110]

impl<T, U> ArrayMap<U> for [T; 111][src]

type Map = [U; 111]

impl<T, U> ArrayMap<U> for [T; 112][src]

type Map = [U; 112]

impl<T, U> ArrayMap<U> for [T; 113][src]

type Map = [U; 113]

impl<T, U> ArrayMap<U> for [T; 114][src]

type Map = [U; 114]

impl<T, U> ArrayMap<U> for [T; 115][src]

type Map = [U; 115]

impl<T, U> ArrayMap<U> for [T; 116][src]

type Map = [U; 116]

impl<T, U> ArrayMap<U> for [T; 117][src]

type Map = [U; 117]

impl<T, U> ArrayMap<U> for [T; 118][src]

type Map = [U; 118]

impl<T, U> ArrayMap<U> for [T; 119][src]

type Map = [U; 119]

impl<T, U> ArrayMap<U> for [T; 120][src]

type Map = [U; 120]

impl<T, U> ArrayMap<U> for [T; 121][src]

type Map = [U; 121]

impl<T, U> ArrayMap<U> for [T; 122][src]

type Map = [U; 122]

impl<T, U> ArrayMap<U> for [T; 123][src]

type Map = [U; 123]

impl<T, U> ArrayMap<U> for [T; 124][src]

type Map = [U; 124]

impl<T, U> ArrayMap<U> for [T; 125][src]

type Map = [U; 125]

impl<T, U> ArrayMap<U> for [T; 126][src]

type Map = [U; 126]

impl<T, U> ArrayMap<U> for [T; 127][src]

type Map = [U; 127]

impl<T, U> ArrayMap<U> for [T; 128][src]

type Map = [U; 128]

impl<T, U> ArrayMap<U> for [T; 200][src]

type Map = [U; 200]

impl<T, U> ArrayMap<U> for [T; 256][src]

type Map = [U; 256]

impl<T, U> ArrayMap<U> for [T; 300][src]

type Map = [U; 300]

impl<T, U> ArrayMap<U> for [T; 400][src]

type Map = [U; 400]

impl<T, U> ArrayMap<U> for [T; 500][src]

type Map = [U; 500]

impl<T, U> ArrayMap<U> for [T; 512][src]

type Map = [U; 512]

impl<T, U> ArrayMap<U> for [T; 600][src]

type Map = [U; 600]

impl<T, U> ArrayMap<U> for [T; 700][src]

type Map = [U; 700]

impl<T, U> ArrayMap<U> for [T; 800][src]

type Map = [U; 800]

impl<T, U> ArrayMap<U> for [T; 900][src]

type Map = [U; 900]

impl<T, U> ArrayMap<U> for [T; 1000][src]

type Map = [U; 1000]

impl<T, U> ArrayMap<U> for [T; 1024][src]

type Map = [U; 1024]

impl<T, U> ArrayMap<U> for [T; 2048][src]

type Map = [U; 2048]

impl<T, U> ArrayMap<U> for [T; 4096][src]

type Map = [U; 4096]

impl<T, U> ArrayMap<U> for [T; 8192][src]

type Map = [U; 8192]

impl<T, U> ArrayMap<U> for [T; 16384][src]

type Map = [U; 16384]

impl<T, U> ArrayMap<U> for [T; 32768][src]

type Map = [U; 32768]

impl<T, U> ArrayMap<U> for [T; 65536][src]

type Map = [U; 65536]

Loading content...