Mercurial > hg > octave-lyh
diff src/oct-map.h @ 4561:e84592dc70b9
[project @ 2003-10-28 21:07:59 by jwe]
author | jwe |
---|---|
date | Tue, 28 Oct 2003 21:07:59 +0000 (2003-10-28) |
parents | 508238e65af7 |
children | fc30061d01da |
line wrap: on
line diff
--- a/src/oct-map.h +++ b/src/oct-map.h @@ -42,36 +42,30 @@ typedef std::map<std::string, Cell>::iterator iterator; typedef std::map<std::string, Cell>::const_iterator const_iterator; - Octave_map (void) : map (), array_len (0) { } + Octave_map (void) : map (), dimensions (0, 0) { } Octave_map (const std::string& key, const octave_value& value) - : map (), array_len (1) - { - map[key] = Cell (value); - } + : map (), dimensions (1, 1) + { map[key] = Cell (value); } Octave_map (const std::string& key, const Cell& vals) - : map (), array_len (vals.length ()) - { - map[key] = vals; - } + : map (), dimensions (vals.dims ()) + { map[key] = vals; } Octave_map (const std::string& key, const octave_value_list& val_list) - : map (), array_len (val_list.length ()) - { - map[key] = val_list; - } + : map (), dimensions (1, val_list.length ()) + { map[key] = val_list; } - Octave_map (const Octave_map& m) - : map (m.map), array_len (m.array_len) { } + Octave_map (const Octave_map& m) : map (m.map), dimensions (m.dimensions) { } Octave_map& operator = (const Octave_map& m) { if (this != &m) { map = m.map; - array_len = m.array_len; + dimensions = m.dimensions; } + return *this; } @@ -116,11 +110,13 @@ string_vector keys (void) const; - int rows (void) const { return 1; } + int rows (void) const { return dimensions(0); } + + int columns (void) const { return dimensions(1); } - int columns (void) const { return array_length (); } + dim_vector dims (void) const { return dimensions; } - int array_length (void) const; + int numel (void) const; Octave_map& assign (const octave_value_list& idx, const Octave_map& rhs); @@ -136,8 +132,8 @@ // The map of names to values. std::map<std::string, Cell> map; - // The current size of this struct array; - mutable int array_len; + // The current size. + mutable dim_vector dimensions; }; #endif