use octave_map for octave_class default tip
authorJaroslav Hajek <highegg@gmail.com>
Wed Jul 07 10:57:52 2010 +0200 (22 months ago)
changeset 107648a868004a437
parent 10763 2b041d3995a3
use octave_map for octave_class
src/ChangeLog
src/ov-base.cc
src/ov-base.h
src/ov-class.cc
src/ov-class.h
src/ov.cc
src/ov.h
     1.1 --- a/src/ChangeLog	Fri Jul 02 15:07:58 2010 +0200
     1.2 +++ b/src/ChangeLog	Wed Jul 07 10:57:52 2010 +0200
     1.3 @@ -1,3 +1,10 @@
     1.4 +2010-07-07  Jaroslav Hajek  <highegg@gmail.com>
     1.5 +
     1.6 +	* ov-class.h (octave_class::map): Turn to octave_map.
     1.7 +	* ov-class.cc (octave_class): Update methods.
     1.8 +	* ov-base.h, ov-base.cc (octave_base_value::old_map_value) : Remove.
     1.9 +	* ov.h, ov.cc (octave_value::old_map_value) : Remove.
    1.10 +
    1.11  2010-07-02  Jaroslav Hajek  <highegg@gmail.com>
    1.12  
    1.13  	* toplev.cc (octave_call_stack::do_backtrace): Use static
     2.1 --- a/src/ov-base.cc	Fri Jul 02 15:07:58 2010 +0200
     2.2 +++ b/src/ov-base.cc	Wed Jul 07 10:57:52 2010 +0200
     2.3 @@ -909,12 +909,6 @@
     2.4      }
     2.5  }
     2.6  
     2.7 -Octave_map
     2.8 -octave_base_value::old_map_value (void) const
     2.9 -{
    2.10 -  return map_value ();
    2.11 -}
    2.12 -
    2.13  string_vector
    2.14  octave_base_value::map_keys (void) const
    2.15  {
     3.1 --- a/src/ov-base.h	Fri Jul 02 15:07:58 2010 +0200
     3.2 +++ b/src/ov-base.h	Wed Jul 07 10:57:52 2010 +0200
     3.3 @@ -548,8 +548,6 @@
     3.4  
     3.5    virtual octave_scalar_map scalar_map_value (void) const;
     3.6  
     3.7 -  virtual Octave_map old_map_value (void) const;
     3.8 -
     3.9    virtual string_vector map_keys (void) const;
    3.10  
    3.11    virtual size_t nparents (void) const;
     4.1 --- a/src/ov-class.cc	Fri Jul 02 15:07:58 2010 +0200
     4.2 +++ b/src/ov-class.cc	Wed Jul 07 10:57:52 2010 +0200
     4.3 @@ -66,7 +66,7 @@
     4.4      (octave_class::t_name, "<unknown>", octave_value (new octave_class ()));
     4.5  }
     4.6  
     4.7 -octave_class::octave_class (const Octave_map& m, const std::string& id, 
     4.8 +octave_class::octave_class (const octave_map& m, const std::string& id, 
     4.9                              const octave_value_list& parents)
    4.10    : octave_base_value (), map (m), c_name (id), obsolete_copies (0)
    4.11  {
    4.12 @@ -231,7 +231,7 @@
    4.13              }
    4.14          }
    4.15  
    4.16 -      Octave_map m;
    4.17 +      octave_map m;
    4.18  
    4.19        m.assign ("type", type_field);
    4.20        m.assign ("subs", subs_field);
    4.21 @@ -259,15 +259,15 @@
    4.22    octave_base_value *obvp
    4.23      = method_class.empty () ? 0 : find_parent_class (method_class);
    4.24  
    4.25 -  Octave_map my_map;
    4.26 +  octave_map my_map;
    4.27  
    4.28 -  my_map = obvp ? obvp->old_map_value () : map;
    4.29 +  my_map = obvp ? obvp->map_value () : map;
    4.30  
    4.31    std::string nm = idx(0).string_value ();
    4.32  
    4.33    if (! error_state)
    4.34      {
    4.35 -      Octave_map::const_iterator p = my_map.seek (nm);
    4.36 +      octave_map::const_iterator p = my_map.seek (nm);
    4.37  
    4.38        if (p != my_map.end ())
    4.39          retval = my_map.contents (p);
    4.40 @@ -486,7 +486,7 @@
    4.41        retval = val(0);
    4.42  
    4.43        if (type.length () > 0 && type[0] == '.' && ! retval.is_map ())
    4.44 -        retval = Octave_map ();
    4.45 +        retval = octave_map ();
    4.46      }
    4.47    else
    4.48      gripe_invalid_index_for_assignment ();
    4.49 @@ -646,11 +646,11 @@
    4.50              std::string next_type = type.substr (1);
    4.51  
    4.52              Cell tmpc (1, 1);
    4.53 -            Octave_map::iterator pkey = map.seek (key);
    4.54 +            octave_map::iterator pkey = map.seek (key);
    4.55              if (pkey != map.end ())
    4.56                {
    4.57 -                pkey->second.make_unique ();
    4.58 -                tmpc = pkey->second;
    4.59 +                map.contents (pkey).make_unique ();
    4.60 +                tmpc = map.contents (pkey);
    4.61                }
    4.62  
    4.63              // FIXME: better code reuse?
    4.64 @@ -721,7 +721,7 @@
    4.65                {
    4.66                  if (t_rhs.is_object () || t_rhs.is_map ())
    4.67                    {
    4.68 -                    Octave_map rhs_map = t_rhs.old_map_value ();
    4.69 +                    octave_map rhs_map = t_rhs.map_value ();
    4.70  
    4.71                      if (! error_state)
    4.72                        {
    4.73 @@ -742,7 +742,7 @@
    4.74                    {
    4.75                      if (t_rhs.is_empty ())
    4.76                        {
    4.77 -                        map.maybe_delete_elements (idx.front());
    4.78 +                        map.delete_elements (idx.front());
    4.79  
    4.80                          if (! error_state)
    4.81                            {
    4.82 @@ -851,7 +851,7 @@
    4.83  
    4.84    size_t retval = 0;
    4.85  
    4.86 -  for (Octave_map::const_iterator p = map.begin (); p != map.end (); p++)
    4.87 +  for (octave_map::const_iterator p = map.begin (); p != map.end (); p++)
    4.88      {
    4.89        std::string key = map.key (p);
    4.90  
    4.91 @@ -884,9 +884,9 @@
    4.92             pit != parent_list.end ();
    4.93             pit++)
    4.94          {
    4.95 -          Octave_map::const_iterator smap = map.seek (*pit);
    4.96 +          octave_map::const_iterator smap = map.seek (*pit);
    4.97  
    4.98 -          const Cell& tmp = smap->second;
    4.99 +          const Cell& tmp = map.contents (smap);
   4.100  
   4.101            octave_value vtmp = tmp(0);
   4.102  
   4.103 @@ -915,9 +915,9 @@
   4.104             pit != parent_list.end ();
   4.105             pit++)
   4.106          {
   4.107 -          Octave_map::iterator smap = map.seek (*pit);
   4.108 +          octave_map::iterator smap = map.seek (*pit);
   4.109  
   4.110 -          Cell& tmp = smap->second;
   4.111 +          Cell& tmp = map.contents (smap);
   4.112  
   4.113            octave_value& vtmp = tmp(0);
   4.114  
   4.115 @@ -1053,7 +1053,7 @@
   4.116    std::string dbgstr = "dork";
   4.117  
   4.118    // First, check to see if there might be an issue with inheritance.
   4.119 -  for (Octave_map::const_iterator p = map.begin (); p != map.end (); p++)
   4.120 +  for (octave_map::const_iterator p = map.begin (); p != map.end (); p++)
   4.121      {
   4.122        std::string  key = map.key (p);
   4.123        Cell         val = map.contents (p);
   4.124 @@ -1102,22 +1102,22 @@
   4.125  octave_class::save_ascii (std::ostream& os)
   4.126  {
   4.127    os << "# classname: " << class_name () << "\n";
   4.128 -  Octave_map m;
   4.129 +  octave_map m;
   4.130    if (load_path::find_method (class_name (), "saveobj") != std::string ())
   4.131      {
   4.132        octave_value in = new octave_class (*this);
   4.133        octave_value_list tmp = feval ("saveobj", in, 1);
   4.134        if (! error_state)
   4.135 -        m = tmp(0).old_map_value ();
   4.136 +        m = tmp(0).map_value ();
   4.137        else
   4.138          return false;
   4.139      }
   4.140    else
   4.141 -    m = old_map_value ();
   4.142 +    m = map_value ();
   4.143  
   4.144    os << "# length: " << m.nfields () << "\n";
   4.145  
   4.146 -  Octave_map::iterator i = m.begin ();
   4.147 +  octave_map::iterator i = m.begin ();
   4.148    while (i != m.end ())
   4.149      {
   4.150        octave_value val = map.contents (i);
   4.151 @@ -1146,7 +1146,7 @@
   4.152          {
   4.153            if (len > 0)
   4.154              {
   4.155 -              Octave_map m (map);
   4.156 +              octave_map m (map);
   4.157  
   4.158                for (octave_idx_type j = 0; j < len; j++)
   4.159                  {
   4.160 @@ -1189,7 +1189,7 @@
   4.161                            octave_value_list tmp = feval ("loadobj", in, 1);
   4.162  
   4.163                            if (! error_state)
   4.164 -                            map = tmp(0).old_map_value ();
   4.165 +                            map = tmp(0).map_value ();
   4.166                            else
   4.167                              success = false;
   4.168                          }
   4.169 @@ -1203,7 +1203,7 @@
   4.170              }
   4.171            else if (len == 0 )
   4.172              {
   4.173 -              map = Octave_map (dim_vector (1, 1));
   4.174 +              map = octave_map (dim_vector (1, 1));
   4.175                c_name = classname;
   4.176              }
   4.177            else
   4.178 @@ -1232,23 +1232,23 @@
   4.179    os.write (reinterpret_cast<char *> (&classname_len), 4);
   4.180    os << class_name ();
   4.181  
   4.182 -  Octave_map m;
   4.183 +  octave_map m;
   4.184    if (load_path::find_method (class_name (), "saveobj") != std::string ())
   4.185      {
   4.186        octave_value in = new octave_class (*this);
   4.187        octave_value_list tmp = feval ("saveobj", in, 1);
   4.188        if (! error_state)
   4.189 -        m = tmp(0).old_map_value ();
   4.190 +        m = tmp(0).map_value ();
   4.191        else
   4.192          return false;
   4.193      }
   4.194    else
   4.195 -    m = old_map_value ();
   4.196 +    m = map_value ();
   4.197  
   4.198    int32_t len = m.nfields();
   4.199    os.write (reinterpret_cast<char *> (&len), 4);
   4.200    
   4.201 -  Octave_map::iterator i = m.begin ();
   4.202 +  octave_map::iterator i = m.begin ();
   4.203    while (i != m.end ())
   4.204      {
   4.205        octave_value val = map.contents (i);
   4.206 @@ -1295,7 +1295,7 @@
   4.207  
   4.208    if (len > 0)
   4.209      {
   4.210 -      Octave_map m (map);
   4.211 +      octave_map m (map);
   4.212  
   4.213        for (octave_idx_type j = 0; j < len; j++)
   4.214          {
   4.215 @@ -1335,7 +1335,7 @@
   4.216                    octave_value_list tmp = feval ("loadobj", in, 1);
   4.217  
   4.218                    if (! error_state)
   4.219 -                    map = tmp(0).old_map_value ();
   4.220 +                    map = tmp(0).map_value ();
   4.221                    else
   4.222                      success = false;
   4.223                  }
   4.224 @@ -1348,7 +1348,7 @@
   4.225          }
   4.226      }
   4.227    else if (len == 0 )
   4.228 -    map = Octave_map (dim_vector (1, 1));
   4.229 +    map = octave_map (dim_vector (1, 1));
   4.230    else
   4.231      panic_impossible ();
   4.232  
   4.233 @@ -1366,8 +1366,8 @@
   4.234    hid_t space_hid = -1;
   4.235    hid_t class_hid = -1;
   4.236    hid_t data_hid = -1;
   4.237 -  Octave_map m;
   4.238 -  Octave_map::iterator i;
   4.239 +  octave_map m;
   4.240 +  octave_map::iterator i;
   4.241  
   4.242  #if HAVE_HDF5_18
   4.243    group_hid = H5Gcreate (loc_id, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
   4.244 @@ -1410,12 +1410,12 @@
   4.245        octave_value in = new octave_class (*this);
   4.246        octave_value_list tmp = feval ("saveobj", in, 1);
   4.247        if (! error_state)
   4.248 -        m = tmp(0).old_map_value ();
   4.249 +        m = tmp(0).map_value ();
   4.250        else
   4.251          goto error_cleanup;
   4.252      }
   4.253    else
   4.254 -    m = old_map_value ();
   4.255 +    m = map_value ();
   4.256  
   4.257    // recursively add each element of the class to this group
   4.258    i = m.begin ();
   4.259 @@ -1468,7 +1468,7 @@
   4.260    hdf5_callback_data dsub;
   4.261  
   4.262    herr_t retval2 = 0;
   4.263 -  Octave_map m (dim_vector (1, 1));
   4.264 +  octave_map m (dim_vector (1, 1));
   4.265    int current_item = 0;
   4.266    hsize_t num_obj = 0;
   4.267    int slen = 0;
   4.268 @@ -1576,7 +1576,7 @@
   4.269  
   4.270                if (! error_state)
   4.271                  {
   4.272 -                  map = tmp(0).old_map_value ();
   4.273 +                  map = tmp(0).map_value ();
   4.274                    retval = true;
   4.275                  }
   4.276                else
   4.277 @@ -1624,7 +1624,7 @@
   4.278  {
   4.279    if (obj.is_object ())
   4.280      {
   4.281 -      Octave_map m = obj.old_map_value ();
   4.282 +      octave_map m = obj.map_value ();
   4.283        field_names = m.keys ();
   4.284  
   4.285        parent_class_names = obj.parent_class_name_list ();
   4.286 @@ -1646,7 +1646,7 @@
   4.287      {
   4.288        if (nfields () == obj.nfields ())
   4.289          {
   4.290 -          Octave_map obj_map = obj.old_map_value ();
   4.291 +          octave_map obj_map = obj.map_value ();
   4.292            string_vector obj_fnames = obj_map.keys ();
   4.293            string_vector fnames = fields ();
   4.294  
   4.295 @@ -1725,7 +1725,7 @@
   4.296  
   4.297        if (fcn && fcn->is_class_constructor ())
   4.298          {
   4.299 -          Octave_map m = args(0).old_map_value ();
   4.300 +          octave_map m = args(0).map_value ();
   4.301  
   4.302            if (! error_state)
   4.303              {
     5.1 --- a/src/ov-class.h	Fri Jul 02 15:07:58 2010 +0200
     5.2 +++ b/src/ov-class.h	Wed Jul 07 10:57:52 2010 +0200
     5.3 @@ -52,14 +52,14 @@
     5.4    octave_class (void)
     5.5      : octave_base_value (), obsolete_copies (0)  { }
     5.6  
     5.7 -  octave_class (const Octave_map& m, const std::string& id)
     5.8 +  octave_class (const octave_map& m, const std::string& id)
     5.9      : octave_base_value (), map (m), c_name (id), obsolete_copies (0) { }
    5.10  
    5.11    octave_class (const octave_class& s)
    5.12      : octave_base_value (s), map (s.map), c_name (s.c_name),
    5.13        parent_list (s.parent_list), obsolete_copies (0)  { }
    5.14  
    5.15 -  octave_class (const Octave_map& m, const std::string& id, 
    5.16 +  octave_class (const octave_map& m, const std::string& id, 
    5.17                  const octave_value_list& parents);
    5.18  
    5.19    ~octave_class (void) { }
    5.20 @@ -70,7 +70,7 @@
    5.21  
    5.22    octave_base_value *empty_clone (void) const
    5.23    {
    5.24 -    return new octave_class (Octave_map (map.keys ()), class_name ());
    5.25 +    return new octave_class (octave_map (map.keys ()), class_name ());
    5.26    }
    5.27  
    5.28    Cell dotref (const octave_value_list& idx);
    5.29 @@ -122,7 +122,7 @@
    5.30      { return map.reshape (new_dims); }
    5.31  
    5.32    octave_value resize (const dim_vector& dv, bool = false) const
    5.33 -    { Octave_map tmap = map; tmap.resize (dv); return tmap; }
    5.34 +    { octave_map tmap = map; tmap.resize (dv); return tmap; }
    5.35  
    5.36    bool is_defined (void) const { return true; }
    5.37  
    5.38 @@ -132,8 +132,6 @@
    5.39  
    5.40    octave_map map_value (void) const { return map; }
    5.41  
    5.42 -  Octave_map old_map_value (void) const { return map; }
    5.43 -
    5.44    string_vector map_keys (void) const;
    5.45  
    5.46    std::list<std::string> parent_class_name_list (void) const
    5.47 @@ -180,7 +178,7 @@
    5.48  
    5.49  private:
    5.50  
    5.51 -  Octave_map map;
    5.52 +  octave_map map;
    5.53  
    5.54    DECLARE_OCTAVE_ALLOCATOR
    5.55  
     6.1 --- a/src/ov.cc	Fri Jul 02 15:07:58 2010 +0200
     6.2 +++ b/src/ov.cc	Wed Jul 07 10:57:52 2010 +0200
     6.3 @@ -1455,12 +1455,6 @@
     6.4    return rep->scalar_map_value ();
     6.5  }
     6.6  
     6.7 -Octave_map
     6.8 -octave_value::old_map_value (void) const
     6.9 -{
    6.10 -  return rep->old_map_value ();
    6.11 -}
    6.12 -
    6.13  octave_function *
    6.14  octave_value::function_value (bool silent) const
    6.15  {
     7.1 --- a/src/ov.h	Fri Jul 02 15:07:58 2010 +0200
     7.2 +++ b/src/ov.h	Wed Jul 07 10:57:52 2010 +0200
     7.3 @@ -848,8 +848,6 @@
     7.4  
     7.5    octave_scalar_map scalar_map_value (void) const;
     7.6  
     7.7 -  Octave_map old_map_value (void) const;
     7.8 -
     7.9    string_vector map_keys (void) const
    7.10      { return rep->map_keys (); }
    7.11