From d6b7c96c3eb29b9244ece0c046d3f372ff432d04 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Wed, 23 Jun 2010 21:03:09 -0700 Subject: Populate tree. --- src/lib/_vec.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/lib/_vec.rs (limited to 'src/lib/_vec.rs') diff --git a/src/lib/_vec.rs b/src/lib/_vec.rs new file mode 100644 index 00000000..c938e6fb --- /dev/null +++ b/src/lib/_vec.rs @@ -0,0 +1,30 @@ +import vbuf = rustrt.vbuf; + +native "rust" mod rustrt { + type vbuf; + fn vec_buf[T](vec[T] v) -> vbuf; + fn vec_len[T](vec[T] v) -> uint; + fn vec_alloc[T](int n_elts) -> vec[T]; +} + +fn alloc[T](int n_elts) -> vec[T] { + ret rustrt.vec_alloc[T](n_elts); +} + +fn init[T](&T t, int n_elts) -> vec[T] { + let vec[T] v = alloc[T](n_elts); + let int i = n_elts; + while (i > 0) { + i -= 1; + v += vec(t); + } + ret v; +} + +fn len[T](vec[T] v) -> uint { + ret rustrt.vec_len[T](v); +} + +fn buf[T](vec[T] v) -> vbuf { + ret rustrt.vec_buf[T](v); +} -- cgit v1.2.3