26 #if ! defined (octave_cdef_package_h)
27 #define octave_cdef_package_h 1
29 #include "octave-config.h"
74 install_class (
const cdef_class& cls,
const std::string& nm);
77 install_function (
const octave_value& fcn,
const std::string& nm);
80 install_package (
const cdef_package& pack,
const std::string& nm);
82 OCTINTERP_API
Cell get_classes (
void)
const;
84 OCTINTERP_API
Cell get_functions (
void)
const;
86 OCTINTERP_API
Cell get_packages (
void)
const;
99 m_package_map.clear ();
107 const std::list<octave_value_list>& idx,
int nargout);
113 return (type ==
'.');
132 typedef std::map<std::string, octave_value>::const_iterator
135 typedef std::map<std::string, cdef_package>::const_iterator
140 m_class_map (p.m_class_map), m_function_map (p.m_function_map),
141 m_package_map (p.m_package_map), m_member_count (p.m_member_count)
168 error (
"internal error: invalid assignment from %s to meta.package object",
183 get_rep ()->install_class (cls, nm);
188 get_rep ()->install_function (fcn, nm);
193 get_rep ()->install_package (pack, nm);
198 return get_rep ()->get_classes ();
203 return get_rep ()->get_functions ();
208 return get_rep ()->get_packages ();
class OCTINTERP_API cdef_package
std::string get_name(void) const
void set_name(const std::string &nm)
cdef_class_rep * get_rep(void)
cdef_class & operator=(const cdef_class &cls)
cdef_object & operator=(const cdef_object &obj)
void put(const std::string &pname, const octave_value &val)
const cdef_object_rep * get_rep(void) const
std::string class_name(void) const
octave_value get(const std::string &pname) const
std::string get_name(void) const
std::map< std::string, cdef_class >::const_iterator class_const_iterator
cdef_object_rep * copy(void) const
std::map< std::string, octave_value >::iterator function_iterator
void set_name(const std::string &nm)
std::map< std::string, cdef_package >::iterator package_iterator
~cdef_package_rep(void)=default
std::map< std::string, cdef_class > m_class_map
bool is_package(void) const
octave_idx_type m_member_count
std::map< std::string, cdef_package > m_package_map
std::map< std::string, cdef_class >::iterator class_iterator
std::map< std::string, cdef_package >::const_iterator package_const_iterator
octave_idx_type static_count(void) const
bool meta_accepts_postfix_index(char type) const
std::map< std::string, octave_value >::const_iterator function_const_iterator
cdef_package_rep(const cdef_package_rep &p)
std::map< std::string, octave_value > m_function_map
Cell get_classes(void) const
void install_package(const cdef_package &pack, const std::string &nm)
Cell get_packages(void) const
Cell get_functions(void) const
cdef_package(const cdef_object &obj)
cdef_package(const cdef_package &pack)
cdef_package_rep * get_rep(void)
const cdef_package_rep * get_rep(void) const
std::string get_name(void) const
void install_function(const octave_value &fcn, const std::string &nm)
cdef_package(const std::string &nm)
void install_class(const cdef_class &cls, const std::string &nm)
octave_value find(const std::string &nm)
friend void install_classdef(octave::interpreter &interp)
~cdef_package(void)=default
std::string string_value(bool force=false) const
static octave_idx_type find(octave_idx_type i, octave_idx_type *pp)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
void error(const char *fmt,...)