Type Alias SmallText

Source
pub type SmallText = ArrayString<[u8; 22]>;

Aliased Type§

struct SmallText { /* private fields */ }

Implementations

Source§

impl<A> ArrayString<A>
where A: Array<Item = u8> + Copy,

Source

pub fn new() -> ArrayString<A>

Create a new empty ArrayString.

Capacity is inferred from the type parameter.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 16]>::new();
string.push_str("foo");
assert_eq!(&string[..], "foo");
assert_eq!(string.capacity(), 16);
Source

pub fn len(&self) -> usize

Return the length of the string.

Source

pub fn is_empty(&self) -> bool

Returns whether the string is empty.

Source

pub fn from(s: &str) -> Result<ArrayString<A>, CapacityError<&str>>

Create a new ArrayString from a str.

Capacity is inferred from the type parameter.

Errors if the backing array is not large enough to fit the string.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 3]>::from("foo").unwrap();
assert_eq!(&string[..], "foo");
assert_eq!(string.len(), 3);
assert_eq!(string.capacity(), 3);
Source

pub fn from_byte_string(b: &A) -> Result<ArrayString<A>, Utf8Error>

Create a new ArrayString from a byte string literal.

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

use arrayvec::ArrayString;

let string = ArrayString::from_byte_string(b"hello world").unwrap();
Source

pub fn capacity(&self) -> usize

Return the capacity of the ArrayString.

use arrayvec::ArrayString;

let string = ArrayString::<[_; 3]>::new();
assert_eq!(string.capacity(), 3);
Source

pub fn is_full(&self) -> bool

Return if the ArrayString is completely filled.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 1]>::new();
assert!(!string.is_full());
string.push_str("A");
assert!(string.is_full());
Source

pub fn push(&mut self, c: char)

Adds the given char to the end of the string.

Panics if the backing array is not large enough to fit the additional char.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 2]>::new();

string.push('a');
string.push('b');

assert_eq!(&string[..], "ab");
Source

pub fn try_push(&mut self, c: char) -> Result<(), CapacityError<char>>

Adds the given char to the end of the string.

Returns Ok if the push succeeds.

Errors if the backing array is not large enough to fit the additional char.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 2]>::new();

string.try_push('a').unwrap();
string.try_push('b').unwrap();
let overflow = string.try_push('c');

assert_eq!(&string[..], "ab");
assert_eq!(overflow.unwrap_err().element(), 'c');
Source

pub fn push_str(&mut self, s: &str)

Adds the given string slice to the end of the string.

Panics if the backing array is not large enough to fit the string.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 2]>::new();

string.push_str("a");
string.push_str("d");

assert_eq!(&string[..], "ad");
Source

pub fn try_push_str<'a>( &mut self, s: &'a str, ) -> Result<(), CapacityError<&'a str>>

Adds the given string slice to the end of the string.

Returns Ok if the push succeeds.

Errors if the backing array is not large enough to fit the string.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 2]>::new();

string.try_push_str("a").unwrap();
let overflow1 = string.try_push_str("bc");
string.try_push_str("d").unwrap();
let overflow2 = string.try_push_str("ef");

assert_eq!(&string[..], "ad");
assert_eq!(overflow1.unwrap_err().element(), "bc");
assert_eq!(overflow2.unwrap_err().element(), "ef");
Source

pub fn pop(&mut self) -> Option<char>

Removes the last character from the string and returns it.

Returns None if this ArrayString is empty.

use arrayvec::ArrayString;
 
let mut s = ArrayString::<[_; 3]>::from("foo").unwrap();

assert_eq!(s.pop(), Some('o'));
assert_eq!(s.pop(), Some('o'));
assert_eq!(s.pop(), Some('f'));

assert_eq!(s.pop(), None);
Source

pub fn truncate(&mut self, new_len: usize)

Shortens this ArrayString to the specified length.

If new_len is greater than the string’s current length, this has no effect.

