Adding an initial description to vec.rs.
Let's explain more of what this module is about, not just 'vectors.'
This commit is contained in:
parent
2830d7d013
commit
538fbc38c9
1 changed files with 47 additions and 1 deletions
|
@ -8,7 +8,53 @@
|
||||||
// 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.
|
||||||
|
|
||||||
//! Vectors
|
/*!
|
||||||
|
|
||||||
|
The `vec` module contains useful code to help work with vector values. Vectors are Rust's list
|
||||||
|
type. Vectors contain zero or more values of homogeneous types:
|
||||||
|
|
||||||
|
~~~ {.rust}
|
||||||
|
let int_vector = [1,2,3];
|
||||||
|
let str_vector = ["one", "two", "three"];
|
||||||
|
~~~
|
||||||
|
|
||||||
|
This is a big module, but for a high-level overview:
|
||||||
|
|
||||||
|
## Structs
|
||||||
|
|
||||||
|
Several structs that are useful for vectors, such as `VecIterator`, which
|
||||||
|
represents iteration over a vector.
|
||||||
|
|
||||||
|
## Traits
|
||||||
|
|
||||||
|
A number of traits that allow you to accomplish tasks with vectors, like the
|
||||||
|
`MutableVector` and `ImmutableVector` traits.
|
||||||
|
|
||||||
|
## Implementations of other traits
|
||||||
|
|
||||||
|
Vectors are a very useful type, and so there's tons of implementations of
|
||||||
|
traits found elsewhere. Some notable examples:
|
||||||
|
|
||||||
|
* `Clone`
|
||||||
|
* `Iterator`
|
||||||
|
* `Zero`
|
||||||
|
|
||||||
|
## Function definitions
|
||||||
|
|
||||||
|
There are a number of different functions that take vectors, here are some
|
||||||
|
broad categories:
|
||||||
|
|
||||||
|
* Modifying a vector, like `append` and `grow`.
|
||||||
|
* Searching in a vector, like `bsearch`.
|
||||||
|
* Iterating over vectors, like `each_permutation`.
|
||||||
|
* Functional transformations on vectors, like `map` and `partition`.
|
||||||
|
* Stack/queue operations, like `push`/`pop` and `shift`/`unshift`.
|
||||||
|
* Cons-y operations, like `head` and `tail`.
|
||||||
|
* Zipper operations, like `zip` and `unzip`.
|
||||||
|
|
||||||
|
And much, much more.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
#[warn(non_camel_case_types)];
|
#[warn(non_camel_case_types)];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue