Trait toad_len::Len

source ·
pub trait Len {
    const CAPACITY: Option<usize>;

    // Required methods
    fn len(&self) -> usize;
    fn is_full(&self) -> bool;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

Get the runtime size of some data structure

Required Associated Constants§

source

const CAPACITY: Option<usize>

The maximum number of elements that this data structure can acommodate.

Required Methods§

source

fn len(&self) -> usize

Get the runtime size (in bytes) of a struct

For collections this is always equivalent to calling an inherent len method.

use toad_len::Len;

assert_eq!(Len::len(&vec![1u8, 2]), 2)
source

fn is_full(&self) -> bool

Is there no room left in this collection?

use toad_len::Len;

let array = tinyvec::ArrayVec::<[u8; 2]>::from([1, 2]);

assert!(Len::is_full(&array))

Provided Methods§

source

fn is_empty(&self) -> bool

Check if the runtime size is zero

use toad_len::Len;

assert!(Len::is_empty(&Vec::<u8>::new()))

Implementations on Foreign Types§

source§

impl<A: Array> Len for ArrayVec<A>

source§

const CAPACITY: Option<usize> = _

source§

fn len(&self) -> usize

source§

fn is_full(&self) -> bool

source§

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

source§

const CAPACITY: Option<usize> = None

source§

fn len(&self) -> usize

source§

fn is_full(&self) -> bool

source§

impl<T> Len for Vec<T>

source§

const CAPACITY: Option<usize> = None

source§

fn len(&self) -> usize

source§

fn is_full(&self) -> bool

source§

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

source§

const CAPACITY: Option<usize> = None

source§

fn len(&self) -> usize

source§

fn is_full(&self) -> bool

Implementors§