GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
cdef_class::cdef_class_rep Class Reference
Inheritance diagram for cdef_class::cdef_class_rep:
Collaboration diagram for cdef_class::cdef_class_rep:

Public Member Functions

 cdef_class_rep (void)
 
 cdef_class_rep (const std::list< cdef_class > &superclasses)
 
virtual Array< cdef_objectarray_value (void) const
 
std::string class_name (void) const
 
cdef_object_repclone (void) const
 
octave_value construct (const octave_value_list &args)
 
cdef_object construct_object (const octave_value_list &args)
 
cdef_object_repcopy (void) const
 
void delete_object (const cdef_object &obj)
 
void destroy (void)
 
dim_vector dims (void) const
 
cdef_object_repempty_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
 
Cell get_methods (void)
 
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_propertyget_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_repmake_array (void) const
 
virtual string_vector map_keys (void) const
 
void mark_as_constructed (void)
 
void mark_as_constructed (const cdef_class &cls)
 
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)
 
void put (const std::string &pname, const octave_value &val)
 
void register_object (void)
 
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)
 
void unregister_object (void)
 

Protected Attributes

std::map< cdef_class, std::list< cdef_class > > ctor_list
 
octave_scalar_map map
 
octave::refcount< octave_idx_typerefcount
 

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)
 
void find_methods (std::map< std::string, cdef_method > &meths, bool only_inherited)
 
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_classimplicit_ctor_list
 
octave_idx_type member_count
 
bool meta
 
std::map< std::string, cdef_methodmethod_map
 
octave::refcount< octave_idx_typeobject_count
 
std::map< std::string, cdef_propertyproperty_map
 

Detailed Description

Definition at line 668 of file ov-classdef.h.

Member Typedef Documentation

◆ method_const_iterator

Definition at line 808 of file ov-classdef.h.

◆ method_iterator

Definition at line 807 of file ov-classdef.h.

◆ property_const_iterator

Definition at line 810 of file ov-classdef.h.

◆ property_iterator

Definition at line 809 of file ov-classdef.h.

Constructor & Destructor Documentation

◆ cdef_class_rep() [1/3]

cdef_class::cdef_class_rep::cdef_class_rep ( void  )
inline

Definition at line 672 of file ov-classdef.h.

◆ cdef_class_rep() [2/3]

cdef_class::cdef_class_rep::cdef_class_rep ( const std::list< cdef_class > &  superclasses)

Definition at line 1871 of file ov-classdef.cc.

◆ cdef_class_rep() [3/3]

cdef_class::cdef_class_rep::cdef_class_rep ( const cdef_class_rep c)
inlineprivate

Definition at line 812 of file ov-classdef.h.

Member Function Documentation

◆ array_value()

virtual Array<cdef_object> cdef_object_rep::array_value ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_object_array.

Definition at line 102 of file ov-classdef.h.

Referenced by cdef_object::array_value().

◆ class_name()

std::string cdef_object_rep::class_name ( void  ) const
inlineinherited

Definition at line 1237 of file ov-classdef.h.

References cdef_object_rep::get_class(), and cdef_class::get_name().

Referenced by cdef_object::class_name().

◆ clone()

cdef_object_rep* handle_cdef_object::clone ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 522 of file ov-classdef.h.

References cdef_object_rep::refcount.

◆ construct()

octave_value cdef_class::cdef_class_rep::construct ( const octave_value_list args)

Definition at line 2493 of file ov-classdef.cc.

◆ construct_object()

cdef_object cdef_class::cdef_class_rep::construct_object ( const octave_value_list args)

Definition at line 2504 of file ov-classdef.cc.

◆ copy()

cdef_object_rep* cdef_class::cdef_class_rep::copy ( void  ) const
inlinevirtual

Reimplemented from cdef_meta_object_rep.

Definition at line 679 of file ov-classdef.h.

◆ delete_object()

void cdef_class::cdef_class_rep::delete_object ( const cdef_object obj)

Definition at line 2317 of file ov-classdef.cc.

◆ destroy()

