1
Fork 0

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:
Daniel Micay 2013-06-17 16:32:06 -04:00
parent 77ae7ec8d8
commit 62dc4e0d4c
2 changed files with 4 additions and 19 deletions

View file

@ -36,7 +36,7 @@ use core::vec;
/// The SHA-1 interface
trait Sha1 {
/// Provide message input as bytes
fn input(&mut self, &const [u8]);
fn input(&mut self, &[u8]);
/// Provide message input as string
fn input_str(&mut self, &str);
/**
@ -74,9 +74,9 @@ pub fn sha1() -> @Sha1 {
computed: bool,
work_buf: @mut ~[u32]};
fn add_input(st: &mut Sha1State, msg: &const [u8]) {
fn add_input(st: &mut Sha1State, msg: &[u8]) {
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_idx += 1u;
st.len_low += 8u32;
@ -242,7 +242,7 @@ pub fn sha1() -> @Sha1 {
self.h[4] = 0xC3D2E1F0u32;
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) {
add_input(self, msg.as_bytes());
}

View file

@ -1427,21 +1427,6 @@ pub fn each<'r,T>(v: &'r [T], f: &fn(&'r T) -> bool) -> bool {
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
*