std: Use do
blocks instead of for
with .iter_bytes()
This commit is contained in:
parent
18d124b9b5
commit
6d7a0c8cbc
2 changed files with 49 additions and 33 deletions
|
@ -85,9 +85,10 @@ impl<A:IterBytes> Hash for A {
|
|||
#[inline]
|
||||
fn hash_keyed(&self, k0: u64, k1: u64) -> u64 {
|
||||
let mut s = State::new(k0, k1);
|
||||
for self.iter_bytes(true) |bytes| {
|
||||
do self.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
true
|
||||
};
|
||||
s.result_u64()
|
||||
}
|
||||
}
|
||||
|
@ -95,12 +96,14 @@ impl<A:IterBytes> Hash for A {
|
|||
fn hash_keyed_2<A: IterBytes,
|
||||
B: IterBytes>(a: &A, b: &B, k0: u64, k1: u64) -> u64 {
|
||||
let mut s = State::new(k0, k1);
|
||||
for a.iter_bytes(true) |bytes| {
|
||||
do a.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for b.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do b.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
true
|
||||
};
|
||||
s.result_u64()
|
||||
}
|
||||
|
||||
|
@ -108,15 +111,18 @@ fn hash_keyed_3<A: IterBytes,
|
|||
B: IterBytes,
|
||||
C: IterBytes>(a: &A, b: &B, c: &C, k0: u64, k1: u64) -> u64 {
|
||||
let mut s = State::new(k0, k1);
|
||||
for a.iter_bytes(true) |bytes| {
|
||||
do a.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for b.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do b.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for c.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do c.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
true
|
||||
};
|
||||
s.result_u64()
|
||||
}
|
||||
|
||||
|
@ -132,18 +138,22 @@ fn hash_keyed_4<A: IterBytes,
|
|||
k1: u64)
|
||||
-> u64 {
|
||||
let mut s = State::new(k0, k1);
|
||||
for a.iter_bytes(true) |bytes| {
|
||||
do a.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for b.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do b.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for c.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do c.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for d.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do d.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
true
|
||||
};
|
||||
s.result_u64()
|
||||
}
|
||||
|
||||
|
@ -161,21 +171,26 @@ fn hash_keyed_5<A: IterBytes,
|
|||
k1: u64)
|
||||
-> u64 {
|
||||
let mut s = State::new(k0, k1);
|
||||
for a.iter_bytes(true) |bytes| {
|
||||
do a.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for b.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do b.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for c.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do c.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for d.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do d.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
for e.iter_bytes(true) |bytes| {
|
||||
true
|
||||
};
|
||||
do e.iter_bytes(true) |bytes| {
|
||||
s.input(bytes);
|
||||
}
|
||||
true
|
||||
};
|
||||
s.result_u64()
|
||||
}
|
||||
|
||||
|
|
|
@ -353,9 +353,10 @@ pub trait ToBytes {
|
|||
impl<A:IterBytes> ToBytes for A {
|
||||
fn to_bytes(&self, lsb0: bool) -> ~[u8] {
|
||||
do io::with_bytes_writer |wr| {
|
||||
for self.iter_bytes(lsb0) |bytes| {
|
||||
wr.write(bytes)
|
||||
}
|
||||
do self.iter_bytes(lsb0) |bytes| {
|
||||
wr.write(bytes);
|
||||
true
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue