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; }