diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-10-29 17:23:58 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-10-29 18:14:08 -0700 |
| commit | 2e0593d9999a50c74ea2962e53b8f5686037fd36 (patch) | |
| tree | 3dea3cf2263d855333880d85df6fd01f2c66dd3e /src/lib | |
| parent | da064ef884994df1889d6a083349fb0bf6954400 (diff) | |
stdlib: Add vec::concat to concatenate a vector of vectors
Compare to str::concat
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/vec.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/vec.rs b/src/lib/vec.rs index 548afaa73bc..f459a75270a 100644 --- a/src/lib/vec.rs +++ b/src/lib/vec.rs @@ -447,6 +447,19 @@ fn filter<T>(f: block(T) -> bool, v: [mutable? T]) -> [T] { } /* +Function: concat + +Concatenate a vector of vectors. Flattens a vector of vectors of T into +a single vector of T. +*/ +fn concat<T>(v: [mutable? [mutable? T]]) -> [T] { + // FIXME: So much copying + let new: [T] = []; + for inner: [T] in v { new += inner; } + ret new; +} + +/* Function: foldl Reduce a vector from left to right |
