comparison src/ov-struct.h @ 8551:906f976d35a8

further improve struct&cell indexing & indexed assignment
author Jaroslav Hajek <highegg@gmail.com>
date Wed, 21 Jan 2009 13:02:49 +0100
parents 3d8a914c580e
children eb63fbe60fab
comparison
equal deleted inserted replaced
8550:1cb63ac13934 8551:906f976d35a8
61 ~octave_struct (void) { } 61 ~octave_struct (void) { }
62 62
63 octave_base_value *clone (void) const { return new octave_struct (*this); } 63 octave_base_value *clone (void) const { return new octave_struct (*this); }
64 octave_base_value *empty_clone (void) const { return new octave_struct (); } 64 octave_base_value *empty_clone (void) const { return new octave_struct (); }
65 65
66 Cell dotref (const octave_value_list& idx); 66 Cell dotref (const octave_value_list& idx, bool auto_add = false);
67 67
68 octave_value subsref (const std::string& type, 68 octave_value subsref (const std::string& type,
69 const std::list<octave_value_list>& idx) 69 const std::list<octave_value_list>& idx)
70 { 70 {
71 octave_value_list tmp = subsref (type, idx, 1); 71 octave_value_list tmp = subsref (type, idx, 1);
72 return tmp.length () > 0 ? tmp(0) : octave_value (); 72 return tmp.length () > 0 ? tmp(0) : octave_value ();
73 } 73 }
74 74
75 octave_value_list subsref (const std::string&, 75 octave_value_list subsref (const std::string&,
76 const std::list<octave_value_list>&, int); 76 const std::list<octave_value_list>&, int);
77
78 octave_value subsref (const std::string& type,
79 const std::list<octave_value_list>& idx,
80 bool auto_add);
77 81
78 static octave_value numeric_conv (const octave_value& val, 82 static octave_value numeric_conv (const octave_value& val,
79 const std::string& type); 83 const std::string& type);
80 84
81 octave_value subsasgn (const std::string& type, 85 octave_value subsasgn (const std::string& type,