#include "cdef-manager.h"
Public Member Functions | |
cdef_manager (interpreter &interp) | |
~cdef_manager ()=default | |
cdef_class | find_class (const std::string &name, bool error_if_not_found=true, bool load_if_not_found=true) |
octave_value | find_method (const std::string &class_name, const std::string &name) const |
octave_value | find_method_symbol (const std::string &method_name, const std::string &class_name) |
cdef_package | find_package (const std::string &name, bool error_if_not_found=true, bool load_if_not_found=true) |
octave_value | find_package_symbol (const std::string &pack_name) |
cdef_property | make_attribute (const cdef_class &cls, const std::string &name) |
cdef_class | make_class (const std::string &name, const cdef_class &super) |
cdef_class | make_class (const std::string &name, const std::list< cdef_class > &super_list=std::list< cdef_class >()) |
cdef_class | make_meta_class (const std::string &name, const cdef_class &super) |
cdef_method | make_method (const cdef_class &cls, const std::string &name, const octave_value &fcn, const std::string &m_access="public", bool is_static=false) |
cdef_method | make_method (const cdef_class &cls, const std::string &name, octave_builtin::fcn ff, const std::string &m_access="public", bool is_static=false) |
cdef_method | make_method (const cdef_class &cls, const std::string &name, octave_builtin::meth mm, const std::string &m_access="public", bool is_static=false) |
cdef_package | make_package (const std::string &nm, const std::string &parent="") |
cdef_property | make_property (const cdef_class &cls, const std::string &name, const octave_value &get_method=Matrix(), const std::string &get_access="public", const octave_value &set_method=Matrix(), const std::string &set_access="public") |
const cdef_package & | meta () const |
const cdef_class & | meta_class () const |
const cdef_class & | meta_method () const |
const cdef_class & | meta_package () const |
const cdef_class & | meta_property () const |
void | register_class (const cdef_class &cls) |
void | register_package (const cdef_package &pkg) |
void | unregister_class (const cdef_class &cls) |
void | unregister_package (const cdef_package &pkg) |
Definition at line 42 of file cdef-manager.h.
cdef_manager::cdef_manager | ( | interpreter & | interp | ) |
Definition at line 325 of file cdef-manager.cc.
References interpreter::get_type_info(), cdef_class::install_property(), make_attribute(), make_class(), make_meta_class(), make_property(), octave_base_value::register_type(), and cdef_object::set_class().
|
default |
cdef_class cdef_manager::find_class | ( | const std::string & | name, |
bool | error_if_not_found = true , |
||
bool | load_if_not_found = true |
||
) |
Definition at line 635 of file cdef-manager.cc.
References error(), interpreter::find(), cdef_package::find(), find_package(), cdef_class::is_builtin(), octave_value::is_defined(), lookup_class(), and cdef_object::ok().
Referenced by find_method_symbol(), tree_evaluator::get_user_code(), and lookup_class().
octave_value cdef_manager::find_method | ( | const std::string & | class_name, |
const std::string & | name | ||
) | const |
Definition at line 942 of file cdef-manager.cc.
References cdef_class::get_method(), and lookup_class().
octave_value cdef_manager::find_method_symbol | ( | const std::string & | method_name, |
const std::string & | class_name | ||
) |
Definition at line 687 of file cdef-manager.cc.
References find_class(), cdef_class::find_method(), octave_value(), and cdef_object::ok().
cdef_package cdef_manager::find_package | ( | const std::string & | name, |
bool | error_if_not_found = true , |
||
bool | load_if_not_found = true |
||
) |
Definition at line 704 of file cdef-manager.cc.
References error(), load_path::find_package(), interpreter::get_load_path(), make_package(), and cdef_object::ok().
Referenced by find_class(), find_package_symbol(), lookup_package(), cdef_class::make_meta_class(), and make_package().
octave_value cdef_manager::find_package_symbol | ( | const std::string & | pack_name | ) |
Definition at line 744 of file cdef-manager.cc.
References find_package(), octave_value(), and cdef_object::ok().
cdef_property cdef_manager::make_attribute | ( | const cdef_class & | cls, |
const std::string & | name | ||
) |
Definition at line 869 of file cdef-manager.cc.
References make_property().
Referenced by cdef_manager().
cdef_class cdef_manager::make_class | ( | const std::string & | name, |
const cdef_class & | super | ||
) |
Definition at line 812 of file cdef-manager.cc.
References make_class().
cdef_class cdef_manager::make_class | ( | const std::string & | name, |
const std::list< cdef_class > & | super_list = std::list<cdef_class> () |
||
) |
Definition at line 755 of file cdef-manager.cc.
References error(), cdef_class::mark_as_handle_class(), meta_class(), cdef_object::put(), register_class(), and cdef_object::set_class().
Referenced by cdef_manager(), make_class(), make_meta_class(), and cdef_class::make_meta_class().
cdef_class cdef_manager::make_meta_class | ( | const std::string & | name, |
const cdef_class & | super | ||
) |
Definition at line 819 of file cdef-manager.cc.
References make_class(), cdef_class::mark_as_meta_class(), and cdef_object::put().
Referenced by cdef_manager().
cdef_method cdef_manager::make_method | ( | const cdef_class & | cls, |
const std::string & | name, | ||
const octave_value & | fcn, | ||
const std::string & | m_access = "public" , |
||
bool | is_static = false |
||
) |
Definition at line 875 of file cdef-manager.cc.
References cdef_class::get_name(), octave_value::is_defined(), is_dummy_method(), make_function_of_class(), cdef_method::mark_as_external(), meta_method(), cdef_object::put(), cdef_object::set_class(), cdef_method::set_function(), and to_ov().
Referenced by make_method().
cdef_method cdef_manager::make_method | ( | const cdef_class & | cls, |
const std::string & | name, | ||
octave_builtin::fcn | ff, | ||
const std::string & | m_access = "public" , |
||
bool | is_static = false |
||
) |
Definition at line 904 of file cdef-manager.cc.
References make_method().
cdef_method cdef_manager::make_method | ( | const cdef_class & | cls, |
const std::string & | name, | ||
octave_builtin::meth | mm, | ||
const std::string & | m_access = "public" , |
||
bool | is_static = false |
||
) |
Definition at line 914 of file cdef-manager.cc.
References make_method().
cdef_package cdef_manager::make_package | ( | const std::string & | nm, |
const std::string & | parent = "" |
||
) |
Definition at line 924 of file cdef-manager.cc.
References find_package(), meta_package(), cdef_object::put(), register_package(), cdef_object::set_class(), and to_ov().
Referenced by find_package().
cdef_property cdef_manager::make_property | ( | const cdef_class & | cls, |
const std::string & | name, | ||
const octave_value & | get_method = Matrix () , |
||
const std::string & | get_access = "public" , |
||
const octave_value & | set_method = Matrix () , |
||
const std::string & | set_access = "public" |
||
) |
Definition at line 831 of file cdef-manager.cc.
References cdef_class::get_name(), octave_value::isempty(), make_function_of_class(), meta_property(), cdef_object::put(), cdef_object::set_class(), and to_ov().
Referenced by cdef_manager(), and make_attribute().
|
inline |
Definition at line 94 of file cdef-manager.h.
|
inline |
Definition at line 89 of file cdef-manager.h.
Referenced by make_class().
|
inline |
Definition at line 91 of file cdef-manager.h.
Referenced by make_method().
|
inline |
Definition at line 92 of file cdef-manager.h.
Referenced by make_package().
|
inline |
Definition at line 90 of file cdef-manager.h.
Referenced by make_property().
|
inline |
Definition at line 69 of file cdef-manager.h.
References cdef_class::get_name().
Referenced by make_class().
|
inline |
Definition at line 79 of file cdef-manager.h.
References cdef_package::get_name().
Referenced by make_package().
|
inline |
Definition at line 74 of file cdef-manager.h.
References cdef_class::get_name().
|
inline |
Definition at line 84 of file cdef-manager.h.
References cdef_package::get_name().