void cdef_class::cdef_class_rep::destroy ( void  )
inlinevirtual

Reimplemented from cdef_object_rep.

Definition at line 741 of file ov-classdef.h.

◆ dims()

dim_vector cdef_object_scalar::dims ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 442 of file ov-classdef.h.

◆ empty_clone()

cdef_object_rep* cdef_object_base::empty_clone ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 349 of file ov-classdef.h.

◆ find_method()

cdef_method cdef_class::cdef_class_rep::find_method ( const std::string nm,
bool  local = false 
)

Definition at line 1880 of file ov-classdef.cc.

Referenced by cdef_class::find_method().

◆ find_methods()

void cdef_class::cdef_class_rep::find_methods ( std::map< std::string, cdef_method > &  meths,
bool  only_inherited 
)
private

Definition at line 2103 of file ov-classdef.cc.

◆ find_names()

void cdef_class::cdef_class_rep::find_names ( std::set< std::string > &  names,
bool  all 
)
private

Definition at line 2252 of file ov-classdef.cc.

◆ find_properties()

void cdef_class::cdef_class_rep::find_properties ( std::map< std::string, cdef_property > &  props,
int  mode = 0 
)
private

Definition at line 2211 of file ov-classdef.cc.

◆ find_property()

cdef_property cdef_class::cdef_class_rep::find_property ( const std::string nm)

Definition at line 2146 of file ov-classdef.cc.

Referenced by cdef_class::find_property().

◆ get()

octave_value cdef_object_scalar::get ( const std::string pname) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 447 of file ov-classdef.h.

References octave_map::contents(), error(), map, pname, and val.

◆ get_class()

cdef_class cdef_object_base::get_class ( void  ) const
inlinevirtualinherited

◆ get_directory()

std::string cdef_class::cdef_class_rep::get_directory ( void  ) const
inline

Definition at line 710 of file ov-classdef.h.

References directory.

◆ get_methods()

Cell cdef_class::cdef_class_rep::get_methods ( void  )

Definition at line 2086 of file ov-classdef.cc.

◆ get_name()

std::string cdef_class::cdef_class_rep::get_name ( void  ) const
inline

◆ get_names()

string_vector cdef_class::cdef_class_rep::get_names ( void  )

Definition at line 2305 of file ov-classdef.cc.

◆ get_properties()

Cell cdef_class::cdef_class_rep::get_properties ( int  mode)

Definition at line 2184 of file ov-classdef.cc.

◆ get_property()

octave_value cdef_object_scalar::get_property ( octave_idx_type  idx,
const std::string pname 
) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 467 of file ov-classdef.h.

References error(), and pname.

◆ get_property_map()

std::map< std::string, cdef_property > cdef_class::cdef_class_rep::get_property_map ( int  mode)

Definition at line 2201 of file ov-classdef.cc.

◆ initialize_object()

void cdef_class::cdef_class_rep::initialize_object ( cdef_object obj)

Definition at line 2429 of file ov-classdef.cc.

◆ install_method()

void cdef_class::cdef_class_rep::install_method ( const cdef_method meth)

Definition at line 2031 of file ov-classdef.cc.

◆ install_property()

void cdef_class::cdef_class_rep::install_property ( const cdef_property prop)

Definition at line 2176 of file ov-classdef.cc.

◆ is_abstract()

bool cdef_class::cdef_class_rep::is_abstract ( void  ) const
inline

Definition at line 688 of file ov-classdef.h.

◆ is_array()

virtual bool cdef_object_rep::is_array ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_object_array.

Definition at line 94 of file ov-classdef.h.

Referenced by cdef_object::is_array().

◆ is_class()

bool cdef_class::cdef_class_rep::is_class ( void  ) const
inlinevirtual

Reimplemented from cdef_meta_object_rep.

Definition at line 681 of file ov-classdef.h.

◆ is_constructed()

bool cdef_object_scalar::is_constructed ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 494 of file ov-classdef.h.

◆ is_constructed_for()

bool cdef_object_scalar::is_constructed_for ( const cdef_class cls) const
virtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1825 of file ov-classdef.cc.

