vec: remove each_const
An Iterator implementation can be made for &const [T] if it turns out to be necessary for some use case.
This commit is contained in:
parent
77ae7ec8d8
commit
62dc4e0d4c
2 changed files with 4 additions and 19 deletions
|
@ -36,7 +36,7 @@ use core::vec;
|
||||||
/// The SHA-1 interface
|
/// The SHA-1 interface
|
||||||
trait Sha1 {
|
trait Sha1 {
|
||||||
/// Provide message input as bytes
|
/// Provide message input as bytes
|
||||||
fn input(&mut self, &const [u8]);
|
fn input(&mut self, &[u8]);
|
||||||
/// Provide message input as string
|
/// Provide message input as string
|
||||||
fn input_str(&mut self, &str);
|
fn input_str(&mut self, &str);
|
||||||
/**
|
/**
|
||||||
|
@ -74,9 +74,9 @@ pub fn sha1() -> @Sha1 {
|
||||||
computed: bool,
|
computed: bool,
|
||||||
work_buf: @mut ~[u32]};
|
work_buf: @mut ~[u32]};
|
||||||
|
|
||||||
fn add_input(st: &mut Sha1State, msg: &const [u8]) {
|
fn add_input(st: &mut Sha1State, msg: &[u8]) {
|
||||||
assert!((!st.computed));
|
assert!((!st.computed));
|
||||||
for vec::each_const(msg) |element| {
|
for msg.iter().advance |element| {
|
||||||
st.msg_block[st.msg_block_idx] = *element;
|
st.msg_block[st.msg_block_idx] = *element;
|
||||||
st.msg_block_idx += 1u;
|
st.msg_block_idx += 1u;
|
||||||
st.len_low += 8u32;
|
st.len_low += 8u32;
|
||||||
|
@ -242,7 +242,7 @@ pub fn sha1() -> @Sha1 {
|
||||||
self.h[4] = 0xC3D2E1F0u32;
|
self.h[4] = 0xC3D2E1F0u32;
|
||||||
self.computed = false;
|
self.computed = false;
|
||||||
}
|
}
|
||||||
fn input(&mut self, msg: &const [u8]) { add_input(self, msg); }
|
fn input(&mut self, msg: &[u8]) { add_input(self, msg); }
|
||||||
fn input_str(&mut self, msg: &str) {
|
fn input_str(&mut self, msg: &str) {
|
||||||
add_input(self, msg.as_bytes());
|
add_input(self, msg.as_bytes());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1427,21 +1427,6 @@ pub fn each<'r,T>(v: &'r [T], f: &fn(&'r T) -> bool) -> bool {
|
||||||
return !broke;
|
return !broke;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Like `each()`, but for the case where you have a vector that *may or may
|
|
||||||
/// not* have mutable contents.
|
|
||||||
#[inline]
|
|
||||||
pub fn each_const<T>(v: &const [T], f: &fn(elem: &const T) -> bool) -> bool {
|
|
||||||
let mut i = 0;
|
|
||||||
let n = v.len();
|
|
||||||
while i < n {
|
|
||||||
if !f(&const v[i]) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Iterates over a vector's elements and indices
|
* Iterates over a vector's elements and indices
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue