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
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Attributes | Friends | List of all members
cdef_class Class Reference

#include "ov-classdef.h"

Inheritance diagram for cdef_class:
Inheritance graph
[legend]
Collaboration diagram for cdef_class:
Collaboration graph
[legend]

Classes

class  cdef_class_rep
 

Public Types

enum  { property_normal, property_inherited, property_all }
 

Public Member Functions

 cdef_class (void)
 
 cdef_class (const std::string &nm, const std::list< cdef_class > &superclasses)
 
 cdef_class (const cdef_class &cls)
 
 cdef_class (const cdef_object &obj)
 
Array< cdef_objectarray_value (void) const
 
std::string class_name (void) const
 
cdef_object clone (void) const
 
octave_value construct (const octave_value_list &args)
 
cdef_object construct_object (const octave_value_list &args)
 
cdef_object copy (void) const
 
void delete_object (cdef_object obj)
 
dim_vector dims (void) const
 
cdef_object empty_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
 
octave_functionget_constructor_function (void)
 
std::string get_directory (void) const
 
octave_functionget_method_function (const std::string &nm)
 
Cell get_methods (void)
 
std::string get_name (void) const
 
string_vector get_names (void)
 
Cell get_properties (int mode=property_normal)
 
std::map< std::string,
cdef_property
get_property_map (int mode=property_normal)
 
void initialize_object (cdef_object &obj)
 
void install_method (const cdef_method &meth)
 
void install_property (const cdef_property &prop)
 
bool is (const cdef_object &obj) const
 
bool is_abstract (void) const
 
bool is_array (void) const
 
bool is_builtin (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
 
bool is_method (void) const
 
bool is_package (void) const
 
bool is_partially_constructed_for (const cdef_class &cls) const
 
bool is_property (void) const
 
bool is_sealed (void) const
 
bool is_value_object (void) const
 
cdef_object make_array (void) const
 
string_vector map_keys (void) const
 
octave_map map_value (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 &cls)
 
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)
 
bool ok (void) const
 
cdef_classoperator= (const cdef_class &cls)
 
void put (const std::string &pname, const octave_value &val)
 
void register_object (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)
 
octave_value subsasgn (const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs, int ignore_copies=0)
 
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=false)
 
void unregister_object (void)
 

Static Public Member Functions

static cdef_class make_meta_class (tree_classdef *t, bool is_at_folder=false)
 
static const cdef_classmeta_class (void)
 
static const cdef_classmeta_method (void)
 
static const cdef_classmeta_package (void)
 
static const cdef_classmeta_property (void)
 

Protected Member Functions

void make_unique (int ignore_copies)
 

Private Member Functions

cdef_class_repget_rep (void)
 
const cdef_class_repget_rep (void) const
 

Static Private Attributes

static cdef_class _meta_class = cdef_class ()
 
static cdef_class _meta_method = cdef_class ()
 
static cdef_class _meta_package = cdef_class ()
 
static cdef_class _meta_property = cdef_class ()
 

Friends

void install_classdef (void)
 
bool operator!= (const cdef_class &, const cdef_class &)
 
bool operator< (const cdef_class &, const cdef_class &)
 
bool operator== (const cdef_class &, const cdef_class &)
 

Detailed Description

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

Member Enumeration Documentation

anonymous enum
Enumerator
property_normal 
property_inherited 
property_all 

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

Constructor & Destructor Documentation

cdef_class::cdef_class ( void  )
inline
cdef_class::cdef_class ( const std::string nm,
const std::list< cdef_class > &  superclasses 
)
inline

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

References cdef_object::get_rep().

cdef_class::cdef_class ( const cdef_class cls)
inline

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

cdef_class::cdef_class ( const cdef_object obj)
inline

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

References cdef_object::class_name(), and error().

Member Function Documentation

Array<cdef_object> cdef_object::array_value ( void  ) const
inlineinherited
std::string cdef_object::class_name ( void  ) const
inlineinherited
cdef_object cdef_object::clone ( void  ) const
inlineinherited
octave_value cdef_class::construct ( const octave_value_list args)
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::meta_subsref().

