1
Fork 0

A couple of fixes to vec_ng docs

This commit is contained in:
Steven Fackler 2014-03-19 23:01:08 -07:00 committed by Daniel Micay
parent 14f656d1a7
commit cdab8a76f4

View file

@ -7,7 +7,7 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
//! A growable, owned vector //! An owned, growable vector.
use cast::{forget, transmute}; use cast::{forget, transmute};
use clone::Clone; use clone::Clone;
@ -30,18 +30,29 @@ use raw::Slice;
use slice::{ImmutableEqVector, ImmutableVector, Items, MutItems, MutableVector}; use slice::{ImmutableEqVector, ImmutableVector, Items, MutItems, MutableVector};
use slice::{MutableTotalOrdVector}; use slice::{MutableTotalOrdVector};
/// An owned, growable vector /// An owned, growable vector.
/// ///
/// `Vec<T>` is the replacement for the deprecated `~[T]` type. The API is /// # Examples
/// largely the same. The `vec!` macro is provided to make initialization
/// easier.
/// ///
/// # Example /// ```rust
/// # use std::vec::Vec;
/// let mut vec = Vec::new();
/// vec.push(1);
/// vec.push(2);
///
/// assert_eq!(vec.len(), 2);
/// assert_eq!(vec.get(0), &1);
///
/// assert_eq!(vec.pop(), Some(2));
/// assert_eq!(vec.len(), 1);
/// ```
///
/// The `vec!` macro is provided to make initialization more convenient:
/// ///
/// ```rust /// ```rust
/// let mut vec = vec!(1, 2, 3); /// let mut vec = vec!(1, 2, 3);
/// vec.push(4); /// vec.push(4);
/// println!("{}", vec); // prints [1, 2, 3, 4] /// assert_eq!(vec, vec!(1, 2, 3, 4));
/// ``` /// ```
#[unsafe_no_drop_flag] #[unsafe_no_drop_flag]
pub struct Vec<T> { pub struct Vec<T> {
@ -87,7 +98,6 @@ impl<T> Vec<T> {
} }
} }
/// Creates and initializes a `Vec`. /// Creates and initializes a `Vec`.
/// ///
/// Creates a `Vec` of size `length` and initializes the elements to the /// Creates a `Vec` of size `length` and initializes the elements to the
@ -767,13 +777,13 @@ impl<T> Vec<T> {
/// ///
/// # Example /// # Example
/// ```rust /// ```rust
/// let mut v = ~[~"foo", ~"bar", ~"baz", ~"qux"]; /// let mut v = vec!(~"foo", ~"bar", ~"baz", ~"qux");
/// ///
/// assert_eq!(v.swap_remove(1), Some(~"bar")); /// assert_eq!(v.swap_remove(1), Some(~"bar"));
/// assert_eq!(v, ~[~"foo", ~"qux", ~"baz"]); /// assert_eq!(v, vec!(~"foo", ~"qux", ~"baz"));
/// ///
/// assert_eq!(v.swap_remove(0), Some(~"foo")); /// assert_eq!(v.swap_remove(0), Some(~"foo"));
/// assert_eq!(v, ~[~"baz", ~"qux"]); /// assert_eq!(v, vec!(~"baz", ~"qux"));
/// ///
/// assert_eq!(v.swap_remove(2), None); /// assert_eq!(v.swap_remove(2), None);
/// ``` /// ```
@ -869,13 +879,13 @@ impl<T> Vec<T> {
/// # Example /// # Example
/// ///
/// ```rust /// ```rust
/// let mut v = ~[1, 2, 3]; /// let mut v = vec!(1, 2, 3);
/// assert_eq!(v.remove(1), Some(2)); /// assert_eq!(v.remove(1), Some(2));
/// assert_eq!(v, ~[1, 3]); /// assert_eq!(v, vec!(1, 3));
/// ///
/// assert_eq!(v.remove(4), None); /// assert_eq!(v.remove(4), None);
/// // v is unchanged: /// // v is unchanged:
/// assert_eq!(v, ~[1, 3]); /// assert_eq!(v, vec!(1, 3));
/// ``` /// ```
pub fn remove(&mut self, index: uint) -> Option<T> { pub fn remove(&mut self, index: uint) -> Option<T> {
let len = self.len(); let len = self.len();