Public Member Functions | |
cdef_class_rep (const std::list< cdef_class > &superclasses) | |
cdef_class_rep (void) | |
~cdef_class_rep (void)=default | |
virtual Array< cdef_object > | array_value (void) const |
std::string | class_name (void) const |
cdef_object_rep * | clone (void) const |
octave_value | construct (const octave_value_list &args) |
cdef_object | construct_object (const octave_value_list &args) |
cdef_object_rep * | copy (void) const |
void | delete_object (const cdef_object &obj) |
void | destroy (void) |
dim_vector | dims (void) const |
void | doc_string (const std::string &txt) |
std::string | doc_string (void) const |
cdef_object_rep * | empty_clone (void) const |
cdef_method | find_method (const std::string &nm, bool local=false) |
cdef_property | find_property (const std::string &nm) |
octave_value | get (const std::string &pname) const |
cdef_class | get_class (void) const |
std::string | get_directory (void) const |
octave_value | get_method (const std::string &name) const |
std::map< std::string, cdef_method > | get_method_map (bool only_inherited, bool include_ctor) |
Cell | get_methods (bool include_ctor) |
std::string | get_name (void) const |
string_vector | get_names (void) |
Cell | get_properties (int mode) |
octave_value | get_property (octave_idx_type idx, const std::string &pname) const |
std::map< std::string, cdef_property > | get_property_map (int mode) |
void | initialize_object (cdef_object &obj) |
void | install_method (const cdef_method &meth) |
void | install_property (const cdef_property &prop) |
bool | is_abstract (void) const |
virtual bool | is_array (void) const |
bool | is_class (void) const |
bool | is_constructed (void) const |
bool | is_constructed_for (const cdef_class &cls) const |
bool | is_handle_class (void) const |
bool | is_handle_object (void) const |
bool | is_meta_class (void) const |
bool | is_meta_object (void) const |
virtual bool | is_method (void) const |
virtual bool | is_package (void) const |
bool | is_partially_constructed_for (const cdef_class &cls) const |
virtual bool | is_property (void) const |
bool | is_sealed (void) const |
bool | is_valid (void) const |
virtual bool | is_value_object (void) const |
cdef_object_rep * | make_array (void) const |
virtual string_vector | map_keys (void) const |
void | mark_as_constructed (const cdef_class &cls) |
void | mark_as_constructed (void) |
void | mark_as_handle_class (void) |
void | mark_as_meta_class (void) |
void | mark_for_construction (const cdef_class &) |
bool | meta_accepts_postfix_index (char type) const |
void | meta_release (void) |
octave_value_list | meta_subsref (const std::string &type, const std::list< octave_value_list > &idx, int nargout) |
cdef_class_rep & | operator= (const cdef_class_rep &)=delete |
void | put (const std::string &pname, const octave_value &val) |
void | release (const cdef_object &obj) |
void | run_constructor (cdef_object &obj, const octave_value_list &args) |
void | set_class (const cdef_class &cls) |
void | set_directory (const std::string &dir) |
void | set_name (const std::string &nm) |
void | set_property (octave_idx_type idx, const std::string &pname, const octave_value &pval) |
octave_idx_type | static_count (void) const |
octave_value | subsasgn (const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs) |
octave_value_list | subsref (const std::string &type, const std::list< octave_value_list > &idx, int nargout, size_t &skip, const cdef_class &context, bool auto_add) |
Protected Attributes | |
std::map< cdef_class, std::list< cdef_class > > | ctor_list |
refcount< octave_idx_type > | m_count |
octave_scalar_map | map |
Private Types | |
typedef std::map< std::string, cdef_method >::const_iterator | method_const_iterator |
typedef std::map< std::string, cdef_method >::iterator | method_iterator |
typedef std::map< std::string, cdef_property >::const_iterator | property_const_iterator |
typedef std::map< std::string, cdef_property >::iterator | property_iterator |
Private Member Functions | |
cdef_class_rep (const cdef_class_rep &c)=default | |
OCTAVE_NORETURN void | err_invalid_object (const char *who) const |
void | find_methods (std::map< std::string, cdef_method > &meths, bool only_inherited, bool include_ctor=false) |
void | find_names (std::set< std::string > &names, bool all) |
void | find_properties (std::map< std::string, cdef_property > &props, int mode=0) |
void | load_all_methods (void) |
cdef_class | wrap (void) |
Private Attributes | |
std::string | directory |
bool | handle_class |
std::list< cdef_class > | implicit_ctor_list |
cdef_object | klass |
std::string | m_doc_string |
octave_idx_type | member_count |
bool | meta |
std::map< std::string, cdef_method > | method_map |
std::map< std::string, cdef_property > | property_map |
Definition at line 55 of file cdef-class.h.
|
private |
Definition at line 213 of file cdef-class.h.
|
private |
Definition at line 212 of file cdef-class.h.
|
private |
Definition at line 215 of file cdef-class.h.
|
private |
Definition at line 214 of file cdef-class.h.
|
inline |
Definition at line 59 of file cdef-class.h.
octave::cdef_class::cdef_class_rep::cdef_class_rep | ( | const std::list< cdef_class > & | superclasses | ) |
Definition at line 83 of file cdef-class.cc.
References implicit_ctor_list, octave::cdef_object_scalar::put(), and octave::to_ov().
|
default |
|
privatedefault |
|
inlinevirtualinherited |
Reimplemented in octave::cdef_object_array.
Definition at line 98 of file cdef-object.h.
|
inherited |
Definition at line 120 of file cdef-object.cc.
References octave::cdef_object_rep::get_class(), and octave::cdef_class::get_name().
Referenced by octave::cdef_object_array::subsasgn(), and octave::cdef_object_array::subsref().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 539 of file cdef-object.h.
References octave::cdef_object_rep::m_count.
octave_value octave::cdef_class::cdef_class_rep::construct | ( | const octave_value_list & | args | ) |
Definition at line 719 of file cdef-class.cc.
References octave::cdef_class::construct_object(), octave_value(), octave::cdef_object::ok(), and octave::to_ov().
cdef_object octave::cdef_class::cdef_class_rep::construct_object | ( | const octave_value_list & | args | ) |
Definition at line 730 of file cdef-class.cc.
References octave::cdef_object::cdef_object(), octave::__get_cdef_manager__(), error(), octave::cdef_class::get_name(), octave::cdef_class::initialize_object(), octave::cdef_class::is_abstract(), octave::cdef_class::is_handle_class(), octave::cdef_class::is_meta_class(), octave::cdef_manager::make_class(), octave::cdef_manager::make_method(), octave::cdef_manager::make_package(), octave::cdef_manager::make_property(), octave::cdef_manager::meta_class(), octave::cdef_manager::meta_method(), octave::cdef_manager::meta_package(), octave::cdef_manager::meta_property(), octave::cdef_object::ok(), panic_impossible, octave::cdef_class::run_constructor(), and octave::cdef_object::set_class().
|
inlinevirtual |
Reimplemented from octave::cdef_object_rep.
Definition at line 70 of file cdef-class.h.
void octave::cdef_class::cdef_class_rep::delete_object | ( | const cdef_object & | obj | ) |
Definition at line 529 of file cdef-class.cc.
References octave_value::cell_value(), octave::cdef_class::delete_object(), octave::cdef_method::execute(), octave::cdef_class::find_method(), octave::cdef_object::get(), octave::cdef_class::get_name(), octave::cdef_method::is_defined_in_class(), octave::lookup_class(), Array< T >::numel(), and octave::cdef_object::ok().
|
inlinevirtual |
Reimplemented from octave::cdef_object_rep.
Definition at line 135 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 456 of file cdef-object.h.
|
inline |
Definition at line 154 of file cdef-class.h.
|
inline |
Definition at line 156 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 358 of file cdef-object.h.
|
inlineprivateinherited |
Definition at line 191 of file cdef-object.h.
References error().
Referenced by octave::cdef_object_rep::get_class().
cdef_method octave::cdef_class::cdef_class_rep::find_method | ( | const std::string & | nm, |
bool | local = false |
||
) |
Definition at line 92 of file cdef-class.cc.
References octave_value::cell_value(), octave::cdef_class::find_method(), octave::cdef_object::get(), octave::lookup_class(), Array< T >::numel(), and octave::cdef_object::ok().
Referenced by octave::cdef_class::find_method().
|
private |
Definition at line 315 of file cdef-class.cc.
References octave_value::cell_value(), find_methods(), octave::cdef_object::get(), octave::cdef_class::get_rep(), octave_value::is_string(), octave::lookup_class(), Array< T >::numel(), and octave_value::string_value().
Referenced by find_methods().
|
private |
Definition at line 464 of file cdef-class.cc.
References octave_value::cell_value(), find_names(), octave::cdef_object::get(), octave::cdef_class::get_rep(), octave_value::is_string(), octave::lookup_class(), Array< T >::numel(), and octave_value::string_value().
Referenced by find_names().
|
private |
Definition at line 423 of file cdef-class.cc.
References octave_value::cell_value(), find_properties(), octave::cdef_object::get(), octave::cdef_class::get_rep(), octave_value::is_string(), octave::lookup_class(), Array< T >::numel(), octave::cdef_class::property_all, octave::cdef_class::property_inherited, and octave_value::string_value().
Referenced by find_properties().
cdef_property octave::cdef_class::cdef_class_rep::find_property | ( | const std::string & | nm | ) |
Definition at line 358 of file cdef-class.cc.
References octave_value::cell_value(), octave::cdef_class::find_property(), octave::cdef_object::get(), octave::lookup_class(), Array< T >::numel(), and octave::cdef_object::ok().
Referenced by octave::cdef_class::find_property().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 463 of file cdef-object.h.
References error(), and Array< T >::numel().
Referenced by octave::cdef_property::cdef_property_rep::get_value().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 189 of file cdef-object.cc.
References octave::cdef_object_base::klass.
Referenced by octave::handle_cdef_object::~handle_cdef_object(), octave::value_cdef_object::~value_cdef_object(), octave::cdef_object_array::fill_empty_values(), octave::cdef_object_base::make_array(), octave::cdef_object_base::set_class(), octave::cdef_object_array::subsasgn(), octave::cdef_object_scalar::subsasgn(), octave::cdef_object_array::subsref(), and octave::cdef_object_scalar::subsref().
|
inline |
Definition at line 104 of file cdef-class.h.
octave_value octave::cdef_class::cdef_class_rep::get_method | ( | const std::string & | name | ) | const |
Definition at line 707 of file cdef-class.cc.
References name, and octave_value().
std::map< std::string, cdef_method > octave::cdef_class::cdef_class_rep::get_method_map | ( | bool | only_inherited, |
bool | include_ctor | ||
) |
Definition at line 304 of file cdef-class.cc.
Cell octave::cdef_class::cdef_class_rep::get_methods | ( | bool | include_ctor | ) |
Definition at line 287 of file cdef-class.cc.
References octave::to_ov().
|
inline |
Definition at line 74 of file cdef-class.h.
string_vector octave::cdef_class::cdef_class_rep::get_names | ( | void | ) |
Definition at line 517 of file cdef-class.cc.
References string_vector::sort().
Cell octave::cdef_class::cdef_class_rep::get_properties | ( | int | mode | ) |
Definition at line 396 of file cdef-class.cc.
References octave::cdef_class::get_property_map(), and octave::to_ov().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 483 of file cdef-object.h.
References error().
std::map< std::string, cdef_property > octave::cdef_class::cdef_class_rep::get_property_map | ( | int | mode | ) |
Definition at line 413 of file cdef-class.cc.
void octave::cdef_class::cdef_class_rep::initialize_object | ( | cdef_object & | obj | ) |
Definition at line 643 of file cdef-class.cc.
References octave::cdef_object::get(), octave_value::is_defined(), octave::lookup_classes(), octave::cdef_object::mark_for_construction(), and octave::cdef_object::put().
void octave::cdef_class::cdef_class_rep::install_method | ( | const cdef_method & | meth | ) |
Definition at line 232 of file cdef-class.cc.
References octave::tree_statement_list::accept(), octave_user_code::body(), error(), octave::base_list< elt_type >::front(), octave::ctor_analyzer::get_constructor_list(), octave::cdef_method::get_function(), octave::cdef_method::get_name(), octave::cdef_method::is_constructor(), octave_value::is_defined(), octave::tree_decl_elt::name(), octave_user_function::return_list(), octave::base_list< elt_type >::size(), and octave_value::user_function_value().
void octave::cdef_class::cdef_class_rep::install_property | ( | const cdef_property & | prop | ) |
Definition at line 388 of file cdef-class.cc.
References octave::cdef_property::get_name().
|
inline |
Definition at line 79 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented in octave::cdef_object_array.
Definition at line 90 of file cdef-object.h.
|
inlinevirtual |
Reimplemented from octave::cdef_meta_object_rep.
Definition at line 72 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 510 of file cdef-object.h.
Referenced by octave::cdef_object_scalar::is_constructed_for(), and octave::cdef_object_scalar::is_partially_constructed_for().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 699 of file cdef-object.cc.
References octave::cdef_object_scalar::ctor_list, and octave::cdef_object_scalar::is_constructed().
|
inline |
Definition at line 131 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 553 of file cdef-object.h.
|
inline |
Definition at line 152 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 607 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::cdef_method::cdef_method_rep.
Definition at line 613 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::cdef_package::cdef_package_rep.
Definition at line 615 of file cdef-object.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 706 of file cdef-object.cc.
References octave::cdef_object_scalar::ctor_list, and octave::cdef_object_scalar::is_constructed().
|
inlinevirtualinherited |
Reimplemented in octave::cdef_property::cdef_property_rep.
Definition at line 611 of file cdef-object.h.
|
inline |
Definition at line 81 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 551 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::value_cdef_object.
Definition at line 92 of file cdef-object.h.
|
private |
Definition at line 281 of file cdef-class.cc.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 206 of file cdef-object.cc.
References octave::cdef_object_base::get_class(), and r.
|
virtualinherited |
Definition at line 126 of file cdef-object.cc.
References octave::cdef_object_rep::get_class(), octave::cdef_class::get_names(), and octave::cdef_object::ok().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 725 of file cdef-object.cc.
References octave::cdef_object_scalar::ctor_list.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 506 of file cdef-object.h.
|
inline |
Definition at line 129 of file cdef-class.h.
|
inline |
Definition at line 150 of file cdef-class.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 687 of file cdef-object.cc.
References octave_value::cell_value(), octave::cdef_object_scalar::ctor_list, octave::cdef_object::get(), octave::cdef_class::get_name(), and octave::lookup_classes().
|
inlinevirtual |
Reimplemented from octave::cdef_meta_object_rep.
Definition at line 114 of file cdef-class.h.
|
virtual |
Reimplemented from octave::cdef_meta_object_rep.
Definition at line 634 of file cdef-class.cc.
References octave::__get_cdef_manager__(), and octave::cdef_manager::unregister_class().
|
virtual |
Reimplemented from octave::cdef_meta_object_rep.
Definition at line 555 of file cdef-class.cc.
References octave::cdef_class::construct(), error(), octave::cdef_method::execute(), octave::cdef_class::find_method(), octave::cdef_class::find_property(), octave::cdef_property::get_value(), octave::cdef_property::is_constant(), octave::cdef_method::is_static(), octave::cdef_object::ok(), and retval.
|
delete |
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 458 of file cdef-object.h.
Referenced by cdef_class_rep().
|
inherited |
Definition at line 44 of file cdef-object.cc.
References octave::__get_interpreter__(), octave::cdef_class::delete_object(), octave::cdef_object_rep::destroy(), octave::cdef_object_rep::get_class(), interpreter_try(), octave::cdef_object_rep::is_handle_object(), octave::cdef_object_rep::is_meta_object(), octave::cdef_object_rep::m_count, octave_interrupt_state, octave::action_container::protect_var(), quit_allowed, octave::interpreter::recover_from_exception(), octave::cdef_object_rep::static_count(), and warning().
void octave::cdef_class::cdef_class_rep::run_constructor | ( | cdef_object & | obj, |
const octave_value_list & | args | ||
) |
Definition at line 671 of file cdef-class.cc.
References error(), octave::cdef_method::execute(), octave::cdef_class::find_method(), octave::get_base_name(), octave::cdef_class::get_name(), octave_value_list::length(), octave::lookup_class(), octave::cdef_object::mark_as_constructed(), octave::cdef_object::ok(), octave_value_list::prepend(), octave::cdef_class::run_constructor(), octave::to_cdef(), and octave::to_ov().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 195 of file cdef-object.cc.
References octave::cdef_object_base::get_class(), octave::cdef_object_base::klass, and octave::cdef_object::ok().
|
inline |
Definition at line 102 of file cdef-class.h.
|
inline |
Definition at line 77 of file cdef-class.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 473 of file cdef-object.h.
References error().
|
inlinevirtual |
Reimplemented from octave::cdef_object_rep.
Definition at line 133 of file cdef-class.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 607 of file cdef-object.cc.
References octave_value::assign(), octave::cdef_object_rep::cdef_object, octave_value::class_name(), error(), octave::cdef_class::find_property(), octave::cdef_object_base::get_class(), octave::cdef_property::get_value(), octave::cdef_property::is_constant(), octave::cdef_object_rep::is_handle_object(), octave::cdef_object_rep::m_count, name, octave::cdef_object::ok(), octave_value::op_asn_eq, retval, octave::cdef_object::set_class(), octave::cdef_property::set_value(), octave::cdef_object::subsasgn(), octave::to_cdef(), and octave::to_ov().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 503 of file cdef-object.cc.
References octave::cdef_object_rep::cdef_object, octave::context, octave_value_list::empty(), error(), octave::cdef_method::execute(), octave::cdef_class::find_method(), octave::cdef_class::find_property(), octave::cdef_object_base::get_class(), octave::cdef_property::get_value(), octave::cdef_property::is_constant(), octave::cdef_method::is_static(), octave::cdef_object_rep::m_count, name, octave::cdef_object::ok(), retval, octave::cdef_object::set_class(), octave::cdef_object::subsref(), and octave::to_ov().
|
inlineprivate |
Definition at line 170 of file cdef-class.h.
|
protectedinherited |
|
private |
Definition at line 179 of file cdef-class.h.
|
private |
Definition at line 198 of file cdef-class.h.
|
private |
Definition at line 204 of file cdef-class.h.
Referenced by cdef_class_rep().
|
privateinherited |
Definition at line 375 of file cdef-object.h.
Referenced by octave::cdef_object_base::get_class(), and octave::cdef_object_base::set_class().
|
protectedinherited |
Definition at line 183 of file cdef-object.h.
Referenced by octave::handle_cdef_object::clone(), octave::cdef_object::operator=(), octave::cdef_object_rep::release(), octave::cdef_object_array::subsasgn(), octave::cdef_object_scalar::subsasgn(), octave::cdef_object_array::subsref(), and octave::cdef_object_scalar::subsref().
|
private |
Definition at line 181 of file cdef-class.h.
|
protectedinherited |
Definition at line 515 of file cdef-object.h.
|
private |
Definition at line 193 of file cdef-class.h.
|
private |
Definition at line 208 of file cdef-class.h.
|
private |
Definition at line 185 of file cdef-class.h.
|
private |
Definition at line 189 of file cdef-class.h.