Panics if new_len does not lie on a char boundary.

use arrayvec::ArrayString;

let mut string = ArrayString::<[_; 6]>::from("foobar").unwrap();
string.truncate(3);
assert_eq!(&string[..], "foo");
string.truncate(4);
assert_eq!(&string[..], "foo");
Source

pub fn remove(&mut self, idx: usize) -> char

Removes a char from this ArrayString at a byte position and returns it.

This is an O(n) operation, as it requires copying every element in the array.

Panics if idx is larger than or equal to the ArrayString’s length, or if it does not lie on a char boundary.

use arrayvec::ArrayString;
 
let mut s = ArrayString::<[_; 3]>::from("foo").unwrap();

assert_eq!(s.remove(0), 'f');
assert_eq!(s.remove(1), 'o');
assert_eq!(s.remove(0), 'o');
Source

pub fn clear(&mut self)

Make the string empty.

Source

pub unsafe fn set_len(&mut self, length: usize)

Set the strings’s length.

This function is unsafe because it changes the notion of the number of “valid” bytes in the string. Use with care.

This method uses debug assertions to check the validity of length and may use other debug assertions.

Source

pub fn as_str(&self) -> &str

Return a string slice of the whole ArrayString.

Trait Implementations

Source§

impl<A> AsRef<str> for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<A> Borrow<str> for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn borrow(&self) -> &str

Immutably borrows from an owned value. Read more
Source§

impl<A> Clone for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn clone(&self) -> ArrayString<A>

Returns a copy of the value. Read more
Source§

fn clone_from(&mut self, rhs: &ArrayString<A>)

Performs copy-assignment from source. Read more
Source§

impl<A> Debug for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<A> Default for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn default() -> ArrayString<A>

Return an empty ArrayString

Source§

impl<A> Deref for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

type Target = str

The resulting type after dereferencing.
Source§

fn deref(&self) -> &str

Dereferences the value.
Source§

impl<A> DerefMut for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn deref_mut(&mut self) -> &mut str

Mutably dereferences the value.
Source§

impl<A> Display for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<A> FromStr for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

type Err = CapacityError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<ArrayString<A>, <ArrayString<A> as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl<A> Hash for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn hash<H>(&self, h: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<A> Ord for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn cmp(&self, rhs: &ArrayString<A>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl<A> PartialEq<str> for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn eq(&self, rhs: &str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<A> PartialEq for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn eq(&self, rhs: &ArrayString<A>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<A> PartialOrd<str> for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn partial_cmp(&self, rhs: &str) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
Source§

fn lt(&self, rhs: &str) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
Source§

fn le(&self, rhs: &str) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
Source§

fn gt(&self, rhs: &str) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
Source§

fn ge(&self, rhs: &str) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<A> PartialOrd for ArrayString<A>
where A: Array<Item = u8> + Copy,

Source§

fn partial_cmp(&self, rhs: &ArrayString<A>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
Source§

fn lt(&self, rhs: &ArrayString<A>) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
Source§

fn le(&self, rhs: &ArrayString<A>) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
Source§

fn gt(&self, rhs: &ArrayString<A>) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
Source§

fn ge(&self, rhs: &ArrayString<A>) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<A> Write for ArrayString<A>
where A: Array<Item = u8> + Copy,

Write appends written data to the end of the string.

Source§

fn write_char(&mut self, c: char) -> Result<(), Error>

Writes a char into this writer, returning whether the write succeeded. Read more
Source§

fn write_str(&mut self, s: &str) -> Result<(), Error>

Writes a string slice into this writer, returning whether the write succeeded. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Glue for usage of the write! macro with implementors of this trait. Read more
Source§

impl<A> Copy for ArrayString<A>
where A: Copy + Array<Item = u8>, <A as Array>::Index: Copy,

Source§

impl<A> Eq for ArrayString<A>
where A: Array<Item = u8> + Copy,