26#if ! defined (octave_cdef_manager_h)
27#define octave_cdef_manager_h 1
29#include "octave-config.h"
53 find_class (
const std::string& name,
bool error_if_not_found =
true,
54 bool load_if_not_found =
true);
57 find_method_symbol (
const std::string& method_name,
58 const std::string& class_name);
61 find_package (
const std::string& name,
bool error_if_not_found =
true,
62 bool load_if_not_found =
true);
65 find_package_symbol (
const std::string& pack_name);
69 m_all_classes[cls.
get_name ()] = cls;
74 m_all_classes.erase(cls.
get_name ());
79 m_all_packages[pkg.
get_name ()] = pkg;
84 m_all_packages.erase (pkg.
get_name ());
95 make_class (
const std::string& name,
96 const std::list<cdef_class>& super_list = std::list<cdef_class> ());
99 make_class (
const std::string& name,
const cdef_class& super);
102 make_meta_class (
const std::string& name,
const cdef_class& super);
105 make_property (
const cdef_class& cls,
const std::string& name,
107 const std::string& get_access =
"public",
109 const std::string& set_access =
"public");
112 make_attribute (
const cdef_class& cls,
const std::string& name);
115 make_method (
const cdef_class& cls,
const std::string& name,
117 const std::string& m_access =
"public",
118 bool is_static =
false);
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_package (
const std::string& nm,
const std::string& parent =
"");
136 find_method (
const std::string& class_name,
137 const std::string& name)
const;
144 std::map<std::string, cdef_class> m_all_classes;
147 std::map<std::string, cdef_package> m_all_packages;
157OCTAVE_END_NAMESPACE(octave)
std::string get_name() const
void unregister_package(const cdef_package &pkg)
const cdef_class & meta_package() const
const cdef_package & meta() const
const cdef_class & meta_property() const
const cdef_class & meta_method() const
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)
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