26 #if ! defined (octave_cdef_manager_h)
27 #define octave_cdef_manager_h 1
29 #include "octave-config.h"
55 find_class (
const std::string& name,
bool error_if_not_found =
true,
56 bool load_if_not_found =
true);
59 find_method_symbol (
const std::string& method_name,
60 const std::string& class_name);
63 find_package (
const std::string& name,
bool error_if_not_found =
true,
64 bool load_if_not_found =
true);
67 find_package_symbol (
const std::string& pack_name);
71 m_all_classes[cls.
get_name ()] = cls;
76 m_all_classes.erase(cls.
get_name ());
81 m_all_packages[pkg.
get_name ()] = pkg;
86 m_all_packages.erase (pkg.
get_name ());
97 make_class (
const std::string& name,
98 const std::list<cdef_class>& super_list = std::list<cdef_class> ());
101 make_class (
const std::string& name,
const cdef_class& super);
104 make_meta_class (
const std::string& name,
const cdef_class& super);
107 make_property (
const cdef_class& cls,
const std::string& name,
109 const std::string& get_access =
"public",
111 const std::string& set_access =
"public");
114 make_attribute (
const cdef_class& cls,
const std::string& name);
117 make_method (
const cdef_class& cls,
const std::string& name,
119 const std::string& m_access =
"public",
120 bool is_static =
false);
123 make_method (
const cdef_class& cls,
const std::string& name,
125 const std::string& m_access =
"public",
126 bool is_static =
false);
129 make_method (
const cdef_class& cls,
const std::string& name,
131 const std::string& m_access =
"public",
132 bool is_static =
false);
135 make_package (
const std::string& nm,
const std::string& parent =
"");
138 find_method (
const std::string& class_name,
139 const std::string& name)
const;
146 std::map<std::string, cdef_class> m_all_classes;
149 std::map<std::string, cdef_package> m_all_packages;
159 OCTAVE_END_NAMESPACE(
octave)
std::string get_name() const
const cdef_package & meta() const
const cdef_class & meta_method() const
const cdef_class & meta_property() const
void unregister_package(const cdef_package &pkg)
void unregister_class(const cdef_class &cls)
void register_package(const cdef_package &pkg)
const cdef_class & meta_class() const
void register_class(const cdef_class &cls)
const cdef_class & meta_package() const
std::string get_name() const
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