26 #if ! defined (octave_hook_fcn_h)
27 #define octave_hook_fcn_h 1
29 #include "octave-config.h"
51 virtual std::string
id (
void)
const {
return ""; }
53 virtual bool is_valid (
void)
const {
return false; }
103 std::string
id (
void)
const {
return rep->
id (); }
128 std::string
id (
void)
const {
return name; }
145 : ident (), valid (false), fcn_handle (fh_arg), data (
d)
153 std::ostringstream buf;
155 ident = fh->
fcn_name () +
':' + buf.str ();
161 std::string
id (
void)
const {
return ident; }
181 typedef std::map<std::string, hook_function>
map_type;
191 : fcn_map (lst.fcn_map)
202 bool empty (
void)
const {
return fcn_map.empty (); }
204 void clear (
void) { fcn_map.clear (); }
213 return fcn_map.find (
id);
218 return fcn_map.find (
id);
229 auto p = fcn_map.begin ();
231 while (p != fcn_map.end ())
233 std::string hook_fcn_id = p->first;
239 hook_fcn.
eval (initial_args);
virtual void eval(const octave_value_list &)
virtual bool is_valid(void) const
virtual ~base_hook_function(void)=default
base_hook_function(const base_hook_function &)
virtual std::string id(void) const
std::string id(void) const
fcn_handle_hook_function(const octave_value &fh_arg, const octave_value &d)
bool is_valid(void) const
const_iterator find(const std::string &id) const
map_type::iterator iterator
~hook_function_list(void)=default
map_type::const_iterator const_iterator
const_iterator end(void) const
void run(const octave_value_list &initial_args=octave_value_list())
std::map< std::string, hook_function > map_type
hook_function_list(const hook_function_list &lst)
iterator find(const std::string &id)
void insert(const std::string &id, const hook_function &f)
hook_function(const hook_function &hf)
bool is_valid(void) const
std::string id(void) const
void eval(const octave_value_list &initial_args)
hook_function & operator=(const hook_function &hf)
bool is_valid(void) const
named_hook_function(const std::string &n, const octave_value &d)
std::string id(void) const
std::string fcn_name(void) const
octave_fcn_handle * fcn_handle_value(bool=false)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
F77_RET_T const F77_DBLE const F77_DBLE * f
octave_function * is_valid_function(const std::string &fcn_name, const std::string &warn_for, bool warn)