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
|
||||
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());
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue