Trait Len

Source
pub trait Len: Empty {
    // Required method
    fn len(&self) -> usize;
}
Expand description

A trait for describing the length of a collection.

The amount of data stored in a collection, i.e. the amount of space it requires in memory, is directly proportional to its length. For this reason, str and other types measure their lengths in code values (e.g. u8), not code points (e.g. char).

Obtaining the length of the collection must take a constant amount of time and space.

Required Methods§

Source

fn len(&self) -> usize

Returns the length of the collection.

§Examples
use len_trait::Len;

fn print_len<C: ?Sized + Len>(collection: &C) {
    println!("{} units long", collection.len());
}

print_len("中文");         // 6 units long
print_len(&[1, 2, 3][..]); // 3 units long

Implementations on Foreign Types§

Source§

impl Len for str

Source§

fn len(&self) -> usize

Source§

impl Len for CString

Source§

fn len(&self) -> usize

Source§

impl Len for String

Source§

fn len(&self) -> usize

Source§

impl Len for CStr

Source§

fn len(&self) -> usize

Source§

impl Len for OsStr

Source§

fn len(&self) -> usize

Source§

impl Len for OsString

Source§

fn len(&self) -> usize

Source§

impl<K: Eq + Hash, V> Len for HashMap<K, V>

Source§

fn len(&self) -> usize

Source§

impl<K: Ord, V> Len for BTreeMap<K, V>

Source§

fn len(&self) -> usize

Source§

impl<T> Len for [T]

Source§

fn len(&self) -> usize

Source§

impl<T> Len for LinkedList<T>

Source§

fn len(&self) -> usize

Source§

impl<T> Len for VecDeque<T>

Source§

fn len(&self) -> usize

Source§

impl<T> Len for Vec<T>

Source§

fn len(&self) -> usize

Source§

impl<T: Eq + Hash> Len for HashSet<T>

Source§

fn len(&self) -> usize

Source§

impl<T: Ord> Len for BinaryHeap<T>

Source§

fn len(&self) -> usize

Source§

impl<T: Ord> Len for BTreeSet<T>

Source§

fn len(&self) -> usize

Source§

impl<T: ?Sized + Len> Len for Box<T>

Source§

fn len(&self) -> usize

Source§

impl<T: ?Sized + Len> Len for Rc<T>

Source§

fn len(&self) -> usize

Source§

impl<T: ?Sized + Len> Len for Arc<T>

Source§

fn len(&self) -> usize

Implementors§