Mercurial > octave
diff src/ov-base.cc @ 10742:604e13a89c7f
initial code for structs rewrite
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 22 Jun 2010 15:22:36 +0200 |
parents | 654fbde5dceb |
children | 8a868004a437 |
line wrap: on
line diff
--- a/src/ov-base.cc Mon Jun 21 22:35:11 2010 -0700 +++ b/src/ov-base.cc Tue Jun 22 15:22:36 2010 +0200 @@ -885,14 +885,36 @@ return retval; } -Octave_map +octave_map octave_base_value::map_value (void) const { - Octave_map retval; + octave_map retval; gripe_wrong_type_arg ("octave_base_value::map_value()", type_name ()); return retval; } +octave_scalar_map +octave_base_value::scalar_map_value (void) const +{ + octave_map tmp = map_value (); + + if (tmp.numel () == 1) + return tmp.checkelem (0); + else + { + if (! error_state) + error ("invalid conversion of multidimensional struct to scalar struct"); + + return octave_scalar_map (); + } +} + +Octave_map +octave_base_value::old_map_value (void) const +{ + return map_value (); +} + string_vector octave_base_value::map_keys (void) const {