◆ is_handle_class()

bool cdef_class::cdef_class_rep::is_handle_class ( void  ) const
inline

Definition at line 733 of file ov-classdef.h.

◆ is_handle_object()

bool handle_cdef_object::is_handle_object ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 534 of file ov-classdef.h.

◆ is_meta_class()

bool cdef_class::cdef_class_rep::is_meta_class ( void  ) const
inline

Definition at line 758 of file ov-classdef.h.

◆ is_meta_object()

bool cdef_meta_object_rep::is_meta_object ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 585 of file ov-classdef.h.

◆ is_method()

virtual bool cdef_meta_object_rep::is_method ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_method::cdef_method_rep.

Definition at line 591 of file ov-classdef.h.

◆ is_package()

virtual bool cdef_meta_object_rep::is_package ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_package::cdef_package_rep.

Definition at line 593 of file ov-classdef.h.

◆ is_partially_constructed_for()

bool cdef_object_scalar::is_partially_constructed_for ( const cdef_class cls) const
virtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1832 of file ov-classdef.cc.

◆ is_property()

virtual bool cdef_meta_object_rep::is_property ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_property::cdef_property_rep.

Definition at line 589 of file ov-classdef.h.

◆ is_sealed()

bool cdef_class::cdef_class_rep::is_sealed ( void  ) const
inline

Definition at line 690 of file ov-classdef.h.

◆ is_valid()

bool handle_cdef_object::is_valid ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 532 of file ov-classdef.h.

◆ is_value_object()

virtual bool cdef_object_rep::is_value_object ( void  ) const
inlinevirtualinherited

Reimplemented in value_cdef_object.

Definition at line 96 of file ov-classdef.h.

Referenced by cdef_object::is_value_object().

◆ load_all_methods()

void cdef_class::cdef_class_rep::load_all_methods ( void  )
private

Definition at line 2080 of file ov-classdef.cc.

◆ make_array()

cdef_object_rep * cdef_object_base::make_array ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1286 of file ov-classdef.h.

References cdef_object_base::get_class(), and cdef_object_rep::set_class().

◆ map_keys()

string_vector cdef_object_rep::map_keys ( void  ) const
virtualinherited

Definition at line 1330 of file ov-classdef.cc.

Referenced by cdef_object::map_keys().

◆ mark_as_constructed() [1/2]

void cdef_object_scalar::mark_as_constructed ( void  )
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 490 of file ov-classdef.h.

◆ mark_as_constructed() [2/2]

void cdef_object_scalar::mark_as_constructed ( const cdef_class cls)
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1850 of file ov-classdef.cc.

◆ mark_as_handle_class()

void cdef_class::cdef_class_rep::mark_as_handle_class ( void  )
inline

Definition at line 731 of file ov-classdef.h.

◆ mark_as_meta_class()

void cdef_class::cdef_class_rep::mark_as_meta_class ( void  )
inline

Definition at line 756 of file ov-classdef.h.

◆ mark_for_construction()

void cdef_object_scalar::mark_for_construction ( const cdef_class cls)
virtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1526 of file ov-classdef.cc.

◆ meta_accepts_postfix_index()

bool cdef_class::cdef_class_rep::meta_accepts_postfix_index ( char  type) const
inlinevirtual

Reimplemented from cdef_meta_object_rep.

Definition at line 720 of file ov-classdef.h.

References type.

◆ meta_release()

void cdef_class::cdef_class_rep::meta_release ( void  )
virtual

Reimplemented from cdef_meta_object_rep.

Definition at line 2420 of file ov-classdef.cc.

◆ meta_subsref()

octave_value_list cdef_class::cdef_class_rep::meta_subsref ( const std::string type,
const std::list< octave_value_list > &  idx,
int  nargout 
)
virtual

Reimplemented from cdef_meta_object_rep.

Definition at line 2340 of file ov-classdef.cc.

◆ put()

void cdef_object_scalar::put ( const std::string pname,
const octave_value val 
)
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 444 of file ov-classdef.h.

