Skip to content

Commit 705d92d

Browse files
Rollup merge of rust-lang#34855 - GuillaumeGomez:vec_deque_doc, r=steveklabnik
Add examples for VecDeque Part of rust-lang#29348. r? @steveklabnik
2 parents a168e30 + 42326ec commit 705d92d

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

src/libcollections/vec_deque.rs

+71-1
Original file line numberDiff line numberDiff line change
@@ -365,12 +365,28 @@ impl<T> VecDeque<T> {
365365

366366
impl<T> VecDeque<T> {
367367
/// Creates an empty `VecDeque`.
368+
///
369+
/// # Examples
370+
///
371+
/// ```
372+
/// use std::collections::VecDeque;
373+
///
374+
/// let vector: VecDeque<u32> = VecDeque::new();
375+
/// ```
368376
#[stable(feature = "rust1", since = "1.0.0")]
369377
pub fn new() -> VecDeque<T> {
370378
VecDeque::with_capacity(INITIAL_CAPACITY)
371379
}
372380

373381
/// Creates an empty `VecDeque` with space for at least `n` elements.
382+
///
383+
/// # Examples
384+
///
385+
/// ```
386+
/// use std::collections::VecDeque;
387+
///
388+
/// let vector: VecDeque<u32> = VecDeque::with_capacity(10);
389+
/// ```
374390
#[stable(feature = "rust1", since = "1.0.0")]
375391
pub fn with_capacity(n: usize) -> VecDeque<T> {
376392
// +1 since the ringbuffer always leaves one space empty
@@ -696,6 +712,25 @@ impl<T> VecDeque<T> {
696712

697713
/// Returns a pair of slices which contain, in order, the contents of the
698714
/// `VecDeque`.
715+
///
716+
/// # Examples
717+
///
718+
/// ```
719+
/// use std::collections::VecDeque;
720+
///
721+
/// let mut vector: VecDeque<u32> = VecDeque::new();
722+
///
723+
/// vector.push_back(0);
724+
/// vector.push_back(1);
725+
/// vector.push_back(2);
726+
///
727+
/// assert_eq!(vector.as_slices(), (&[0u32, 1, 2] as &[u32], &[] as &[u32]));
728+
///
729+
/// vector.push_front(10);
730+
/// vector.push_front(9);
731+
///
732+
/// assert_eq!(vector.as_slices(), (&[9u32, 10] as &[u32], &[0u32, 1, 2] as &[u32]));
733+
/// ```
699734
#[inline]
700735
#[stable(feature = "deque_extras_15", since = "1.5.0")]
701736
pub fn as_slices(&self) -> (&[T], &[T]) {
@@ -715,6 +750,24 @@ impl<T> VecDeque<T> {
715750

716751
/// Returns a pair of slices which contain, in order, the contents of the
717752
/// `VecDeque`.
753+
///
754+
/// # Examples
755+
///
756+
/// ```
757+
/// use std::collections::VecDeque;
758+
///
759+
/// let mut vector: VecDeque<u32> = VecDeque::new();
760+
///
761+
/// vector.push_back(0);
762+
/// vector.push_back(1);
763+
///
764+
/// vector.push_front(10);
765+
/// vector.push_front(9);
766+
///
767+
/// vector.as_mut_slices().0[0] = 42;
768+
/// vector.as_mut_slices().1[0] = 24;
769+
/// assert_eq!(vector.as_slices(), (&[42u32, 10] as &[u32], &[24u32, 1] as &[u32]));
770+
/// ```
718771
#[inline]
719772
#[stable(feature = "deque_extras_15", since = "1.5.0")]
720773
pub fn as_mut_slices(&mut self) -> (&mut [T], &mut [T]) {
@@ -789,7 +842,7 @@ impl<T> VecDeque<T> {
789842
///
790843
/// ```
791844
/// use std::collections::VecDeque;
792-
845+
///
793846
/// let mut v: VecDeque<_> = vec![1, 2, 3].into_iter().collect();
794847
/// assert_eq!(vec![3].into_iter().collect::<VecDeque<_>>(), v.drain(2..).collect());
795848
/// assert_eq!(vec![1, 2].into_iter().collect::<VecDeque<_>>(), v);
@@ -875,6 +928,22 @@ impl<T> VecDeque<T> {
875928

876929
/// Returns `true` if the `VecDeque` contains an element equal to the
877930
/// given value.
931+
///
932+
/// # Examples
933+
///
934+
/// ```
935+
/// #![feature(vec_deque_contains)]
936+
///
937+
/// use std::collections::VecDeque;
938+
///
939+
/// let mut vector: VecDeque<u32> = VecDeque::new();
940+
///
941+
/// vector.push_back(0);
942+
/// vector.push_back(1);
943+
///
944+
/// assert_eq!(vector.contains(&1), true);
945+
/// assert_eq!(vector.contains(&10), false);
946+
/// ```
878947
#[unstable(feature = "vec_deque_contains", reason = "recently added",
879948
issue = "32630")]
880949
pub fn contains(&self, x: &T) -> bool
@@ -1404,6 +1473,7 @@ impl<T> VecDeque<T> {
14041473
/// Returns `None` if `index` is out of bounds.
14051474
///
14061475
/// # Examples
1476+
///
14071477
/// ```
14081478
/// use std::collections::VecDeque;
14091479
///

0 commit comments

Comments
 (0)