GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
defun-int.h File Reference
#include "octave-config.h"
#include <string>
#include "ov-builtin.h"
#include "ov-dld-fcn.h"
#include "version.h"
Include dependency graph for defun-int.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  octave::auto_shlib
 

Namespaces

 octave
 

Macros

#define DECLARE_FUN(name, args_name, nargout_name)   DECLARE_FUNX (F ## name, args_name, nargout_name)
 
#define DECLARE_FUNX(name, args_name, nargout_name)
 
#define DECLARE_METHOD(name, interp_name, args_name, nargout_name)   DECLARE_METHODX (F ## name, interp_name, args_name, nargout_name)
 
#define DECLARE_METHODX(name, interp_name, args_name, nargout_name)
 
#define DECLARE_STATIC_FUN(name, args_name, nargout_name)   DECLARE_STATIC_FUNX (F ## name, args_name, nargout_name)
 
#define DECLARE_STATIC_FUNX(name, args_name, nargout_name)
 
#define DECLARE_STATIC_METHOD(name, interp_name, args_name, nargout_name)   DECLARE_STATIC_METHODX (F ## name, interp_name, args_name, nargout_name)
 
#define DECLARE_STATIC_METHODX(name, interp_name, args_name, nargout_name)
 
#define DEFINE_FUN_INSTALLER_FUN(name, doc)   DEFINE_FUNX_INSTALLER_FUN(#name, F ## name, G ## name, doc)
 
#define DEFINE_FUNX_INSTALLER_FUN(name, fname, gname, doc)
 
#define FORWARD_DECLARE_FUN(name)   FORWARD_DECLARE_FUNX (F ## name)
 
#define FORWARD_DECLARE_FUNX(name)
 
#define FORWARD_DECLARE_METHOD(name)   FORWARD_DECLARE_METHODX (F ## name)
 
#define FORWARD_DECLARE_METHODX(name)
 

Typedefs

typedef octave_function *(* octave_dld_fcn_getter) (const octave::dynamic_library &, bool relative)
 
typedef bool(* octave_dld_fcn_installer) (const octave::dynamic_library &, bool relative)
 

Functions

OCTINTERP_API void check_version (const std::string &version, const std::string &fcn)
 
OCTINTERP_API octave::dynamic_library get_current_shlib (void)
 
OCTINTERP_API void install_dld_function (octave_dld_function::fcn f, const std::string &name, const octave::dynamic_library &shl, const std::string &doc, bool relative=false)
 
OCTINTERP_API void install_dld_function (octave_dld_function::meth m, const std::string &name, const octave::dynamic_library &shl, const std::string &doc, bool relative=false)
 
OCTINTERP_API void install_mex_function (void *fptr, bool fmex, const std::string &name, const octave::dynamic_library &shl, bool relative=false)
 
OCTINTERP_API void print_usage (void)
 
OCTINTERP_API void print_usage (const std::string &)
 

Macro Definition Documentation

◆ DECLARE_FUN

#define DECLARE_FUN (   name,
  args_name,
  nargout_name 
)    DECLARE_FUNX (F ## name, args_name, nargout_name)

Definition at line 141 of file defun-int.h.

◆ DECLARE_FUNX

#define DECLARE_FUNX (   name,
  args_name,
  nargout_name 
)
Value:
OCTAVE_EXPORT octave_value_list \
name (const octave_value_list& args_name, int nargout_name)
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 132 of file defun-int.h.

◆ DECLARE_METHOD

#define DECLARE_METHOD (   name,
  interp_name,
  args_name,
  nargout_name 
)    DECLARE_METHODX (F ## name, interp_name, args_name, nargout_name)

Definition at line 144 of file defun-int.h.

◆ DECLARE_METHODX

#define DECLARE_METHODX (   name,
  interp_name,
  args_name,
  nargout_name 
)
Value:
OCTAVE_EXPORT octave_value_list \
name (octave::interpreter& interp_name, \
const octave_value_list& args_name, int nargout_name)
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 136 of file defun-int.h.

◆ DECLARE_STATIC_FUN

#define DECLARE_STATIC_FUN (   name,
  args_name,
  nargout_name 
)    DECLARE_STATIC_FUNX (F ## name, args_name, nargout_name)

Definition at line 156 of file defun-int.h.

◆ DECLARE_STATIC_FUNX

#define DECLARE_STATIC_FUNX (   name,
  args_name,
  nargout_name 
)
Value:
name (const octave_value_list& args_name, int nargout_name)
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 147 of file defun-int.h.

◆ DECLARE_STATIC_METHOD

#define DECLARE_STATIC_METHOD (   name,
  interp_name,
  args_name,
  nargout_name 
)    DECLARE_STATIC_METHODX (F ## name, interp_name, args_name, nargout_name)

Definition at line 159 of file defun-int.h.

◆ DECLARE_STATIC_METHODX

#define DECLARE_STATIC_METHODX (   name,
  interp_name,
  args_name,
  nargout_name 
)
Value:
name (octave::interpreter& interp_name, \
const octave_value_list& args_name, int nargout_name)
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 151 of file defun-int.h.

◆ DEFINE_FUN_INSTALLER_FUN