References octave_map::assign(), map, pname, and val.

◆ register_object()

void cdef_class::cdef_class_rep::register_object ( void  )
inline

Definition at line 735 of file ov-classdef.h.

◆ release()

void cdef_object_rep::release ( const cdef_object obj)
inherited

Definition at line 1218 of file ov-classdef.cc.

Referenced by cdef_object::operator=(), and cdef_object::~cdef_object().

◆ run_constructor()

void cdef_class::cdef_class_rep::run_constructor ( cdef_object obj,
const octave_value_list args 
)

Definition at line 2457 of file ov-classdef.cc.

◆ set_class()

void cdef_object_base::set_class ( const cdef_class cls)
inlinevirtualinherited

◆ set_directory()

void cdef_class::cdef_class_rep::set_directory ( const std::string dir)
inline

Definition at line 708 of file ov-classdef.h.

References directory.

◆ set_name()

void cdef_class::cdef_class_rep::set_name ( const std::string nm)
inline

◆ set_property()

void cdef_object_scalar::set_property ( octave_idx_type  idx,
const std::string pname,
const octave_value pval 
)
inlinevirtualinherited

Reimplemented from cdef_object_rep.

Definition at line 457 of file ov-classdef.h.

References error(), pname, and cdef_object::put().

◆ static_count()

octave_idx_type cdef_class::cdef_class_rep::static_count ( void  ) const
inlinevirtual

Reimplemented from cdef_object_rep.

Definition at line 739 of file ov-classdef.h.

◆ subsasgn()

octave_value cdef_object_scalar::subsasgn ( const std::string type,
const std::list< octave_value_list > &  idx,
const octave_value rhs 
)
virtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1445 of file ov-classdef.cc.

◆ subsref()

octave_value_list cdef_object_scalar::subsref ( const std::string type,
const std::list< octave_value_list > &  idx,
int  nargout,
size_t skip,
const cdef_class context,
bool  auto_add 
)
virtualinherited

Reimplemented from cdef_object_rep.

Definition at line 1341 of file ov-classdef.cc.

◆ unregister_object()

void cdef_class::cdef_class_rep::unregister_object ( void  )
inline

Definition at line 737 of file ov-classdef.h.

◆ wrap()

cdef_class cdef_class::cdef_class_rep::wrap ( void  )
inlineprivate

Definition at line 772 of file ov-classdef.h.

Member Data Documentation

◆ ctor_list

std::map< cdef_class, std::list<cdef_class> > cdef_object_scalar::ctor_list
protectedinherited

Definition at line 501 of file ov-classdef.h.

◆ directory

std::string cdef_class::cdef_class_rep::directory
private

Definition at line 780 of file ov-classdef.h.

◆ handle_class

bool cdef_class::cdef_class_rep::handle_class
private

Definition at line 793 of file ov-classdef.h.

◆ implicit_ctor_list

std::list<cdef_class> cdef_class::cdef_class_rep::implicit_ctor_list
private

Definition at line 798 of file ov-classdef.h.

◆ map

octave_scalar_map cdef_object_scalar::map
protectedinherited

Definition at line 498 of file ov-classdef.h.

◆ member_count

octave_idx_type cdef_class::cdef_class_rep::member_count
private

Definition at line 789 of file ov-classdef.h.

◆ meta

bool cdef_class::cdef_class_rep::meta
private

Definition at line 804 of file ov-classdef.h.

◆ method_map

std::map<std::string,cdef_method> cdef_class::cdef_class_rep::method_map
private

Definition at line 783 of file ov-classdef.h.

◆ object_count

octave::refcount<octave_idx_type> cdef_class::cdef_class_rep::object_count
private

Definition at line 801 of file ov-classdef.h.

◆ property_map

std::map<std::string,cdef_property> cdef_class::cdef_class_rep::property_map
private

Definition at line 786 of file ov-classdef.h.

◆ refcount

octave::refcount<octave_idx_type> cdef_object_rep::refcount
protectedinherited

The documentation for this class was generated from the following files: