24 #if ! defined (octave_fcn_info_h) 25 #define octave_fcn_info_h 1 27 #include "octave-config.h" 43 typedef std::map<std::string, octave_value>::const_iterator
59 size_t pos =
name.rfind (
'.');
61 if (pos != std::string::npos)
104 return find (args, local_funcs);
130 template <
typename T>
134 typename std::map<T, octave_value>::iterator
p =
map.
begin ();
138 if (force || !
p->second.islocked ())
172 package = octave_value ();
242 bool local_funcs =
true)
244 return m_rep->find (args, local_funcs);
249 return m_rep->builtin_find ();
254 return m_rep->find_method (dispatch_type);
259 return m_rep->built_in_function;
264 return m_rep->cmdline_function;
269 return m_rep->find_autoload ();
274 return m_rep->find_user_function ();
279 return m_rep->is_user_function_defined ();
284 bool local_funcs =
true)
286 return m_rep->find_function (args, local_funcs);
291 m_rep->install_cmdline_function (
f);
297 m_rep->install_local_function (
f, file_name);
302 m_rep->install_user_function (
f);
307 m_rep->install_built_in_function (
f);
312 m_rep->install_built_in_dispatch (klass);
319 m_rep->clear_user_function (force);
324 m_rep->clear_autoload_function (force);
333 std::shared_ptr<fcn_info_rep>
m_rep;
fcn_info_rep(const std::string &nm)
std::shared_ptr< fcn_info_rep > m_rep
void install_cmdline_function(const octave_value &f)
octave_value find(const octave_value_list &args, bool local_funcs)
octave_value builtin_find(void)
octave_value x_builtin_find(void)
octave_value dump_function_map(const std::map< std::string, octave_value > &fcn_map)
octave_value autoload_function
octave_value load_class_constructor(void)
octave_value find_function(const octave_value_list &args, bool local_funcs)
void install_built_in_function(const octave_value &f)
octave_value load_class_method(const std::string &dispatch_type)
octave_value dump(void) const
void clear_map(std::map< T, octave_value > &map, bool force=false)
bool is_mex_function(void) const
std::map< std::string, octave_value > private_functions
void clear_mex_function(void)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
void install_built_in_function(const octave_value &f)
octave_value find_function(const octave_value_list &args=octave_value_list(), bool local_funcs=true)
octave_value find_cmdline_function(void) const
void clear_user_function(bool force=false)
std::map< std::string, octave_value >::const_iterator str_val_const_iterator
octave_value find_method(const std::string &dispatch_type)
void install_local_function(const octave_value &f, const std::string &file_name)
void clear_mex_function(void)
void clear_user_function(bool force=false)
bool is_defined(void) const
octave_value find_user_function(void)
const_iterator end(void) const
void clear_autoload_function(bool force=false)
std::map< std::string, octave_value > class_constructors
octave_value cmdline_function
void install_built_in_dispatch(const std::string &klass)
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
void install_cmdline_function(const octave_value &f)
void clear(bool force=false)
void clear(bool force=false)
std::map< std::string, octave_value >::iterator str_val_iterator
void install_user_function(const octave_value &f)
octave_value xfind(const octave_value_list &args, bool local_funcs)
bool islocked(void) const
octave_value find_method(const std::string &dispatch_type) const
void install_user_function(const octave_value &f)
std::map< std::string, octave_value > local_functions
void install_local_function(const octave_value &f, const std::string &file_name)
octave_value built_in_function
octave_value install_local_function(const std::string &file_name)
void install_built_in_dispatch(const std::string &klass)
~fcn_info_rep(void)=default
std::string full_name(void) const
fcn_info(const std::string &nm="")
octave_value find(const octave_value_list &args=octave_value_list(), bool local_funcs=true)
std::map< std::string, octave_value > class_methods
octave_value find_built_in_function(void) const
octave_value find_package(void)
bool is_user_function_defined(void) const
octave_value find_autoload(void)
fcn_info_rep & operator=(const fcn_info_rep &)=delete
octave_value dump(void) const
octave_value find_autoload(void)
octave_value load_private_function(const std::string &dir_name)
const_iterator begin(void) const
bool is_user_function_defined(void) const
void clear_autoload_function(bool force=false)
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
octave_value find_user_function(void)
octave_value builtin_find(void)
octave_value function_on_path