Mercurial > octave-nkf
diff src/oct-obj.cc @ 2872:6285237ed3b9
[project @ 1997-04-19 01:30:58 by jwe]
author | jwe |
---|---|
date | Sat, 19 Apr 1997 01:30:58 +0000 |
parents | 8b262e771614 |
children | b9e64477f703 |
line wrap: on
line diff
--- a/src/oct-obj.cc Sat Apr 19 01:26:39 1997 +0000 +++ b/src/oct-obj.cc Sat Apr 19 01:30:58 1997 +0000 @@ -31,8 +31,67 @@ #include "error.h" #include "oct-obj.h" -int -octave_value_list::all_strings (void) const +octave_value_list& +octave_value_list::prepend (const octave_value& val) +{ + int n = length (); + + resize (n + 1); + + while (n > 0) + { + elem (n) = elem (n - 1); + n--; + } + + elem (0) = val; + + return *this; +} + +octave_value_list& +octave_value_list::append (const octave_value& val) +{ + int n = length (); + + resize (n + 1); + + elem (n) = val; + + return *this; +} + +octave_value_list& +octave_value_list::append (const octave_value_list& lst) +{ + int len = length (); + int lst_len = lst.length (); + + resize (len + lst_len); + + for (int i = 0; i < lst_len; i++) + elem (len + i) = lst (i); + + return *this; +} + +octave_value_list& +octave_value_list::reverse (void) +{ + int n = length (); + + for (int i = 0; i < n / 2; i++) + { + octave_value tmp = elem (i); + elem (i) = elem (n - i - 1); + elem (n - i - 1) = tmp; + } + + return *this; +} + +bool +octave_value_list::all_strings_p (void) const { int n = length (); @@ -48,7 +107,7 @@ { string_vector argv; - if (all_strings ()) + if (all_strings_p ()) { int n = length (); argv.resize (n+1);