File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed
Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -144,6 +144,12 @@ impl<T> Array<T>{
144144pub fn iter_mut < ' a > ( & ' a mut self ) -> IterMut < ' a , T > {
145145IterMut { 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+ pub fn extract ( self ) -> Vec < T > {
151+ self . data
152+ }
147153}
148154
149155/// A trait implemented by types that can index into an `Array`.
Original file line number Diff line number Diff line change @@ -48,6 +48,16 @@ mod tests{
4848assert_eq ! ( 2 , a[ 1 ] ) ;
4949}
5050
51+ #[ test]
52+ fn test_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]
5262fn test_2d_slice_get ( ) {
5363let mut a = Array :: from_vec ( vec ! [ 0i32 , 1 , 2 ] , -1 ) ;
You can’t perform that action at this time.
0 commit comments