diff src/variables.h @ 1755:3a9462b655f1

[project @ 1996-01-22 04:47:22 by jwe]
author jwe
date Mon, 22 Jan 1996 04:47:22 +0000
parents bb9d00aa55fb
children effa9400766f
line wrap: on
line diff
--- a/src/variables.h	Mon Jan 22 04:47:00 1996 +0000
+++ b/src/variables.h	Mon Jan 22 04:47:22 1996 +0000
@@ -30,6 +30,9 @@
 class tree_fvc;
 class tree_constant;
 class Octave_object;
+class string_vector;
+
+#include <string>
 
 struct builtin_mapper_function;
 
@@ -37,65 +40,73 @@
 
 struct builtin_variable
 {
-  char *name;
+  builtin_variable (const string& n, tree_constant *v, int iaf, int p,
+		    int e, sv_Function svf, const string& h)
+    : name (n), value (v), install_as_function (iaf), protect (p),
+      eternal (e), sv_function (svf), help_string (h) { }
+
+  string name;
   tree_constant *value;
   int install_as_function;
   int protect;
   int eternal;
   sv_Function sv_function;
-  char *help_string;
+  string help_string;
 };
 
 typedef Octave_object (*Octave_builtin_fcn)(const Octave_object&, int);
 
 struct builtin_function
 {
-  char *name;
+  builtin_function (const string& n, int itf, Octave_builtin_fcn f,
+		    const string& h)
+    : name (n), is_text_fcn (itf), fcn (f), help_string (h) { }
+
+  string name;
   int is_text_fcn;
   Octave_builtin_fcn fcn;
-  char *help_string;
+  string help_string;
 };
 
 extern void initialize_symbol_tables (void);
 
 extern int lookup (symbol_record *s, int exec_script = 1);
 
-extern symbol_record *lookup_by_name (const char *nm, int exec_script = 1);
+extern symbol_record *lookup_by_name (const string& nm, int exec_script = 1);
 
-extern char *get_help_from_file (const char *f);
+extern string get_help_from_file (const string& f);
 
-extern char *builtin_string_variable (const char *);
-extern int builtin_real_scalar_variable (const char *, double&);
-extern tree_constant builtin_any_variable (const char *);
+extern string builtin_string_variable (const string&);
+extern int builtin_real_scalar_variable (const string&, double&);
+extern tree_constant builtin_any_variable (const string&);
 
 extern void link_to_global_variable (symbol_record *sr);
 extern void link_to_builtin_variable (symbol_record *sr);
 extern void link_to_builtin_or_function (symbol_record *sr);
 
-extern void force_link_to_function (const char *s);
+extern void force_link_to_function (const string&);
 
-extern int is_builtin_variable (const char *name);
-extern int is_text_function_name (const char *name);
-extern int is_globally_visible (const char *name);
+extern int is_builtin_variable (const string&);
+extern int is_text_function_name (const string&);
+extern int is_globally_visible (const string&);
 
-extern tree_fvc *is_valid_function (const tree_constant&, char *,
+extern tree_fvc *is_valid_function (const tree_constant&, const string&,
 				    int warn = 0); 
 
-extern char **make_name_list (void);
-
-extern void install_builtin_mapper (builtin_mapper_function *mf);
+extern string_vector make_name_list (void);
 
-extern void install_builtin_function (builtin_function *gf);
+extern void install_builtin_mapper (const builtin_mapper_function& mf);
 
-extern void install_builtin_variable (builtin_variable *v);
+extern void install_builtin_function (const builtin_function& gf);
 
-extern void install_builtin_variable_as_function (const char *name,
-						  tree_constant *val,
-						  int protect = 0,
-						  int eternal = 0,
-						  const char *help = 0);
+extern void install_builtin_variable (const builtin_variable& v);
 
-extern void alias_builtin (const char *alias, const char *name);
+extern void
+install_builtin_variable_as_function
+  (const string& name, tree_constant *val, int protect = 0,
+   int eternal = 0, const string& help = string ());
+
+extern void alias_builtin (const string& alias, const string& name);
 
 #if 0
 extern void bind_nargin_and_nargout (symbol_table *sym_tab,
@@ -108,31 +119,31 @@
 
 extern void clear_global_error_variable (void *);
 
-extern void bind_builtin_variable (const char *, tree_constant *,
+extern void bind_builtin_variable (const string&, tree_constant *,
 				   int protect = 0, int eternal = 0,
 				   sv_Function f = (sv_Function) 0,
-				   const char *help = 0);
+				   const string& help = string ());
 
-extern void bind_builtin_variable (const char *, const tree_constant&,
+extern void bind_builtin_variable (const string&, const tree_constant&,
 				   int protect = 0, int eternal = 0,
 				   sv_Function f = (sv_Function) 0,
-				   const char *help = 0);
+				   const string& help = string ());
 
 extern void install_builtin_variables (void);
 
-extern char *maybe_add_default_load_path (const char *p);
+extern string maybe_add_default_load_path (const string& p);
 
-extern char *octave_lib_dir (void);
-extern char *octave_arch_lib_dir (void);
-extern char *octave_fcn_file_dir (void);
-extern char *octave_bin_dir (void);
-extern char *default_exec_path (void);
-extern char *default_path (void);
-extern char *default_info_file (void);
-extern char *default_info_prog (void);
-extern char *default_editor (void);
-extern char *get_local_site_defaults (void);
-extern char *get_site_defaults (void);
+extern string octave_lib_dir (void);
+extern string octave_arch_lib_dir (void);
+extern string octave_fcn_file_dir (void);
+extern string octave_bin_dir (void);
+extern string default_exec_path (void);
+extern string default_path (void);
+extern string default_info_file (void);
+extern string default_info_prog (void);
+extern string default_editor (void);
+extern string get_local_site_defaults (void);
+extern string get_site_defaults (void);
 
 // Symbol table for symbols at the top level.
 extern symbol_table *top_level_sym_tab;