Mercurial > hg > octave-nkf
comparison src/ov-class.h @ 10768:8a868004a437
use octave_map for octave_class
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 07 Jul 2010 10:57:52 +0200 |
parents | 604e13a89c7f |
children | f687bd17ce21 |
comparison
equal
deleted
inserted
replaced
10767:2b041d3995a3 | 10768:8a868004a437 |
---|---|
50 public: | 50 public: |
51 | 51 |
52 octave_class (void) | 52 octave_class (void) |
53 : octave_base_value (), obsolete_copies (0) { } | 53 : octave_base_value (), obsolete_copies (0) { } |
54 | 54 |
55 octave_class (const Octave_map& m, const std::string& id) | 55 octave_class (const octave_map& m, const std::string& id) |
56 : octave_base_value (), map (m), c_name (id), obsolete_copies (0) { } | 56 : octave_base_value (), map (m), c_name (id), obsolete_copies (0) { } |
57 | 57 |
58 octave_class (const octave_class& s) | 58 octave_class (const octave_class& s) |
59 : octave_base_value (s), map (s.map), c_name (s.c_name), | 59 : octave_base_value (s), map (s.map), c_name (s.c_name), |
60 parent_list (s.parent_list), obsolete_copies (0) { } | 60 parent_list (s.parent_list), obsolete_copies (0) { } |
61 | 61 |
62 octave_class (const Octave_map& m, const std::string& id, | 62 octave_class (const octave_map& m, const std::string& id, |
63 const octave_value_list& parents); | 63 const octave_value_list& parents); |
64 | 64 |
65 ~octave_class (void) { } | 65 ~octave_class (void) { } |
66 | 66 |
67 octave_base_value *clone (void) const { return new octave_class (*this); } | 67 octave_base_value *clone (void) const { return new octave_class (*this); } |
68 | 68 |
69 octave_base_value *unique_clone (void); | 69 octave_base_value *unique_clone (void); |
70 | 70 |
71 octave_base_value *empty_clone (void) const | 71 octave_base_value *empty_clone (void) const |
72 { | 72 { |
73 return new octave_class (Octave_map (map.keys ()), class_name ()); | 73 return new octave_class (octave_map (map.keys ()), class_name ()); |
74 } | 74 } |
75 | 75 |
76 Cell dotref (const octave_value_list& idx); | 76 Cell dotref (const octave_value_list& idx); |
77 | 77 |
78 Matrix size (void); | 78 Matrix size (void); |
120 | 120 |
121 octave_value reshape (const dim_vector& new_dims) const | 121 octave_value reshape (const dim_vector& new_dims) const |
122 { return map.reshape (new_dims); } | 122 { return map.reshape (new_dims); } |
123 | 123 |
124 octave_value resize (const dim_vector& dv, bool = false) const | 124 octave_value resize (const dim_vector& dv, bool = false) const |
125 { Octave_map tmap = map; tmap.resize (dv); return tmap; } | 125 { octave_map tmap = map; tmap.resize (dv); return tmap; } |
126 | 126 |
127 bool is_defined (void) const { return true; } | 127 bool is_defined (void) const { return true; } |
128 | 128 |
129 bool is_map (void) const { return false; } | 129 bool is_map (void) const { return false; } |
130 | 130 |
131 bool is_object (void) const { return true; } | 131 bool is_object (void) const { return true; } |
132 | 132 |
133 octave_map map_value (void) const { return map; } | 133 octave_map map_value (void) const { return map; } |
134 | |
135 Octave_map old_map_value (void) const { return map; } | |
136 | 134 |
137 string_vector map_keys (void) const; | 135 string_vector map_keys (void) const; |
138 | 136 |
139 std::list<std::string> parent_class_name_list (void) const | 137 std::list<std::string> parent_class_name_list (void) const |
140 { return parent_list; } | 138 { return parent_list; } |
178 | 176 |
179 mxArray *as_mxArray (void) const; | 177 mxArray *as_mxArray (void) const; |
180 | 178 |
181 private: | 179 private: |
182 | 180 |
183 Octave_map map; | 181 octave_map map; |
184 | 182 |
185 DECLARE_OCTAVE_ALLOCATOR | 183 DECLARE_OCTAVE_ALLOCATOR |
186 | 184 |
187 public: | 185 public: |
188 int type_id (void) const { return t_id; } | 186 int type_id (void) const { return t_id; } |