Mercurial > hg > octave-lyh
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, |