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

#include "cdef-manager.h"

Collaboration diagram for octave::cdef_manager:

Public Member Functions

 cdef_manager (const cdef_manager &)=delete
 
 cdef_manager (interpreter &interp)
 
 ~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_value find_method (const std::string &class_name, const std::string &name) const
 
octave_value find_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_value find_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 cdef_class &super)
 
cdef_class make_class (const std::string &name, const std::list< cdef_class > &super_list=std::list< cdef_class >())
 
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
 
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 41 of file cdef-manager.h.

Constructor & Destructor Documentation

◆ cdef_manager() [1/2]

◆ cdef_manager() [2/2]

octave::cdef_manager::cdef_manager ( const cdef_manager )
delete

◆ ~cdef_manager()

octave::cdef_manager::~cdef_manager ( void  )
default

Member Function Documentation

◆ find_class()

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

◆ find_method()

octave_value octave::cdef_manager::find_method ( const std::string &  class_name,
const std::string &  name 
) const

◆ find_method_symbol()

octave_value octave::cdef_manager::find_method_symbol ( const std::string &  method_name,
const std::string &  class_name 
)

◆ find_package()

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

◆ find_package_symbol()

octave_value octave::cdef_manager::find_package_symbol ( const std::string &  pack_name)

Definition at line 743 of file cdef-manager.cc.

References find_package(), octave_value(), and octave::cdef_object::ok().

◆ make_attribute()

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

Definition at line 868 of file cdef-manager.cc.

References make_property(), and name.

Referenced by cdef_manager().

◆ make_class() [1/2]

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

Definition at line 811 of file cdef-manager.cc.

References make_class(), and name.

◆ make_class() [2/2]

◆ make_meta_class()

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

◆ make_method() [1/3]

◆ make_method() [2/3]

cdef_method octave::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 903 of file cdef-manager.cc.

References make_method(), and name.

◆ make_method() [3/3]

cdef_method octave::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 913 of file cdef-manager.cc.

References make_method(), and name.

◆ make_package()

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

◆ make_property()

cdef_property octave::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& octave::cdef_manager::meta ( void  ) const
inline

Definition at line 93 of file cdef-manager.h.

References m_meta.

Referenced by octave::cdef_package::cdef_package_rep::meta_release().

◆ meta_class()

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

Definition at line 88 of file cdef-manager.h.

References m_meta_class.

Referenced by octave::cdef_class::cdef_class_rep::construct_object(), and make_class().

◆ meta_method()

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

Definition at line 90 of file cdef-manager.h.

References m_meta_method.

Referenced by octave::cdef_class::cdef_class_rep::construct_object(), and make_method().

◆ meta_package()

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

Definition at line 91 of file cdef-manager.h.

References m_meta_package.

Referenced by octave::cdef_class::cdef_class_rep::construct_object(), and make_package().

◆ meta_property()

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

◆ operator=()

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

◆ register_class()

void octave::cdef_manager::register_class ( const cdef_class cls)
inline

Definition at line 68 of file cdef-manager.h.

References octave::cdef_class::get_name(), and m_all_classes.

Referenced by make_class().

◆ register_package()

void octave::cdef_manager::register_package ( const cdef_package pkg)
inline

Definition at line 78 of file cdef-manager.h.

References octave::cdef_package::get_name(), and m_all_packages.

Referenced by make_package().

◆ unregister_class()

void octave::cdef_manager::unregister_class ( const cdef_class cls)
inline

◆ unregister_package()

void octave::cdef_manager::unregister_package ( const cdef_package pkg)
inline

Member Data Documentation

◆ m_all_classes

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

Definition at line 142 of file cdef-manager.h.

Referenced by find_class(), register_class(), and unregister_class().

◆ m_all_packages

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

Definition at line 145 of file cdef-manager.h.

Referenced by find_package(), register_package(), and unregister_package().

◆ m_interpreter

interpreter& octave::cdef_manager::m_interpreter
private

Definition at line 139 of file cdef-manager.h.

Referenced by cdef_manager(), find_class(), and find_package().

◆ m_meta

cdef_package octave::cdef_manager::m_meta
private

Definition at line 152 of file cdef-manager.h.

Referenced by cdef_manager(), and meta().

◆ m_meta_class

cdef_class octave::cdef_manager::m_meta_class
private

Definition at line 147 of file cdef-manager.h.

Referenced by cdef_manager(), and meta_class().

◆ m_meta_method

cdef_class octave::cdef_manager::m_meta_method
private

Definition at line 149 of file cdef-manager.h.

Referenced by cdef_manager(), and meta_method().

◆ m_meta_package

cdef_class octave::cdef_manager::m_meta_package
private

Definition at line 150 of file cdef-manager.h.

Referenced by cdef_manager(), and meta_package().

◆ m_meta_property

cdef_class octave::cdef_manager::m_meta_property
private

Definition at line 148 of file cdef-manager.h.

Referenced by cdef_manager(), and meta_property().


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