#define DEFINE_FUN_INSTALLER_FUN (   name,
  doc 
)    DEFINE_FUNX_INSTALLER_FUN(#name, F ## name, G ## name, doc)

Definition at line 175 of file defun-int.h.

◆ DEFINE_FUNX_INSTALLER_FUN

#define DEFINE_FUNX_INSTALLER_FUN (   name,
  fname,
  gname,
  doc 
)
Value:
extern "C" \
OCTAVE_EXPORT \
octave_function * \
gname (const octave::dynamic_library& shl, bool relative) \
{ \
check_version (OCTAVE_API_VERSION, name); \
\
octave_dld_function *fcn \
if (relative) \
fcn->mark_relative (); \
\
return fcn; \
}
fname
Definition: load-save.cc:767
#define OCTAVE_API_VERSION
Definition: version.in.h:45
octave_function * fcn
Definition: ov-class.cc:1754
nd deftypefn *std::string name
Definition: sysdep.cc:647
if(nargin< 2) print_usage()
Definition: cellfun.cc:407
static octave_dld_function * create(octave_builtin::fcn ff, const octave::dynamic_library &shl, const std::string &nm="", const std::string &ds="")
Definition: ov-dld-fcn.cc:106

Definition at line 179 of file defun-int.h.

◆ FORWARD_DECLARE_FUN

#define FORWARD_DECLARE_FUN (   name)    FORWARD_DECLARE_FUNX (F ## name)

Definition at line 126 of file defun-int.h.

◆ FORWARD_DECLARE_FUNX

#define FORWARD_DECLARE_FUNX (   name)
Value:
extern OCTAVE_EXPORT octave_value_list \
name (const octave_value_list&, int)
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 118 of file defun-int.h.

◆ FORWARD_DECLARE_METHOD

#define FORWARD_DECLARE_METHOD (   name)    FORWARD_DECLARE_METHODX (F ## name)

Definition at line 129 of file defun-int.h.

◆ FORWARD_DECLARE_METHODX

#define FORWARD_DECLARE_METHODX (   name)
Value:
extern OCTAVE_EXPORT octave_value_list \
nd deftypefn *std::string name
Definition: sysdep.cc:647

Definition at line 122 of file defun-int.h.

Typedef Documentation

◆ octave_dld_fcn_getter

typedef octave_function*(* octave_dld_fcn_getter) (const octave::dynamic_library &, bool relative)

Definition at line 169 of file defun-int.h.

◆ octave_dld_fcn_installer

typedef bool(* octave_dld_fcn_installer) (const octave::dynamic_library &, bool relative)

Definition at line 166 of file defun-int.h.

Function Documentation

◆ check_version()

OCTINTERP_API void check_version ( const std::string version,
const std::string fcn 
)

Definition at line 73 of file defun.cc.

References error(), fcn, and OCTAVE_API_VERSION.

◆ get_current_shlib()

◆ install_dld_function() [1/2]

OCTINTERP_API void install_dld_function ( octave_dld_function::fcn  f,
const std::string name,
const octave::dynamic_library shl,
const std::string doc,
bool  relative = false 
)

◆ install_dld_function() [2/2]

OCTINTERP_API void install_dld_function ( octave_dld_function::meth  m,
const std::string name,
const octave::dynamic_library shl,
const std::string doc,
bool  relative = false 
)

◆ install_mex_function()

OCTINTERP_API void install_mex_function ( void *  fptr,
bool  fmex,
const std::string name,
const octave::dynamic_library shl,
bool  relative = false 
)

◆ print_usage() [1/2]

OCTINTERP_API void print_usage ( void  )

Definition at line 54 of file defun.cc.

References octave::__get_call_stack__(), cs, octave::call_stack::current(), error(), and octave_function::name().

Referenced by addlistener(), bitop(), cat(), do_bessel(), do_fft(), do_fft2(), do_fftn(), do_isglobal(), do_minmax_body(), do_trilu(), octave::tree_evaluator::echo(), F__betainc__(), F__contourc__(), F__dsearchn__(), F__expint__(), F__ftp__(), F__gammainc__(), F__get_frame__(), F__ichol0__(), F__icholt__(), F__ilu0__(), F__is_handle_visible__(), F__lin_interpn__(), F__magick_read__(), F__open_with_system_app__(), F__profiler_data__(), F__profiler_enable__(), F__profiler_reset__(), F__qp__(), F__version_info__(), F__zoom__(), Fabs(), Facos(), Facosh(), Fangle(), Fasin(), Fasinh(), Fatan(), Fatanh(), Fbalance(), Fblkmm(), Fcbrt(), Fcell2struct(), Fcolloc(), Fconv2(), Fdaspk(), Fdasrt(), Fdassl(), Fdet(), Fdiary(), Fdup2(), Fedit_history(), Feig(), Fellipj(), Ffilter(), Ffrewind(), Ffunctions(), Ffwrite(), Fgcd(), Fget(), Fgetenv(), Fgsvd(), Fhess(), Finv(), Fisfield(), Fisguirunning(), Fissparse(), Flogical(), Flsode(), Fmgorth(), Fnproc(), Fnumfields(), FOCTAVE_EXEC_HOME(), FonCleanup(), Fopenvar(), Fprogram_invocation_name(), Fquad(), Fqz(), Frats(), Frcond(), Freaddir(), Fregexp(), Freset(), Fschur(), Fsetenv(), FSIG(), Fsizeof(), Fsqrtm(), Fsvd(), Ftoc(), G__delaunayn__(), G__eigs__(), G__glpk__(), G__ode15__(), G__osmesa_print__(), G__voronoi__(), Gamd(), Gaudiodevinfo(), Gaudioread(), Gccolamd(), Gchol(), Gcolamd(), Gconvhulln(), Gdmperm(), Gfftw(), Gqr(), Gsymbfact(), Gsymrcm(), if(), name(), octave::bp_table::parse_dbfunction_params(), pattern(), sparse(), subsref(), and octave::xzip().

◆ print_usage() [2/2]

OCTINTERP_API void print_usage ( const std::string )

Definition at line 67 of file defun.cc.

References octave::feval(), and name.