diff src/ov-typeinfo.cc @ 4612:d44675070f1a

[project @ 2003-11-14 19:49:56 by jwe]
author jwe
date Fri, 14 Nov 2003 19:50:38 +0000
parents 3a284f89aa41
children 87c01a296263
line wrap: on
line diff
--- a/src/ov-typeinfo.cc	Fri Nov 14 17:48:46 2003 +0000
+++ b/src/ov-typeinfo.cc	Fri Nov 14 19:50:38 2003 +0000
@@ -81,10 +81,11 @@
 }
 
 int
-octave_value_typeinfo::register_type (const std::string& name)
+octave_value_typeinfo::register_type (const std::string& t_name,
+				      const std::string& c_name)
 {
   return (instance_ok ())
-    ? instance->do_register_type (name) : -1;
+    ? instance->do_register_type (t_name, c_name) : -1;
 }
 
 bool
@@ -147,12 +148,13 @@
 }
 
 int
-octave_value_typeinfo::do_register_type (const std::string& name)
+octave_value_typeinfo::do_register_type (const std::string& t_name,
+					 const std::string& c_name)
 {
   int i = 0;
 
   for (i = 0; i < num_types; i++)
-    if (name == types (i))
+    if (t_name == types (i))
       return i;
 
   int len = types.length ();
@@ -184,7 +186,7 @@
       widening_ops.resize (len, len, static_cast<type_conv_fcn> (0));
     }
 
-  types (i) = name;
+  types (i) = t_name;
 
   num_types++;
 
@@ -401,6 +403,25 @@
   return retval;
 }
 
+DEFUN (class, args, ,
+  "-*- texinfo -*-\n\
+@deftypefn {Built-in Function} {} class (@var{expr})\n\
+\n\
+Return the class of the expression @var{expr}, as a string.\n\
+@end deftypefn")
+{
+  octave_value retval;
+
+  int nargin = args.length ();
+
+  if (nargin == 1)
+    retval = args(0).class_name ();
+  else
+    print_usage ("class");
+
+  return retval;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***