aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/deque.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/deque.rs b/src/lib/deque.rs
index 699b3f0d..24a03ed0 100644
--- a/src/lib/deque.rs
+++ b/src/lib/deque.rs
@@ -17,6 +17,8 @@ type t[T] = obj {
fn peek_front() -> T;
fn peek_back() -> T;
+
+ fn get(int i) -> T;
};
fn create[T]() -> t[T] {
@@ -128,6 +130,11 @@ fn create[T]() -> t[T] {
fn peek_back() -> T {
ret get[T](elts, hi);
}
+
+ fn get(int i) -> T {
+ let uint idx = (lo + (i as uint)) % _vec.len[cell[T]](elts);
+ ret get[T](elts, idx);
+ }
}
let vec[cell[T]] v = _vec.init_elt[cell[T]](util.none[T](),