26 #if ! defined (octave_symtab_h)
27 #define octave_symtab_h 1
29 #include "octave-config.h"
58 typedef octave::symbol_scope
scope;
73 bool is_built_in_function_name (
const std::string& name);
75 octave_value find_scoped_function (
const std::string& name,
78 octave_value find_private_function (
const std::string& dir_name,
79 const std::string& name);
84 const std::string& dispatch_type);
86 octave_value find_built_in_function (
const std::string& name);
91 builtin_find (
const std::string& name,
95 fcn_table_find (
const std::string& name,
108 find_function (
const std::string& name,
115 find_function (
const std::string& name,
119 octave_value find_user_function (
const std::string& name);
121 octave_value find_cmdline_function (
const std::string& name);
123 void install_cmdline_function (
const std::string& name,
129 void install_local_function (
const std::string& name,
131 const std::string& file_name);
133 void install_user_function (
const std::string& name,
138 void install_built_in_function (
const std::string& name,
145 void clear_functions (
bool force =
false);
147 void clear_function (
const std::string& name);
149 void clear_function_pattern (
const std::string& pat);
151 void clear_function_regexp (
const std::string& pat);
153 void clear_user_function (
const std::string& name);
156 void clear_dld_function (
const std::string& name);
158 void clear_mex_functions (
void);
160 bool set_class_relationship (
const std::string& sup_class,
161 const std::string& inf_class);
163 bool is_superiorto (
const std::string& a,
const std::string& b);
165 void alias_built_in_function (
const std::string& alias,
166 const std::string& name);
168 void install_built_in_dispatch (
const std::string& name,
169 const std::string& klass);
171 std::list<std::string> user_function_names (
void);
173 std::list<std::string> built_in_function_names (
void);
175 std::list<std::string> cmdline_function_names (
void);
179 void add_to_parent_map (
const std::string& classname,
180 const std::list<std::string>& parent_list);
182 std::list<std::string> parent_classes (
const std::string& dispatch_type);
186 fcn_info * get_fcn_info (
const std::string& name);
192 typedef std::map<std::string, octave_value>::const_iterator
194 typedef std::map<std::string, octave_value>::iterator
197 typedef std::map<std::string, fcn_info>::const_iterator
199 typedef std::map<std::string, fcn_info>::iterator
212 typedef std::map<std::string, std::set<std::string>>::const_iterator
214 typedef std::map<std::string, std::set<std::string>>::iterator
220 typedef std::map<std::string, std::list<std::string>>::const_iterator
222 typedef std::map<std::string, std::list<std::string>>::iterator
octave::fcn_info fcn_info
std::map< std::string, std::list< std::string > > m_parent_map
std::map< std::string, std::set< std::string > >::iterator class_precedence_table_iterator
std::map< std::string, std::list< std::string > >::const_iterator const_parent_map_iterator
interpreter & m_interpreter
octave::symbol_scope scope
std::map< std::string, std::list< std::string > >::iterator parent_map_iterator
~symbol_table(void)=default
std::map< std::string, fcn_info >::iterator fcn_table_iterator
symbol_table(const symbol_table &)=delete
std::map< std::string, fcn_info > m_fcn_table
std::map< std::string, octave_value >::iterator global_symbols_iterator
std::map< std::string, octave_value >::const_iterator global_symbols_const_iterator
std::map< std::string, std::set< std::string > >::const_iterator class_precedence_table_const_iterator
void install_builtins(void)
std::map< std::string, std::set< std::string > > m_class_precedence_table
std::map< std::string, fcn_info >::const_iterator fcn_table_const_iterator
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.