Public Member Functions | |
cdef_property_rep (void) | |
~cdef_property_rep (void)=default | |
virtual Array< cdef_object > | array_value (void) const |
void | break_closure_cycles (const std::shared_ptr< stack_frame > &frame) |
OCTINTERP_API bool | check_get_access (void) const |
OCTINTERP_API bool | check_set_access (void) const |
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 |
std::string | get_name (void) const |
octave_value | get_property (octave_idx_type idx, const std::string &pname) const |
octave_value | get_value (bool do_check_access=true, const std::string &who="") const |
octave_value | get_value (const cdef_object &obj, bool do_check_access=true, const std::string &who="") const |
virtual bool | is_array (void) const |
virtual bool | is_class (void) const |
bool | is_constant (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 |
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_property_rep & | operator= (const cdef_property_rep &p)=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_name (const std::string &nm) |
void | set_property (octave_idx_type idx, const std::string &pname, const octave_value &pval) |
void | set_value (cdef_object &obj, const octave_value &val, bool do_check_access=true, const std::string &who="") |
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 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 | |
cdef_property_rep (const cdef_property_rep &p) | |
OCTAVE_NORETURN void | err_invalid_object (const char *who) const |
OCTINTERP_API OCTAVE_NORETURN void | err_property_access (const std::string &from, bool is_set=false) const |
OCTINTERP_API bool | is_recursive_set (const cdef_object &obj) const |
cdef_property | wrap (void) |
Private Attributes | |
cdef_object | m_klass |
Definition at line 51 of file cdef-property.h.
|
inline |
Definition at line 56 of file cdef-property.h.
|
default |
|
inlineprivate |
Definition at line 91 of file cdef-property.h.
|
inlinevirtualinherited |
Reimplemented in cdef_object_array.
Definition at line 97 of file cdef-object.h.
Referenced by cdef_object::array_value().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 504 of file cdef-object.cc.
References octave_value::break_closure_cycles(), octave_scalar_map::contents(), cdef_object_scalar::m_map, and octave_scalar_map::nfields().
bool cdef_property::cdef_property_rep::check_get_access | ( | void | ) | const |
Definition at line 233 of file cdef-property.cc.
References check_access(), cdef_object::get(), cdef_property::get_name(), and to_cdef().
Referenced by get_value().
bool cdef_property::cdef_property_rep::check_set_access | ( | void | ) | const |
Definition at line 243 of file cdef-property.cc.
References check_access(), cdef_object::get(), cdef_property::get_name(), and to_cdef().
|
inherited |
Definition at line 120 of file cdef-object.cc.
References cdef_object_rep::get_class(), and cdef_class::get_name().
Referenced by cdef_object::class_name(), cdef_object_array::subsasgn(), and cdef_object_array::subsref().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 558 of file cdef-object.h.
References cdef_object_rep::m_count.
|
inlinevirtual |
Reimplemented from cdef_meta_object_rep.
Definition at line 62 of file cdef-property.h.
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep, and cdef_class::cdef_class_rep.
Definition at line 178 of file cdef-object.h.
Referenced by cdef_object_rep::release().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 471 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 371 of file cdef-object.h.
|
inlineprivateinherited |
Definition at line 195 of file cdef-object.h.
References error().
Referenced by cdef_object_rep::get_class().
|
private |
Definition at line 162 of file cdef-property.cc.
References error(), cdef_object::get(), cdef_property::get_name(), octave_value::is_string(), and octave_value::string_value().
Referenced by get_value().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 480 of file cdef-object.h.
References error(), and Array< T, Alloc >::numel().
Referenced by get_value().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 189 of file cdef-object.cc.
References cdef_class, and cdef_object_base::m_klass.
Referenced by handle_cdef_object::~handle_cdef_object(), value_cdef_object::~value_cdef_object(), cdef_object_array::fill_empty_values(), cdef_object_base::make_array(), cdef_object_base::set_class(), cdef_object_array::subsasgn(), cdef_object_scalar::subsasgn(), cdef_object_array::subsref(), and cdef_object_scalar::subsref().
|
inline |
Definition at line 69 of file cdef-property.h.
References cdef_object::get(), and octave_value::string_value().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 500 of file cdef-object.h.
References error(), and cdef_object::get().
octave_value cdef_property::cdef_property_rep::get_value | ( | bool | do_check_access = true , |
const std::string & | who = "" |
||
) | const |
Definition at line 145 of file cdef-property.cc.
References cdef_property::check_get_access(), and cdef_object::get().
octave_value cdef_property::cdef_property_rep::get_value | ( | const cdef_object & | obj, |
bool | do_check_access = true , |
||
const std::string & | who = "" |
||
) | const |
Definition at line 106 of file cdef-property.cc.
References check_get_access(), err_property_access(), error(), feval(), cdef_object::get(), cdef_object_scalar::get(), cdef_class::get_name(), cdef_object::is_constructed(), is_method_executing(), cdef_object::is_partially_constructed_for(), octave_value::isempty(), to_cdef(), and to_ov().
|
inlinevirtualinherited |
Reimplemented in cdef_object_array.
Definition at line 89 of file cdef-object.h.
Referenced by cdef_object::is_array().
|
inlinevirtualinherited |
Reimplemented in cdef_class::cdef_class_rep.
Definition at line 630 of file cdef-object.h.
|
inline |
Definition at line 73 of file cdef-property.h.
References octave_value::bool_value(), and cdef_object::get().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 528 of file cdef-object.h.
Referenced by cdef_object_scalar::is_constructed_for(), and cdef_object_scalar::is_partially_constructed_for().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 707 of file cdef-object.cc.
References cdef_object_scalar::is_constructed(), and cdef_object_scalar::m_ctor_list.
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 572 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 628 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in cdef_method::cdef_method_rep.
Definition at line 634 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep.
Definition at line 636 of file cdef-object.h.
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 714 of file cdef-object.cc.
References cdef_object_scalar::is_constructed(), and cdef_object_scalar::m_ctor_list.
|
inlinevirtual |
Reimplemented from cdef_meta_object_rep.
Definition at line 67 of file cdef-property.h.
|
private |
Definition at line 155 of file cdef-property.cc.
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 570 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in value_cdef_object.
Definition at line 91 of file cdef-object.h.
Referenced by cdef_object::is_value_object().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 206 of file cdef-object.cc.
References cdef_object_base::get_class(), and r.
|
virtualinherited |
Definition at line 126 of file cdef-object.cc.
References cdef_object_rep::get_class(), cdef_class::get_names(), and cdef_object::ok().
Referenced by cdef_object::map_keys().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 733 of file cdef-object.cc.
References cdef_object_scalar::m_ctor_list.
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 524 of file cdef-object.h.
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 695 of file cdef-object.cc.
References octave_value::cell_value(), cdef_object::get(), cdef_class::get_name(), lookup_classes(), and cdef_object_scalar::m_ctor_list.
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep, cdef_method::cdef_method_rep, and cdef_class::cdef_class_rep.
Definition at line 648 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep, and cdef_class::cdef_class_rep.
Definition at line 646 of file cdef-object.h.
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep, cdef_method::cdef_method_rep, and cdef_class::cdef_class_rep.
Definition at line 639 of file cdef-object.h.
References error().
|
delete |
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 475 of file cdef-object.h.
Referenced by cdef_class::cdef_class_rep::cdef_class_rep().
|
inherited |
Definition at line 44 of file cdef-object.cc.
References __get_interpreter__(), cdef_class::delete_object(), cdef_object_rep::destroy(), cdef_object_rep::get_class(), interpreter_try(), cdef_object_rep::is_handle_object(), cdef_object_rep::is_meta_object(), cdef_object_rep::m_count, octave_interrupt_state, action_container::protect_var(), quit_allowed, interpreter::recover_from_exception(), cdef_object_rep::static_count(), and warning().
Referenced by cdef_object::~cdef_object(), and cdef_object::operator=().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 195 of file cdef-object.cc.
References cdef_object_base::get_class(), cdef_object_base::m_klass, and cdef_object::ok().
|
inline |
Definition at line 71 of file cdef-property.h.
References cdef_object::put().
|
inlinevirtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 490 of file cdef-object.h.
References error(), and cdef_object::put().
void cdef_property::cdef_property_rep::set_value | ( | cdef_object & | obj, |
const octave_value & | val, | ||
bool | do_check_access = true , |
||
const std::string & | who = "" |
||
) |
Definition at line 182 of file cdef-property.cc.
References cdef_property::check_set_access(), error(), feval(), cdef_object::get(), cdef_class::get_name(), cdef_property::get_name(), cdef_object::is_constructed(), cdef_object::is_handle_object(), is_method_executing(), cdef_object::is_partially_constructed_for(), octave_value::isempty(), octave_value_list::length(), cdef_object::put(), to_cdef(), to_ov(), and warning().
|
inlinevirtualinherited |
Reimplemented in cdef_package::cdef_package_rep, and cdef_class::cdef_class_rep.
Definition at line 176 of file cdef-object.h.
Referenced by cdef_object_rep::release().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 615 of file cdef-object.cc.
References octave_value::assign(), cdef_object_rep::cdef_object, octave_value::class_name(), error(), cdef_class::find_property(), cdef_object_base::get_class(), cdef_property::get_value(), cdef_property::is_constant(), cdef_object_rep::is_handle_object(), cdef_object_rep::m_count, cdef_object::ok(), octave_value::op_asn_eq, cdef_object::set_class(), cdef_property::set_value(), cdef_object::subsasgn(), to_cdef(), and to_ov().
|
virtualinherited |
Reimplemented from cdef_object_rep.
Definition at line 511 of file cdef-object.cc.
References cdef_object_rep::cdef_object, octave_value_list::empty(), error(), cdef_method::execute(), cdef_class::find_method(), cdef_class::find_property(), cdef_object_base::get_class(), cdef_property::get_value(), cdef_property::is_constant(), cdef_method::is_static(), cdef_object_rep::m_count, cdef_object::ok(), cdef_object::set_class(), cdef_object::subsref(), and to_ov().
|
inlineprivate |
Definition at line 97 of file cdef-property.h.
|
protectedinherited |
Definition at line 187 of file cdef-object.h.
Referenced by cdef_object::cdef_object(), handle_cdef_object::clone(), cdef_object::make_unique(), cdef_object::operator=(), cdef_object_rep::release(), cdef_object_array::subsasgn(), cdef_object_scalar::subsasgn(), cdef_object_array::subsref(), and cdef_object_scalar::subsref().
|
protectedinherited |
Definition at line 536 of file cdef-object.h.
Referenced by cdef_object_scalar::is_constructed_for(), cdef_object_scalar::is_partially_constructed_for(), cdef_object_scalar::mark_as_constructed(), and cdef_object_scalar::mark_for_construction().
|
privateinherited |
Definition at line 388 of file cdef-object.h.
Referenced by cdef_object_base::get_class(), and cdef_object_base::set_class().
|
protectedinherited |
Definition at line 533 of file cdef-object.h.
Referenced by cdef_object_scalar::break_closure_cycles().