Type Alias GenericArrayString

Source
pub type GenericArrayString<N> = ArrayString<ArrayvecStorage<u8, N>>;
Expand description

Aliased Type§

pub struct GenericArrayString<N> { /* private fields */ }

Trait Implementations§

Source§

impl<N> GenericArrayStringExt<N> for GenericArrayString<N>
where N: Capacity<u8>, ArrayvecStorage<u8, N>: Array<Item = u8>, N::ArrayType: Copy,

Source§

fn generic_from( string: &str, ) -> Result<GenericArrayString<N>, CapacityError<&str>>

Creates a GenericArrayString from a str.

Capacity is inferred from the type parameter.

Errors if the capacity is not large enough to fit the string.

use generic_arrayvec::typenum::U10;
use generic_arrayvec::{GenericArrayString, GenericArrayStringExt};

let string = GenericArrayString::<U10>::generic_from("hello").unwrap();

assert_eq!(string.len(), 5);
assert_eq!(string.capacity(), 10);
Source§

fn generic_from_byte_string<A>( byte_string: &A, ) -> Result<GenericArrayString<N>, Utf8Error>
where A: Into<GenericArray<u8, N>> + AsRef<[u8]>,

Creates a GenericArrayString from a byte string.

The GenericArrayString’s length and capacity will be equal to the input byte string.

Errors if the byte string is not valid UTF-8.

§Examples

From a byte string literal:

use generic_arrayvec::{GenericArrayString, GenericArrayStringExt};

let string = GenericArrayString::generic_from_byte_string(b"hello").unwrap();

assert_eq!(string.len(), 5);
assert_eq!(string.capacity(), 5);

From a byte-holding GenericArray:

use generic_arrayvec::generic_array::GenericArray;
use generic_arrayvec::{GenericArrayString, GenericArrayStringExt};

let arr = GenericArray::from([b'h', b'i']);
let string = GenericArrayString::generic_from_byte_string(&arr).unwrap();

assert_eq!(string.len(), 2);
assert_eq!(string.capacity(), 2);