Skip to content

Commit 4cdeba3

Browse files
committed
Add .extract() for extracting underlying Vec
1 parent cbb9122 commit 4cdeba3

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

‎src/array.rs‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@ impl<T> Array<T>{
144144
pubfniter_mut<'a>(&'amutself) -> IterMut<'a,T>{
145145
IterMut{inner:self.data.iter_mut()}
146146
}
147+
148+
/// Returns the underlying data vector for this Array in the
149+
/// higher-dimensional equivalent of row-major order.
150+
pubfnextract(self) -> Vec<T>{
151+
self.data
152+
}
147153
}
148154

149155
/// A trait implemented by types that can index into an `Array`.

‎src/lib.rs‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ mod tests{
4848
assert_eq!(2, a[1]);
4949
}
5050

51+
#[test]
52+
fntest_extract(){
53+
let a = Array::from_vec(vec![0i32,1,2], -1);
54+
let a = a.extract();
55+
assert_eq!(a.len(),3);
56+
assert_eq!(0, a[0]);
57+
assert_eq!(1, a[1]);
58+
assert_eq!(2, a[2]);
59+
}
60+
5161
#[test]
5262
fntest_2d_slice_get(){
5363
letmut a = Array::from_vec(vec![0i32,1,2], -1);

0 commit comments

Comments
(0)