GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
cdef_class::cdef_class_rep Class Reference
Inheritance diagram for cdef_class::cdef_class_rep:
Inheritance graph
[legend]
Collaboration diagram for cdef_class::cdef_class_rep:
Collaboration graph
[legend]

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 (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)
 
std::map< std::string,
cdef_property
get_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_is_postfix_index_handled (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 (void)
 
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)
 
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_method
method_map
 
octave_refcount< octave_idx_typeobject_count
 
std::map< std::string,
cdef_property
property_map
 

Detailed Description

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

Member Typedef Documentation

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

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

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

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

Constructor & Destructor Documentation

cdef_class::cdef_class_rep::cdef_class_rep ( void  )
inline

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

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

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

References implicit_ctor_list, cdef_object_scalar::put(), and to_ov().

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

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

Member Function Documentation

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

Reimplemented in cdef_object_array.

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

Referenced by cdef_object::array_value().

std::string cdef_object_rep::class_name ( void  ) const
inlineinherited
cdef_object_rep* handle_cdef_object::clone ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

References cdef_object_rep::refcount.

octave_value cdef_class::cdef_class_rep::construct ( const octave_value_list args)
cdef_object cdef_class::cdef_class_rep::construct_object ( const octave_value_list args)
cdef_object_rep* cdef_class::cdef_class_rep::copy ( void  ) const
inlinevirtual

Reimplemented from cdef_meta_object_rep.

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

void cdef_class::cdef_class_rep::delete_object ( cdef_object  obj)
void cdef_class::cdef_class_rep::destroy ( void  )
inlinevirtual

Reimplemented from cdef_object_rep.

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

dim_vector cdef_object_scalar::dims ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

cdef_object_rep* cdef_object_base::empty_clone ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

cdef_method cdef_class::cdef_class_rep::find_method ( const std::string nm,
bool  local = false 
)
void cdef_class::cdef_class_rep::find_methods ( std::map< std::string, cdef_method > &  meths,
bool  only_inherited 
)
private
void cdef_class::cdef_class_rep::find_names ( std::set< std::string > &  names,
bool  all 
)
private
void cdef_class::cdef_class_rep::find_properties ( std::map< std::string, cdef_property > &  props,
int  mode = 0 
)
private
cdef_property cdef_class::cdef_class_rep::find_property ( const std::string nm)
octave_value cdef_object_scalar::get ( const std::string pname) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

References octave_map::contents(), error(), map, Array< T >::numel(), pname, and val.

cdef_class cdef_object_base::get_class ( void  ) const
inlinevirtualinherited
std::string cdef_class::cdef_class_rep::get_directory ( void  ) const
inline

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

References directory.

Cell cdef_class::cdef_class_rep::get_methods ( void  )

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

References c, and to_ov().

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

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

References string_vector::sort().

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

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

References c, cdef_class::get_property_map(), and to_ov().

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

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

void cdef_class::cdef_class_rep::initialize_object ( cdef_object obj)
void cdef_class::cdef_class_rep::install_method ( const cdef_method meth)
void cdef_class::cdef_class_rep::install_property ( const cdef_property prop)

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

References cdef_property::get_name().

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

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

virtual bool cdef_object_rep::is_array ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_object_array.

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

Referenced by cdef_object::is_array().

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

Reimplemented from cdef_meta_object_rep.

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

bool cdef_object_scalar::is_constructed ( void  ) const
inlinevirtualinherited
bool cdef_object_scalar::is_constructed_for ( const cdef_class cls) const
virtualinherited
bool cdef_class::cdef_class_rep::is_handle_class ( void  ) const
inline

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

bool handle_cdef_object::is_handle_object ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

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

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

bool cdef_meta_object_rep::is_meta_object ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

virtual bool cdef_meta_object_rep::is_method ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_method::cdef_method_rep.

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

virtual bool cdef_meta_object_rep::is_package ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_package::cdef_package_rep.

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

bool cdef_object_scalar::is_partially_constructed_for ( const cdef_class cls) const
virtualinherited
virtual bool cdef_meta_object_rep::is_property ( void  ) const
inlinevirtualinherited

Reimplemented in cdef_property::cdef_property_rep.

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

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

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

bool handle_cdef_object::is_valid ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

virtual bool cdef_object_rep::is_value_object ( void  ) const
inlinevirtualinherited

Reimplemented in value_cdef_object.

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

Referenced by cdef_object::is_value_object().

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

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

cdef_object_rep * cdef_object_base::make_array ( void  ) const
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

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

string_vector cdef_object_rep::map_keys ( void  ) const
virtualinherited
void cdef_object_scalar::mark_as_constructed ( void  )
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

void cdef_object_scalar::mark_as_constructed ( const cdef_class cls)
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

References cdef_object_scalar::ctor_list.

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

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

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

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

void cdef_object_scalar::mark_for_construction ( const cdef_class cls)
virtualinherited
bool cdef_class::cdef_class_rep::meta_is_postfix_index_handled ( char  type) const
inlinevirtual

Reimplemented from cdef_meta_object_rep.

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

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

Reimplemented from cdef_meta_object_rep.

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

References cdef_manager::unregister_class().

octave_value_list cdef_class::cdef_class_rep::meta_subsref ( const std::string type,
const std::list< octave_value_list > &  idx,
int  nargout 
)
virtual
void cdef_object_scalar::put ( const std::string pname,
const octave_value val 
)
inlinevirtualinherited

Reimplemented from cdef_object_rep.

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

References octave_map::assign(), and map.

Referenced by cdef_class_rep().

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

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

void cdef_object_rep::release ( void  )
inlineinherited

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

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

void cdef_class::cdef_class_rep::run_constructor ( cdef_object obj,
const octave_value_list args 
)
void cdef_object_base::set_class ( const cdef_class cls)
inlinevirtualinherited
void cdef_class::cdef_class_rep::set_directory ( const std::string dir)
inline

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

References directory.

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

Reimplemented from cdef_object_rep.

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

octave_value cdef_object_scalar::subsasgn ( const std::string type,
const std::list< octave_value_list > &  idx,
const octave_value rhs 
)
virtualinherited
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
void cdef_class::cdef_class_rep::unregister_object ( void  )
inline

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

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

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

Member Data Documentation

std::map< cdef_class, std::list<cdef_class> > cdef_object_scalar::ctor_list
protectedinherited
std::string cdef_class::cdef_class_rep::directory
private

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

bool cdef_class::cdef_class_rep::handle_class
private

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

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

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

Referenced by cdef_class_rep().

octave_scalar_map cdef_object_scalar::map
protectedinherited

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

octave_idx_type cdef_class::cdef_class_rep::member_count
private

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

bool cdef_class::cdef_class_rep::meta
private

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

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

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

octave_refcount<octave_idx_type> cdef_class::cdef_class_rep::object_count
private

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

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

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

octave_refcount<octave_idx_type> cdef_object_rep::refcount
protectedinherited

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