cdef_object cdef_class::construct_object ( const octave_value_list args)
inline
cdef_object cdef_object::copy ( void  ) const
inlineinherited
void cdef_class::delete_object ( cdef_object  obj)
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::delete_object().

dim_vector cdef_object::dims ( void  ) const
inlineinherited

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

References cdef_object_rep::dims(), and cdef_object::rep.

cdef_object cdef_object::empty_clone ( void  ) const
inlineinherited
cdef_method cdef_class::find_method ( const std::string nm,
bool  local = false 
)
inline
cdef_property cdef_class::find_property ( const std::string nm)
inline
octave_value cdef_object::get ( const std::string pname) const
inlineinherited
cdef_class cdef_object::get_class ( void  ) const
inlineinherited
octave_function* cdef_class::get_constructor_function ( void  )
inline

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

Referenced by install_classdef(), and tree_classdef::make_meta_class().

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

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

References cdef_object::get_rep().

octave_function * cdef_class::get_method_function ( const std::string nm)

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

References p.

Cell cdef_class::get_methods ( void  )
inline

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

References cdef_object::get_rep().

Referenced by class_get_methods(), and make_meta_class().

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

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

References cdef_object::get_rep().

Referenced by cdef_object_rep::map_keys().

Cell cdef_class::get_properties ( int  mode = property_normal)
inline

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

References cdef_object::get_rep(), and mode.

Referenced by class_get_properties().

std::map<std::string, cdef_property> cdef_class::get_property_map ( int  mode = property_normal)
inline
cdef_class_rep* cdef_class::get_rep ( void  )
inlineprivate
const cdef_class_rep* cdef_class::get_rep ( void  ) const
inlineprivate

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

References cdef_object::get_rep().

void cdef_class::initialize_object ( cdef_object obj)
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::construct_object().

void cdef_class::install_method ( const cdef_method meth)
inline

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

References cdef_object::get_rep().

Referenced by install_classdef(), and make_meta_class().

void cdef_class::install_property ( const cdef_property prop)
inline

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

References cdef_object::get_rep().

Referenced by install_classdef(), and make_meta_class().

bool cdef_object::is ( const cdef_object obj) const
inlineinherited

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

References cdef_object::rep.

Referenced by is_method_executing(), and cdef_object_array::subsasgn().

bool cdef_class::is_abstract ( void  ) const
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::construct_object().

bool cdef_object::is_array ( void  ) const
inlineinherited
bool cdef_class::is_builtin ( void  ) const
inline

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

Referenced by cdef_manager::do_find_class().

bool cdef_meta_object::is_class ( void  ) const
inlineinherited

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

References cdef_object::get_rep().

bool cdef_object::is_constructed ( void  ) const
inlineinherited
bool cdef_object::is_constructed_for ( const cdef_class cls) const
inlineinherited

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

References cdef_object_rep::is_constructed_for(), and cdef_object::rep.

bool cdef_class::is_handle_class ( void  ) const
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::construct_object().

bool cdef_object::is_handle_object ( void  ) const
inlineinherited

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

References cdef_object_rep::is_handle_object(), and cdef_object::rep.

Referenced by cdef_object_scalar::subsasgn().

bool cdef_class::is_meta_class ( void  ) const
inline

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

References cdef_object::get_rep().

Referenced by cdef_class::cdef_class_rep::construct_object().

bool cdef_object::is_meta_object ( void  ) const
inlineinherited

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

References cdef_object_rep::is_meta_object(), and cdef_object::rep.

bool cdef_meta_object::is_method ( void  ) const
inlineinherited

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

References cdef_object::get_rep().

Referenced by cdef_method::cdef_method().

bool cdef_meta_object::is_package ( void  ) const
inlineinherited

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

References cdef_object::get_rep().

Referenced by cdef_package::cdef_package().

bool cdef_object::is_partially_constructed_for ( const cdef_class cls) const
inlineinherited
bool cdef_meta_object::is_property ( void  ) const
inlineinherited

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

References cdef_object::get_rep().

Referenced by cdef_property::cdef_property().

bool cdef_class::is_sealed ( void  ) const
inline

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

References cdef_object::get_rep().

bool cdef_object::is_value_object ( void  ) const
inlineinherited

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

References cdef_object_rep::is_value_object(), and cdef_object::rep.

cdef_object cdef_object::make_array ( void  ) const
inlineinherited
cdef_class cdef_class::make_meta_class ( tree_classdef t,
bool  is_at_folder = false 
)
static
void cdef_object::make_unique ( int  ignore_copies)
inlineprotectedinherited

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

References cdef_object::clone(), cdef_object_rep::refcount, and cdef_object::rep.

Referenced by cdef_object::subsasgn().

string_vector cdef_object::map_keys ( void  ) const
inlineinherited

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

References cdef_object_rep::map_keys(), and cdef_object::rep.

octave_map cdef_object::map_value ( void  ) const
inherited
void cdef_object::mark_as_constructed ( void  )
inlineinherited
void cdef_object::mark_as_constructed ( const cdef_class cls)
inlineinherited

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

References cdef_object_rep::mark_as_constructed(), and cdef_object::rep.

void cdef_class::mark_as_handle_class ( void  )
inline

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

References cdef_object::get_rep().

Referenced by make_class().

void cdef_class::mark_as_meta_class ( void  )
inline

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

References cdef_object::get_rep().

Referenced by make_meta_class().

void cdef_object::mark_for_construction ( const cdef_class cls)
inlineinherited
static const cdef_class& cdef_class::meta_class ( void  )
inlinestatic
bool cdef_meta_object::meta_is_postfix_index_handled ( char  type) const
inlineinherited

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

References cdef_object::get_rep().

static const cdef_class& cdef_class::meta_method ( void  )
inlinestatic
static const cdef_class& cdef_class::meta_package ( void  )
inlinestatic
static const cdef_class& cdef_class::meta_property ( void  )
inlinestatic
void cdef_meta_object::meta_release ( void  )
inlineinherited

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

References cdef_object::get_rep().

octave_value_list cdef_meta_object::meta_subsref ( const std::string type,
const std::list< octave_value_list > &  idx,
int  nargout 
)
inlineinherited

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

References cdef_object::get_rep().

bool cdef_object::ok ( void  ) const
inlineinherited
cdef_class& cdef_class::operator= ( const cdef_class cls)
inline

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

References cdef_object::operator=().

void cdef_object::put ( const std::string pname,
const octave_value val 
)
inlineinherited
void cdef_class::register_object ( void  )
inline

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

References cdef_object::get_rep().

Referenced by cdef_object_base::register_object().

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

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

References cdef_object::get_rep().

octave_value cdef_object::subsasgn ( const std::string type,
const std::list< octave_value_list > &  idx,
const octave_value rhs,
int  ignore_copies = 0 
)
inlineinherited
octave_value_list cdef_object::subsref ( const std::string type,
const std::list< octave_value_list > &  idx,
int  nargout,
size_t skip,
const cdef_class context,
bool  auto_add = false 
)
inlineinherited

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

References cdef_object::rep, and cdef_object_rep::subsref().

Referenced by cdef_object_scalar::subsref().

void cdef_class::unregister_object ( void  )
inline

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

References cdef_object::get_rep().

Referenced by cdef_object_base::unregister_object().

Friends And Related Function Documentation

void install_classdef ( void  )
friend

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

bool operator!= ( const cdef_class clsa,
const cdef_class clsb 
)
friend

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

bool operator< ( const cdef_class clsa,
const cdef_class clsb 
)
friend

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

bool operator== ( const cdef_class clsa,
const cdef_class clsb 
)
friend

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

Member Data Documentation

cdef_class cdef_class::_meta_class = cdef_class ()
staticprivate

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

cdef_class cdef_class::_meta_method = cdef_class ()
staticprivate

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

cdef_class cdef_class::_meta_package = cdef_class ()
staticprivate

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

cdef_class cdef_class::_meta_property = cdef_class ()
staticprivate

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


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