std: move the hash docstring over to std::hash.
This commit is contained in:
parent
c1ff089c27
commit
d90b71cff6
@ -8,7 +8,58 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
//! Generic hashing support.
|
||||
/*!
|
||||
* Generic hashing support.
|
||||
*
|
||||
* This module provides a generic way to compute the hash of a value. The
|
||||
* simplest way to make a type hashable is to use `#[deriving(Hash)]`:
|
||||
*
|
||||
* # Example
|
||||
*
|
||||
* ```rust
|
||||
* use std::hash;
|
||||
* use std::hash::Hash;
|
||||
*
|
||||
* #[deriving(Hash)]
|
||||
* struct Person {
|
||||
* id: uint,
|
||||
* name: String,
|
||||
* phone: u64,
|
||||
* }
|
||||
*
|
||||
* let person1 = Person { id: 5, name: "Janet".to_string(), phone: 555_666_7777 };
|
||||
* let person2 = Person { id: 5, name: "Bob".to_string(), phone: 555_666_7777 };
|
||||
*
|
||||
* assert!(hash::hash(&person1) != hash::hash(&person2));
|
||||
* ```
|
||||
*
|
||||
* If you need more control over how a value is hashed, you need to implement
|
||||
* the trait `Hash`:
|
||||
*
|
||||
* ```rust
|
||||
* use std::hash;
|
||||
* use std::hash::Hash;
|
||||
* use std::hash::sip::SipState;
|
||||
*
|
||||
* struct Person {
|
||||
* id: uint,
|
||||
* name: String,
|
||||
* phone: u64,
|
||||
* }
|
||||
*
|
||||
* impl Hash for Person {
|
||||
* fn hash(&self, state: &mut SipState) {
|
||||
* self.id.hash(state);
|
||||
* self.phone.hash(state);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* let person1 = Person { id: 5, name: "Janet".to_string(), phone: 555_666_7777 };
|
||||
* let person2 = Person { id: 5, name: "Bob".to_string(), phone: 555_666_7777 };
|
||||
*
|
||||
* assert!(hash::hash(&person1) == hash::hash(&person2));
|
||||
* ```
|
||||
*/
|
||||
|
||||
pub use core_collections::hash::{Hash, Hasher, Writer, hash, sip};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user