26 #if ! defined (octave_cdef_manager_h)
27 #define octave_cdef_manager_h 1
29 #include "octave-config.h"
59 find_class (
const std::string& name,
bool error_if_not_found =
true,
60 bool load_if_not_found =
true);
63 find_method_symbol (
const std::string& method_name,
64 const std::string& class_name);
67 find_package (
const std::string& name,
bool error_if_not_found =
true,
68 bool load_if_not_found =
true);
71 find_package_symbol (
const std::string& pack_name);
75 m_all_classes[cls.
get_name ()] = cls;
80 m_all_classes.erase(cls.
get_name ());
85 m_all_packages[pkg.
get_name ()] = pkg;
90 m_all_packages.erase (pkg.
get_name ());
101 make_class (
const std::string& name,
102 const std::list<cdef_class>& super_list = std::list<cdef_class> ());
105 make_class (
const std::string& name,
const cdef_class& super);
108 make_meta_class (
const std::string& name,
const cdef_class& super);
111 make_property (
const cdef_class& cls,
const std::string& name,
113 const std::string& get_access =
"public",
115 const std::string& set_access =
"public");
118 make_attribute (
const cdef_class& cls,
const std::string& name);
121 make_method (
const cdef_class& cls,
const std::string& name,
123 const std::string& m_access =
"public",
124 bool is_static =
false);
127 make_method (
const cdef_class& cls,
const std::string& name,
129 const std::string& m_access =
"public",
130 bool is_static =
false);
133 make_method (
const cdef_class& cls,
const std::string& name,
135 const std::string& m_access =
"public",
136 bool is_static =
false);
139 make_package (
const std::string& nm,
const std::string& parent =
"");
142 find_method (
const std::string& class_name,
143 const std::string& name)
const;
std::string get_name(void) const
~cdef_manager(void)=default
const cdef_package & meta(void) const
cdef_manager(const cdef_manager &)=delete
void unregister_package(const cdef_package &pkg)
const cdef_class & meta_method(void) const
const cdef_class & meta_property(void) const
cdef_class m_meta_property
void unregister_class(const cdef_class &cls)
void register_package(const cdef_package &pkg)
cdef_class m_meta_package
const cdef_class & meta_package(void) const
std::map< std::string, cdef_package > m_all_packages
interpreter & m_interpreter
const cdef_class & meta_class(void) const
std::map< std::string, cdef_class > m_all_classes
void register_class(const cdef_class &cls)
std::string get_name(void) const
interpreter & operator=(const interpreter &)=delete
octave_value_list(* fcn)(const octave_value_list &, int)
octave_value_list(* meth)(octave::interpreter &, const octave_value_list &, int)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn