Struct jagged_array::Jagged2Builder [] [src]

pub struct Jagged2Builder<T> { /* fields omitted */ }

Struct to facilitate building a jagged array row by row.

Example

use jagged_array::{Jagged2, Jagged2Builder};

let mut builder = Jagged2Builder::new();
builder.extend(&[1, 2]); // push an array/slice
builder.extend((0..2)); // push an iterator (range)
builder.extend(vec![3]); // push and consume a vector

// Finalize the builder into an array.
let array: Jagged2<u32> = builder.into();

assert_eq!(array.len(), 3);
assert_eq!(array.get_row(0), Some(&[1, 2][..]));
assert_eq!(array.get_row(1), Some(&[0, 1][..]));
assert_eq!(array.get_row(2), Some(&[3][..]));

Methods

impl<T> Jagged2Builder<T>
[src]

Construct a new array builder, defaulted to not holding any rows.

Construct an empty array builder, but preallocate enough heap space for row_cap rows, and a total of item_cap items stored cumulatively in the array.

Adding more rows/items than specified after using this constructor is not an error; more space will be allocated on demand.

Return the number of rows held in the array builder.

Return the total number of T held in the array.

If new_len < self.len(), the array will be extended with empty rows until it reaches the given length. Otherwise, rows will be truncated from the tail of the array until the length is reached.

Example

use jagged_array::Jagged2Builder;
let mut builder: Jagged2Builder<u32> = Jagged2Builder::new();
builder.extend(&[1, 2]);
builder.extend(&[3]);
builder.resize(4);
let mut expected: Jagged2Builder<u32> = Jagged2Builder::new();
expected.extend(&[1, 2]);
expected.extend(&[3]);
expected.extend(&[]);
expected.extend(&[]);
assert_eq!(builder, expected);

Trait Implementations

impl<T: Clone> Clone for Jagged2Builder<T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<T: Debug> Debug for Jagged2Builder<T>
[src]

Formats the value using the given formatter.

impl<T: Eq> Eq for Jagged2Builder<T>
[src]

impl<T: Hash> Hash for Jagged2Builder<T>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<T: PartialEq> PartialEq for Jagged2Builder<T>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<T> Default for Jagged2Builder<T>
[src]

Returns the "default value" for a type. Read more

impl<T> Extend<T> for Jagged2Builder<T>
[src]

Push a new row into the builder

impl<'a, T> Extend<&'a T> for Jagged2Builder<T> where
    T: 'a + Copy
[src]

Push a new row into the builder; this also works for array/slice types passed by reference, if T is Copy.

impl<T> Into<Jagged2<T>> for Jagged2Builder<T>
[src]

Performs the conversion.