summary refs log tree commit diff
path: root/src/libcore/iter-trait/dvec.rs
blob: f03f1a154e4dd84205cb53ba2a92857d8dde42b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#[allow(non_camel_case_types)]
pub type IMPL_T<A> = dvec::DVec<A>;

/**
 * Iterates through the current contents.
 *
 * Attempts to access this dvec during iteration will fail.
 */
pub pure fn EACH<A>(self: &IMPL_T<A>, f: fn(v: &A) -> bool) {
    unsafe {
        do self.swap |v| {
            v.each(f);
            move v
        }
    }
}

pub pure fn SIZE_HINT<A>(self: &IMPL_T<A>) -> Option<uint> {
    Some(self.len())
}