#include "cdef-object.h"
Public Member Functions | |
cdef_meta_object_rep (void) | |
~cdef_meta_object_rep (void)=default | |
virtual Array< cdef_object > | array_value (void) const |
void | break_closure_cycles (const std::shared_ptr< stack_frame > &frame) |
OCTINTERP_API std::string | class_name (void) const |
cdef_object_rep * | clone (void) const |
cdef_object_rep * | copy (void) const |
virtual void | destroy (void) |
dim_vector | dims (void) const |
cdef_object_rep * | empty_clone (void) const |
octave_value | get (const std::string &pname) const |
OCTINTERP_API cdef_class | get_class (void) const |
octave_value | get_property (octave_idx_type idx, const std::string &pname) const |
virtual bool | is_array (void) const |
virtual bool | is_class (void) const |
bool | is_constructed (void) const |
OCTINTERP_API bool | is_constructed_for (const cdef_class &cls) const |
bool | is_handle_object (void) const |
bool | is_meta_object (void) const |
virtual bool | is_method (void) const |
virtual bool | is_package (void) const |
OCTINTERP_API bool | is_partially_constructed_for (const cdef_class &cls) const |
virtual bool | is_property (void) const |
bool | is_valid (void) const |
virtual bool | is_value_object (void) const |
OCTINTERP_API cdef_object_rep * | make_array (void) const |
virtual string_vector | map_keys (void) const |
OCTINTERP_API void | mark_as_constructed (const cdef_class &cls) |
void | mark_as_constructed (void) |
OCTINTERP_API void | mark_for_construction (const cdef_class &) |
virtual bool | meta_accepts_postfix_index (char) const |
virtual void | meta_release (void) |
virtual octave_value_list | meta_subsref (const std::string &, const std::list< octave_value_list > &, int) |
cdef_meta_object_rep & | operator= (const cdef_meta_object_rep &)=delete |
void | put (const std::string &pname, const octave_value &val) |
OCTINTERP_API void | release (const cdef_object &obj) |
OCTINTERP_API void | set_class (const cdef_class &cls) |
void | set_property (octave_idx_type idx, const std::string &pname, const octave_value &pval) |
virtual octave_idx_type | static_count (void) const |
OCTINTERP_API octave_value | subsasgn (const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs) |
OCTINTERP_API octave_value_list | subsref (const std::string &type, const std::list< octave_value_list > &idx, int nargout, std::size_t &skip, const cdef_class &context, bool auto_add) |
Protected Member Functions | |
cdef_meta_object_rep (const cdef_meta_object_rep &obj) | |
Protected Attributes | |
refcount< octave_idx_type > | m_count |
std::map< cdef_class, std::list< cdef_class > > | m_ctor_list |
octave_scalar_map | m_map |
Private Member Functions | |
OCTAVE_NORETURN void | err_invalid_object (const char *who) const |
Private Attributes | |
cdef_object | m_klass |
Definition at line 611 of file cdef-object.h.
|
inline |
Definition at line 617 of file cdef-object.h.
|
default |
|
inlineprotected |
Definition at line 654 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::cdef_object_array.
Definition at line 97 of file cdef-object.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 504 of file cdef-object.cc.
References octave_value::break_closure_cycles(), octave_scalar_map::contents(), octave::cdef_object_scalar::m_map, and octave_scalar_map::nfields().
|
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 556 of file cdef-object.h.
References octave::cdef_object_rep::m_count.
|
inlinevirtual |
Reimplemented from octave::handle_cdef_object.
Reimplemented in octave::cdef_package::cdef_package_rep, and octave::cdef_property::cdef_property_rep.
Definition at line 623 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::cdef_class::cdef_class_rep, and octave::cdef_package::cdef_package_rep.
Definition at line 178 of file cdef-object.h.
Referenced by octave::cdef_object_rep::release().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 469 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 369 of file cdef-object.h.
|
inlineprivateinherited |
Definition at line 195 of file cdef-object.h.
References error().
Referenced by octave::cdef_object_rep::get_class().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 478 of file cdef-object.h.
References error(), and Array< T, Alloc >::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_class, and octave::cdef_object_base::m_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().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 498 of file cdef-object.h.
References error().
|
inlinevirtualinherited |
Reimplemented in octave::cdef_object_array.
Definition at line 89 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in octave::cdef_class::cdef_class_rep.
Definition at line 628 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 526 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 707 of file cdef-object.cc.
References octave::cdef_object_scalar::is_constructed(), and octave::cdef_object_scalar::m_ctor_list.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 570 of file cdef-object.h.
|
inlinevirtual |
Reimplemented from octave::cdef_object_rep.
Definition at line 626 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in octave::cdef_method::cdef_method_rep.
Definition at line 632 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in octave::cdef_package::cdef_package_rep.
Definition at line 634 of file cdef-object.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 714 of file cdef-object.cc.
References octave::cdef_object_scalar::is_constructed(), octave::cdef_object_scalar::is_partially_constructed_for(), and octave::cdef_object_scalar::m_ctor_list.
Referenced by octave::cdef_object_scalar::is_partially_constructed_for().
|
inlinevirtual |
Reimplemented in octave::cdef_property::cdef_property_rep.
Definition at line 630 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 568 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in octave::value_cdef_object.
Definition at line 91 of file cdef-object.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 206 of file cdef-object.cc.
References octave::cdef_object_base::get_class(), and octave::cdef_object_rep::set_class().
|
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 733 of file cdef-object.cc.
References octave::cdef_object_scalar::m_ctor_list.
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 522 of file cdef-object.h.
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 695 of file cdef-object.cc.
References octave_value::cell_value(), octave::cdef_object::get(), octave::cdef_class::get_name(), octave::lookup_classes(), and octave::cdef_object_scalar::m_ctor_list.
|
inlinevirtual |
Reimplemented in octave::cdef_class::cdef_class_rep, octave::cdef_method::cdef_method_rep, and octave::cdef_package::cdef_package_rep.
Definition at line 646 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in octave::cdef_class::cdef_class_rep, and octave::cdef_package::cdef_package_rep.
Definition at line 644 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in octave::cdef_class::cdef_class_rep, octave::cdef_method::cdef_method_rep, and octave::cdef_package::cdef_package_rep.
Definition at line 637 of file cdef-object.h.
References error().
|
delete |
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 473 of file cdef-object.h.
Referenced by octave::cdef_class::cdef_class_rep::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, interpreter::recover_from_exception(), octave::cdef_object_rep::static_count(), and warning().
|
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::m_klass, and octave::cdef_object::ok().
|
inlinevirtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 488 of file cdef-object.h.
References error().
|
inlinevirtualinherited |
Reimplemented in octave::cdef_class::cdef_class_rep, and octave::cdef_package::cdef_package_rep.
Definition at line 176 of file cdef-object.h.
Referenced by octave::cdef_object_rep::release().
|
virtualinherited |
Reimplemented from octave::cdef_object_rep.
Definition at line 615 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, 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 511 of file cdef-object.cc.
References octave::cdef_object_rep::cdef_object, 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(), octave::cdef_object::set_class(), octave::cdef_object::subsref(), and octave::to_ov().
|
protectedinherited |
Definition at line 187 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().
|
protectedinherited |
|
privateinherited |
Definition at line 386 of file cdef-object.h.
Referenced by octave::cdef_object_base::get_class(), and octave::cdef_object_base::set_class().
|
protectedinherited |
Definition at line 531 of file cdef-object.h.
Referenced by octave::cdef_object_scalar::break_closure_cycles().