diff src/oct-map.cc @ 6946:10c7a803b409

[project @ 2007-10-03 14:38:48 by jwe]
author jwe
date Wed, 03 Oct 2007 14:38:48 +0000
parents ed74670db09b
children 47f4f4e88166
line wrap: on
line diff
--- a/src/oct-map.cc	Tue Oct 02 20:47:23 2007 +0000
+++ b/src/oct-map.cc	Wed Oct 03 14:38:48 2007 +0000
@@ -31,18 +31,22 @@
 #include "oct-map.h"
 #include "utils.h"
 
-Octave_map::Octave_map (const dim_vector& dv,
-			const string_vector& key_list_arg)
+Octave_map::Octave_map (const dim_vector& dv, const Cell& keys)
   : map (), key_list (), dimensions (dv)
 {
   Cell c (dv);
 
-  for (octave_idx_type i = 0; i < key_list_arg.length (); i++)
+  if (keys.is_cellstr ())
     {
-      std::string k = key_list_arg[i];
-      map[k] = c;
-      key_list.push_back (k);
+      for (octave_idx_type i = 0; i < keys.numel (); i++)
+	{
+	  std::string k = keys(i).string_value ();
+	  map[k] = c;
+	  key_list.push_back (k);
+	}
     }
+  else
+    error ("Octave_map: expecting keys to be cellstr");
 }
 
 Cell&