GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hook-fcn.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2013-2015 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #include <config.h>
24 
25 #include "hook-fcn.h"
26 
28 {
29  if (f.is_string ())
30  {
31  std::string name = f.string_value ();
32 
33  rep = new named_hook_function (name, d);
34  }
35  else if (f.is_function_handle ())
36  {
37  rep = new fcn_handle_hook_function (f, d);
38  }
39  else
40  error ("invalid hook function");
41 }
void error(const char *fmt,...)
Definition: error.cc:476
bool is_function_handle(void) const
Definition: ov.h:686
F77_RET_T const double const double double * d
F77_RET_T const double const double * f
std::string string_value(bool force=false) const
Definition: ov.h:897
bool is_string(void) const
Definition: ov.h:562
hook_function(void)
Definition: hook-fcn.h:63
base_hook_function * rep
Definition: hook-fcn.h:110