Classes | Defines | Typedefs | Functions

defun-int.h File Reference

#include <string>
#include "ov-builtin.h"
#include "ov-dld-fcn.h"
#include "symtab.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

Defines

#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 DEFALIAS_INTERNAL(alias, name)
#define DEFCONSTFUN_INTERNAL(name, args_name, nargout_name, doc)   DECLARE_FUN (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 DEFUN_INTERNAL(name, args_name, nargout_name, doc)   DECLARE_FUN (name, args_name, nargout_name)
#define DEFUNX_INTERNAL(name, fname, args_name, nargout_name, doc)   DECLARE_FUNX (fname, args_name, nargout_name)

Typedefs

typedef octave_function *(* octave_dld_fcn_getter )(const octave_shlib &, bool relative)
typedef bool(* octave_dld_fcn_installer )(const octave_shlib &, bool relative)

Functions

OCTINTERP_API void alias_builtin (const std::string &alias, const std::string &name)
OCTINTERP_API void check_version (const std::string &version, const std::string &fcn)
OCTINTERP_API bool defun_isargout (int, int)
OCTINTERP_API void defun_isargout (int, int, bool *)
OCTINTERP_API octave_shlib get_current_shlib (void)
OCTINTERP_API void install_builtin_function (octave_builtin::fcn f, const std::string &name, const std::string &doc, bool can_hide_function=true)
OCTINTERP_API void install_dld_function (octave_dld_function::fcn f, const std::string &name, const octave_shlib &shl, const std::string &doc, bool relative=false)
OCTINTERP_API void install_mex_function (void *fptr, bool fmex, const std::string &name, const octave_shlib &shl, bool relative=false)
OCTINTERP_API void print_usage (void)
OCTINTERP_API void print_usage (const std::string &)

Define Documentation

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

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

#define DECLARE_FUNX (   name,
  args_name,
  nargout_name 
)
Value:
OCTAVE_EXPORT octave_value_list \
  name (const octave_value_list& args_name, int nargout_name)

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

#define DEFALIAS_INTERNAL (   alias,
  name 
)

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

#define DEFCONSTFUN_INTERNAL (   name,
  args_name,
  nargout_name,
  doc 
)    DECLARE_FUN (name, args_name, nargout_name)

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

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

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

#define DEFINE_FUNX_INSTALLER_FUN (   name,
  fname,
  gname,
  doc 
)
Value:
extern "C" \
  OCTAVE_EXPORT \
  octave_function * \
  gname (const octave_shlib& shl, bool relative) \
  { \
    octave_function *retval = 0; \
 \
    check_version (OCTAVE_API_VERSION, name); \
 \
    if (! error_state) \
      { \
        octave_dld_function *fcn = octave_dld_function::create (fname, shl, name, doc); \
 \
        if (relative) \
          fcn->mark_relative (); \
 \
        retval = fcn; \
      } \
 \
    return retval; \
  }

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

#define DEFUN_INTERNAL (   name,
  args_name,
  nargout_name,
  doc 
)    DECLARE_FUN (name, args_name, nargout_name)

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

#define DEFUNX_INTERNAL (   name,
  fname,
  args_name,
  nargout_name,
  doc 
)    DECLARE_FUNX (fname, args_name, nargout_name)

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


Typedef Documentation

typedef octave_function*(* octave_dld_fcn_getter)(const octave_shlib &, bool relative)

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

typedef bool(* octave_dld_fcn_installer)(const octave_shlib &, bool relative)

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


Function Documentation

OCTINTERP_API void alias_builtin ( const std::string &  alias,
const std::string &  name 
)

Definition at line 121 of file defun.cc.

References symbol_table::alias_built_in_function().

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

Definition at line 67 of file defun.cc.

References error().

OCTINTERP_API bool defun_isargout ( int  ,
int   
)

Definition at line 149 of file defun.cc.

References octave_builtin::curr_lvalue_list, and max().

OCTINTERP_API void defun_isargout ( int  ,
int  ,
bool  
)

Definition at line 173 of file defun.cc.

References octave_builtin::curr_lvalue_list, max(), and min().

OCTINTERP_API octave_shlib get_current_shlib ( void   ) 
OCTINTERP_API void install_builtin_function ( octave_builtin::fcn  f,
const std::string &  name,
const std::string &  doc,
bool  can_hide_function = true 
)

Definition at line 82 of file defun.cc.

References symbol_table::install_built_in_function().

OCTINTERP_API void install_dld_function ( octave_dld_function::fcn  f,
const std::string &  name,
const octave_shlib shl,
const std::string &  doc,
bool  relative = false 
)
OCTINTERP_API void install_mex_function ( void *  fptr,
bool  fmex,
const std::string &  name,
const octave_shlib shl,
bool  relative = false 
)
OCTINTERP_API void print_usage ( void   ) 
OCTINTERP_API void print_usage ( const std::string &   ) 

Definition at line 61 of file defun.cc.

References feval().

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines