Skip to content

Commit

Permalink
Add SmallVec::append method
Browse files Browse the repository at this point in the history
Fixes #236.
  • Loading branch information
mbrubeck committed Oct 21, 2020
1 parent caea701 commit 592fc5a
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/lib.rs
Expand Up @@ -771,6 +771,24 @@ impl<A: Array> SmallVec<A> {
}
}

/// Moves all the elements of `other` into `self`, leaving `other` empty.
///
/// # Example
///
/// ```
/// # use smallvec::{SmallVec, smallvec};
/// let mut v0: SmallVec<[u8; 16]> = smallvec![1, 2, 3];
/// let mut v1: SmallVec<[u8; 32]> = smallvec![4, 5, 6];
/// v0.append(&mut v1);
/// assert_eq!(*v0, [1, 2, 3, 4, 5, 6]);
/// assert_eq!(*v1, []);
/// ```
pub fn append<B>(&mut self, other: &mut SmallVec<B>)
where B: Array<Item = A::Item>
{
self.extend(other.drain(..))
}

/// Re-allocate to set the capacity to `max(new_cap, inline_size())`.
///
/// Panics if `new_cap` is less than the vector's length
Expand Down

0 comments on commit 592fc5a

Please sign in to comment.