GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
cdef_manager Class Reference

#include "ov-classdef.h"

Collaboration diagram for cdef_manager:

Public Member Functions

 cdef_manager (octave::interpreter &interp)
 
 cdef_manager (const cdef_manager &)=delete
 
 ~cdef_manager (void)=default
 
cdef_class find_class (const std::string &name, bool error_if_not_found=true, bool load_if_not_found=true)
 
octave_functionfind_method_symbol (const std::string &method_name, const std::string &class_name)
 
cdef_package find_package (const std::string &name, bool error_if_not_found=true, bool load_if_not_found=true)
 
octave_functionfind_package_symbol (const std::string &pack_name)
 
cdef_property make_attribute (const cdef_class &cls, const std::string &name)
 
cdef_class make_class (const std::string &name, const std::list< cdef_class > &super_list=std::list< cdef_class >())
 
cdef_class make_class (const std::string &name, const cdef_class &super)
 
cdef_class make_meta_class (const std::string &name, const cdef_class &super)
 
cdef_method make_method (const cdef_class &cls, const std::string &name, const octave_value &fcn, const std::string &m_access="public", bool is_static=false)
 
cdef_method make_method (const cdef_class &cls, const std::string &name, octave_builtin::fcn ff, const std::string &m_access="public", bool is_static=false)
 
cdef_method make_method (const cdef_class &cls, const std::string &name, octave_builtin::meth mm, const std::string &m_access="public", bool is_static=false)
 
cdef_package make_package (const std::string &nm, const std::string &parent="")
 
cdef_property make_property (const cdef_class &cls, const std::string &name, const octave_value &get_method=Matrix(), const std::string &get_access="public", const octave_value &set_method=Matrix(), const std::string &set_access="public")
 
const cdef_packagemeta (void) const
 
const cdef_classmeta_class (void) const
 
const cdef_classmeta_method (void) const
 
const cdef_classmeta_package (void) const
 
const cdef_classmeta_property (void) const
 
cdef_manageroperator= (const cdef_manager &)=delete
 
void register_class (const cdef_class &cls)
 
void register_package (const cdef_package &pkg)
 
void unregister_class (const cdef_class &cls)
 
void unregister_package (const cdef_package &pkg)
 

Private Attributes

std::map< std::string, cdef_classm_all_classes
 
std::map< std::string, cdef_packagem_all_packages
 
octave::interpreterm_interpreter
 
cdef_package m_meta
 
cdef_class m_meta_class
 
cdef_class m_meta_method
 
cdef_class m_meta_package
 
cdef_class m_meta_property
 

Detailed Description

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

Constructor & Destructor Documentation

◆ cdef_manager() [1/2]

cdef_manager::cdef_manager ( octave::interpreter interp)

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

◆ cdef_manager() [2/2]

cdef_manager::cdef_manager ( const cdef_manager )
delete

◆ ~cdef_manager()

cdef_manager::~cdef_manager ( void  )
default

Member Function Documentation

◆ find_class()

cdef_class cdef_manager::find_class ( const std::string name,
bool  error_if_not_found = true,
bool  load_if_not_found = true 
)

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

Referenced by lookup_class(), and read_mat5_binary_element().

◆ find_method_symbol()

octave_function * cdef_manager::find_method_symbol ( const std::string method_name,
const std::string class_name 
)

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

Referenced by octave::fcn_info::fcn_info_rep::load_class_method().

◆ find_package()

cdef_package cdef_manager::find_package ( const std::string name,
bool  error_if_not_found = true,
bool  load_if_not_found = true 
)

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

Referenced by make_package().

◆ find_package_symbol()

octave_function * cdef_manager::find_package_symbol ( const std::string pack_name)

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

Referenced by octave::fcn_info::fcn_info_rep::find_package().

◆ make_attribute()

cdef_property cdef_manager::make_attribute ( const cdef_class cls,
const std::string name 
)

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

References make_property(), and name.

◆ make_class() [1/2]

cdef_class cdef_manager::make_class ( const std::string name,
const std::list< cdef_class > &  super_list = std::list<cdef_class> () 
)

◆ make_class() [2/2]

cdef_class cdef_manager::make_class ( const std::string name,
const cdef_class super 
)

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

References make_class(), and name.

◆ make_meta_class()

cdef_class cdef_manager::make_meta_class ( const std::string name,
const cdef_class super 
)

◆ make_method() [1/3]

cdef_method cdef_manager::make_method ( const cdef_class cls,
const std::string name,
const octave_value fcn,
const std::string m_access = "public",
bool  is_static = false 
)

◆ make_method() [2/3]

cdef_method cdef_manager::make_method ( const cdef_class cls,
const std::string name,
octave_builtin::fcn  ff,
const std::string m_access = "public",
bool  is_static = false 
)

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

References fcn, make_method(), and name.

◆ make_method() [3/3]

cdef_method cdef_manager::make_method ( const cdef_class cls,
const std::string name,
octave_builtin::meth  mm,
const std::string m_access = "public",
bool  is_static = false 
)

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

References fcn, make_method(), and name.

◆ make_package()

cdef_package cdef_manager::make_package ( const std::string nm,
const std::string parent = "" 
)

◆ make_property()

cdef_property cdef_manager::make_property ( const cdef_class cls,
const std::string name,
const octave_value get_method = Matrix (),
const std::string get_access = "public",
const octave_value set_method = Matrix (),
const std::string set_access = "public" 
)

◆ meta()

const cdef_package& cdef_manager::meta ( void  ) const
inline

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

◆ meta_class()

const cdef_class& cdef_manager::meta_class ( void  ) const
inline

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

Referenced by make_class().

◆ meta_method()

const cdef_class& cdef_manager::meta_method ( void  ) const
inline

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

Referenced by make_method().

◆ meta_package()

const cdef_class& cdef_manager::meta_package ( void  ) const
inline

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

Referenced by make_package().

◆ meta_property()

const cdef_class& cdef_manager::meta_property ( void  ) const
inline

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

Referenced by make_property().

◆ operator=()

cdef_manager& cdef_manager::operator= ( const cdef_manager )
delete

◆ register_class()

void cdef_manager::register_class ( const cdef_class cls)
inline

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

References cdef_class::get_name().

Referenced by make_class().

◆ register_package()

void cdef_manager::register_package ( const cdef_package pkg)
inline

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

References cdef_package::get_name().

Referenced by make_package().

◆ unregister_class()

void cdef_manager::unregister_class ( const cdef_class cls)
inline

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

References cdef_class::get_name().

◆ unregister_package()

void cdef_manager::unregister_package ( const cdef_package pkg)
inline

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

References cdef_package::get_name().

Member Data Documentation

◆ m_all_classes

std::map<std::string, cdef_class> cdef_manager::m_all_classes
private

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

◆ m_all_packages

std::map<std::string, cdef_package> cdef_manager::m_all_packages
private

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

◆ m_interpreter

octave::interpreter& cdef_manager::m_interpreter
private

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

◆ m_meta

cdef_package cdef_manager::m_meta
private

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

◆ m_meta_class

cdef_class cdef_manager::m_meta_class
private

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

◆ m_meta_method

cdef_class cdef_manager::m_meta_method
private

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

◆ m_meta_package

cdef_class cdef_manager::m_meta_package
private

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

◆ m_meta_property

cdef_class cdef_manager::m_meta_property
private

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


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