26 #if ! defined (octave_classdef_h)
27 #define octave_classdef_h 1
29 #include "octave-config.h"
86 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
88 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
90 bool is_instance_of (
const std::string& cls_name)
const;
93 const std::list<octave_value_list>& idx,
97 const std::list<octave_value_list>& idx)
104 const std::list<octave_value_list>& idx,
108 const std::list<octave_value_list>& idx,
112 undef_subsasgn (
const std::string&
type,
113 const std::list<octave_value_list>& idx,
129 object.set_property (idx,
name, pval);
135 return object.get_property (idx,
name);
138 static octave_value superclass_ref (
const std::string& meth,
139 const std::string& cls);
141 static octave_value metaclass_query (
const std::string& cls);
147 std::string
class_name (
void)
const {
return object.class_name (); }
192 const std::list<octave_value_list>& idx,
195 return object.meta_subsref (
type, idx, nargout);
204 return execute (tw, nargout, args);
212 std::list<octave_value_list> idx (1, args);
213 std::string
type (
"(");
219 {
return object.meta_accepts_postfix_index (
type); }
225 std::string
doc_string (
const std::string& meth_name)
const;
238 const std::string& cls)
258 return execute (tw, nargout, args);
267 const std::string& nm);
Vector representing the dimensions (size) of an Array.
virtual octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
bool is_classdef_superclass_ref(void) const
octave_classdef_superclass_ref & operator=(const octave_classdef_superclass_ref &)=delete
std::string m_method_name
octave_function * function_value(bool=false)
octave_classdef_superclass_ref(const octave_classdef_superclass_ref &)=delete
bool is_constructed_object(octave::tree_evaluator &tw, const std::string &nm)
~octave_classdef_superclass_ref(void)=default
octave_classdef_superclass_ref(void)=delete
octave_value_list call(octave::tree_evaluator &tw, int nargout, const octave_value_list &args)
octave_value_list execute(octave::tree_evaluator &tw, int nargout, const octave_value_list &idx)
octave_classdef_superclass_ref(const std::string &meth, const std::string &cls)
octave::cdef_object object
static int static_type_id(void)
octave_base_value * empty_clone(void) const
dim_vector dims(void) const
bool is_defined(void) const
octave_map map_value(void) const
octave_classdef(const octave_classdef &)=delete
bool isobject(void) const
string_vector map_keys(void) const
octave_value get_property(octave_idx_type idx, const std::string &name) const
octave_classdef(const octave::cdef_object &obj)
octave_base_value * clone(void) const
~octave_classdef(void)=default
static std::string static_class_name(void)
static const std::string t_name
octave::cdef_object get_object(void) const
bool isstruct(void) const
octave::cdef_object & get_object_ref(void)
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
std::string type_name(void) const
bool is_classdef_object(void) const
static std::string static_type_name(void)
void set_property(octave_idx_type idx, const std::string &name, const octave_value &pval)
octave_classdef * classdef_object_value(bool=false)
std::string class_name(void) const
int register_type(const std::string &t_name, const std::string &c_name, const octave_value &val)
OCTINTERP_API void install_classdef(octave::interpreter &interp)
octave_value::octave_value(const Array< char > &chm, char type) return retval