#include "cdef-object.h"
Public Member Functions | |
cdef_object_rep (void) | |
virtual | ~cdef_object_rep (void)=default |
virtual Array< cdef_object > | array_value (void) const |
virtual void | break_closure_cycles (const std::shared_ptr< stack_frame > &) |
OCTINTERP_API std::string | class_name (void) const |
virtual cdef_object_rep * | clone (void) const |
virtual cdef_object_rep * | copy (void) const |
virtual void | destroy (void) |
virtual dim_vector | dims (void) const |
virtual cdef_object_rep * | empty_clone (void) const |
virtual octave_value | get (const std::string &) const |
virtual cdef_class | get_class (void) const |
virtual octave_value | get_property (octave_idx_type, const std::string &) const |
virtual bool | is_array (void) const |
virtual bool | is_constructed (void) const |
virtual bool | is_constructed_for (const cdef_class &) const |
virtual bool | is_handle_object (void) const |
virtual bool | is_meta_object (void) const |
virtual bool | is_partially_constructed_for (const cdef_class &) const |
virtual bool | is_valid (void) const |
virtual bool | is_value_object (void) const |
virtual cdef_object_rep * | make_array (void) const |
virtual string_vector | map_keys (void) const |
virtual void | mark_as_constructed (const cdef_class &) |
virtual void | mark_as_constructed (void) |
virtual void | mark_for_construction (const cdef_class &) |
cdef_object_rep & | operator= (const cdef_object_rep &)=delete |
virtual void | put (const std::string &, const octave_value &) |
OCTINTERP_API void | release (const cdef_object &obj) |
virtual void | set_class (const cdef_class &) |
virtual void | set_property (octave_idx_type, const std::string &, const octave_value &) |
virtual octave_idx_type | static_count (void) const |
virtual octave_value | subsasgn (const std::string &, const std::list< octave_value_list > &, const octave_value &) |
virtual octave_value_list | subsref (const std::string &, const std::list< octave_value_list > &, int, std::size_t &, const cdef_class &, bool) |
Protected Member Functions | |
cdef_object_rep (const cdef_object_rep &) | |
Protected Attributes | |
refcount< octave_idx_type > | m_count |
Private Member Functions | |
OCTAVE_NORETURN void | err_invalid_object (const char *who) const |
Friends | |
class | cdef_object |
Definition at line 48 of file cdef-object.h.
|
inline |
Definition at line 56 of file cdef-object.h.
|
virtualdefault |
|
inlineprotected |
Definition at line 191 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in cdef_object_array.
Definition at line 97 of file cdef-object.h.
Referenced by cdef_object::array_value().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 121 of file cdef-object.h.
Referenced by cdef_object::break_closure_cycles().
std::string cdef_object_rep::class_name | ( | void | ) | const |
Definition at line 120 of file cdef-object.cc.
References get_class(), and cdef_class::get_name().
Referenced by cdef_object::class_name(), cdef_object_array::subsasgn(), and cdef_object_array::subsref().
|
inlinevirtual |
Reimplemented in value_cdef_object, handle_cdef_object, and cdef_object_array.
Definition at line 69 of file cdef-object.h.
Referenced by cdef_object::clone().
|
inlinevirtual |
Reimplemented in cdef_property::cdef_property_rep, cdef_package::cdef_package_rep, cdef_meta_object_rep, value_cdef_object, handle_cdef_object, cdef_method::cdef_method_rep, and cdef_class::cdef_class_rep.
Definition at line 79 of file cdef-object.h.
Referenced by cdef_object::copy().
|
inlinevirtual |
Reimplemented in cdef_package::cdef_package_rep, and cdef_class::cdef_class_rep.
Definition at line 178 of file cdef-object.h.
Referenced by release().
|
inlinevirtual |
Reimplemented in cdef_object_scalar, and cdef_object_array.
Definition at line 182 of file cdef-object.h.
Referenced by cdef_object::dims().
|
inlinevirtual |
Reimplemented in cdef_object_base.
Definition at line 74 of file cdef-object.h.
Referenced by cdef_object::empty_clone().
|
inlineprivate |
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 105 of file cdef-object.h.
Referenced by cdef_object::get().
|
virtual |
Reimplemented in cdef_object_base.
Definition at line 114 of file cdef-object.cc.
References err_invalid_object().
Referenced by class_name(), cdef_object::get_class(), map_keys(), and release().
|
inlinevirtual |
Reimplemented in cdef_object_scalar, and cdef_object_array.
Definition at line 116 of file cdef-object.h.
Referenced by cdef_object::get_property().
|
inlinevirtual |
Reimplemented in cdef_object_array.
Definition at line 89 of file cdef-object.h.
Referenced by cdef_object::is_array().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 171 of file cdef-object.h.
Referenced by cdef_object::is_constructed().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 151 of file cdef-object.h.
Referenced by cdef_object::is_constructed_for().
|
inlinevirtual |
Reimplemented in handle_cdef_object.
Definition at line 93 of file cdef-object.h.
Referenced by cdef_object::is_handle_object(), release(), and cdef_object_scalar::subsasgn().
|
inlinevirtual |
Reimplemented in cdef_meta_object_rep.
Definition at line 95 of file cdef-object.h.
Referenced by cdef_object::is_meta_object(), and release().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 156 of file cdef-object.h.
Referenced by cdef_object::is_partially_constructed_for().
|
inlinevirtual |
Reimplemented in value_cdef_object, handle_cdef_object, and cdef_object_array.
Definition at line 142 of file cdef-object.h.
Referenced by cdef_object::ok().
|
inlinevirtual |
Reimplemented in value_cdef_object.
Definition at line 91 of file cdef-object.h.
Referenced by cdef_object::is_value_object().
|
inlinevirtual |
Reimplemented in cdef_object_base.
Definition at line 84 of file cdef-object.h.
Referenced by cdef_object::make_array().
|
virtual |
Definition at line 126 of file cdef-object.cc.
References get_class(), cdef_class::get_names(), and cdef_object::ok().
Referenced by cdef_object::map_keys().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 166 of file cdef-object.h.
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 161 of file cdef-object.h.
Referenced by cdef_object::mark_as_constructed().
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 146 of file cdef-object.h.
Referenced by cdef_object::mark_for_construction().
|
delete |
|
inlinevirtual |
Reimplemented in cdef_object_scalar.
Definition at line 102 of file cdef-object.h.
Referenced by cdef_object::put().
void cdef_object_rep::release | ( | const cdef_object & | obj | ) |
Definition at line 44 of file cdef-object.cc.
References __get_interpreter__(), cdef_class::delete_object(), destroy(), get_class(), interpreter_try(), is_handle_object(), is_meta_object(), m_count, octave_interrupt_state, action_container::protect_var(), quit_allowed, interpreter::recover_from_exception(), static_count(), and warning().
Referenced by cdef_object::~cdef_object(), and cdef_object::operator=().
|
inlinevirtual |
Reimplemented in cdef_object_base.
Definition at line 64 of file cdef-object.h.
Referenced by cdef_object::set_class().
|
inlinevirtual |
Reimplemented in cdef_object_scalar, and cdef_object_array.
Definition at line 110 of file cdef-object.h.
Referenced by cdef_object::set_property().
|
inlinevirtual |
Reimplemented in cdef_package::cdef_package_rep, and cdef_class::cdef_class_rep.
Definition at line 176 of file cdef-object.h.
Referenced by release().
|
inlinevirtual |
Reimplemented in cdef_object_scalar, and cdef_object_array.
Definition at line 134 of file cdef-object.h.
Referenced by cdef_object::subsasgn().
|
inlinevirtual |
Reimplemented in cdef_object_scalar, and cdef_object_array.
Definition at line 127 of file cdef-object.h.
Referenced by cdef_object::subsref().
|
friend |
Definition at line 54 of file cdef-object.h.
Referenced by cdef_object_scalar::subsasgn(), and cdef_object_scalar::subsref().
|
protected |
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=(), release(), cdef_object_array::subsasgn(), cdef_object_scalar::subsasgn(), cdef_object_array::subsref(), and cdef_object_scalar::subsref().