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> ());
108 make_meta_class (
const std::string&
name,
const cdef_class& super);
113 const std::string& get_access =
"public",
115 const std::string& set_access =
"public");
123 const std::string& m_access =
"public",
124 bool is_static =
false);
129 const std::string& m_access =
"public",
130 bool is_static =
false);
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;
interpreter & operator=(const interpreter &)=delete
std::string get_name(void) const
std::map< std::string, cdef_package > m_all_packages
interpreter & m_interpreter
const cdef_package & meta(void) const
std::map< std::string, cdef_class > m_all_classes
const cdef_class & meta_method(void) const
cdef_manager(const cdef_manager &)=delete
void register_package(const cdef_package &pkg)
void unregister_class(const cdef_class &cls)
cdef_class m_meta_package
void register_class(const cdef_class &cls)
const cdef_class & meta_property(void) const
cdef_class m_meta_property
const cdef_class & meta_class(void) const
void unregister_package(const cdef_package &pkg)
~cdef_manager(void)=default
const cdef_class & meta_package(void) const
std::string get_name(void) const
octave_value_list(* fcn)(const octave_value_list &, int)
octave_value_list(* meth)(octave::interpreter &, const octave_value_list &, int)