26 #if ! defined (octave_symtab_h)
27 #define octave_symtab_h 1
29 #include "octave-config.h"
58 typedef octave::symbol_scope
scope;
69 bool is_built_in_function_name (
const std::string& name);
71 octave_value find_scoped_function (
const std::string& name,
74 octave_value find_private_function (
const std::string& dir_name,
75 const std::string& name);
80 const std::string& dispatch_type);
82 octave_value find_built_in_function (
const std::string& name);
87 builtin_find (
const std::string& name,
91 fcn_table_find (
const std::string& name,
104 find_function (
const std::string& name,
111 find_function (
const std::string& name,
115 octave_value find_user_function (
const std::string& name);
117 octave_value find_cmdline_function (
const std::string& name);
119 void install_cmdline_function (
const std::string& name,
125 void install_local_function (
const std::string& name,
127 const std::string& file_name);
129 void install_user_function (
const std::string& name,
134 void install_built_in_function (
const std::string& name,
141 void clear_functions (
bool force =
false);
143 void clear_function (
const std::string& name);
145 void clear_function_pattern (
const std::string& pat);
147 void clear_function_regexp (
const std::string& pat);
149 void clear_user_function (
const std::string& name);
152 void clear_dld_function (
const std::string& name);
154 void clear_mex_functions ();
156 bool set_class_relationship (
const std::string& sup_class,
157 const std::string& inf_class);
159 bool is_superiorto (
const std::string& a,
const std::string& b);
161 void alias_built_in_function (
const std::string& alias,
162 const std::string& name);
164 void install_built_in_dispatch (
const std::string& name,
165 const std::string& klass);
167 std::list<std::string> user_function_names ();
169 std::list<std::string> built_in_function_names ();
171 std::list<std::string> cmdline_function_names ();
175 void add_to_parent_map (
const std::string& classname,
176 const std::list<std::string>& parent_list);
178 std::list<std::string> parent_classes (
const std::string& dispatch_type);
182 fcn_info * get_fcn_info (
const std::string& name);
188 typedef std::map<std::string, octave_value>::const_iterator
189 global_symbols_const_iterator;
190 typedef std::map<std::string, octave_value>::iterator
191 global_symbols_iterator;
193 typedef std::map<std::string, fcn_info>::const_iterator
194 fcn_table_const_iterator;
195 typedef std::map<std::string, fcn_info>::iterator
202 std::map<std::string, fcn_info> m_fcn_table;
206 std::map<std::string, std::set<std::string>> m_class_precedence_table;
208 typedef std::map<std::string, std::set<std::string>>::const_iterator
209 class_precedence_table_const_iterator;
210 typedef std::map<std::string, std::set<std::string>>::iterator
211 class_precedence_table_iterator;
214 std::map<std::string, std::list<std::string>> m_parent_map;
216 typedef std::map<std::string, std::list<std::string>>::const_iterator
217 const_parent_map_iterator;
218 typedef std::map<std::string, std::list<std::string>>::iterator
224 void install_builtins ();
227 OCTAVE_END_NAMESPACE(
octave)
static symbol_scope invalid()
octave::fcn_info fcn_info
octave::symbol_scope scope
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.