Trait Reserve

Source
pub trait Reserve
where Self: Default,
{ // Provided method fn reserve(_: usize) -> Self { ... } }
Expand description

Create a data structure and reserve some amount of space for it to grow into

§Examples

  • Vec is Reserve, and invokes Vec::with_capacity
  • tinyvec::ArrayVec is Reserve and invokes Default::default() because creating an ArrayVec automatically allocates the required space on the stack.

Provided Methods§

Source

fn reserve(_: usize) -> Self

Create an instance of the collection with a given capacity.

Used to reserve some contiguous space, e.g. Vec::with_capacity

The default implementation invokes Default::default

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

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

Source§

impl<T> Reserve for Vec<T>

Source§

fn reserve(n: usize) -> Self

Implementors§