24 #if ! defined (octave_oct_shlib_h) 25 #define octave_oct_shlib_h 1 27 #include "octave-config.h" 51 : count (1),
file (), tm_loaded (time_t ()), fcn_names (),
52 search_all_loaded (
false)
63 instances.erase (
file);
72 bool is_out_of_date (
void)
const;
87 std::list<std::string> function_names (
void)
const;
101 void fake_reload (
void);
129 if (--rep->count == 0)
143 if (--rep->count == 0)
154 {
return (rep == sl.
rep); }
156 operator bool ()
const {
return rep->is_open (); }
163 std::list<std::string> removed_fcns = rep->function_names ();
165 rep->clear_fcn_names ();
174 void *
f = rep->search (
nm, mangler);
176 rep->add_fcn_name (
nm);
182 { rep->add_fcn_name (
name); }
185 {
return rep->remove_fcn_name (
name); }
188 {
return rep->num_fcn_names (); }
191 {
return rep->is_out_of_date (); }
194 {
return rep->file_name (); }
197 {
return rep->time_loaded (); }
205 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS) 207 OCTAVE_DEPRECATED (4.2,
"use 'octave::dynamic_library' instead")
208 typedef
octave::dynamic_library octave_shlib;
size_t number_of_functions_loaded(void) const
For example cd octave end example noindent changes the current working directory to file
std::string file_name(void) const
sys::time time_loaded(void) const
virtual bool is_open(void) const
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
std::map< std::string, size_t >::const_iterator fcn_names_const_iterator
void clear_fcn_names(void)
static std::map< std::string, dynlib_rep * > instances
size_t num_fcn_names(void) const
bool is_out_of_date(void) const
std::map< std::string, size_t > fcn_names
std::list< std::string > close(void)
sys::time time_loaded(void) const
dynamic_library(const std::string &f, bool fake=true)
virtual void * search(const std::string &, name_mangler=nullptr)
nd deftypefn *std::string name
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
bool operator==(const dim_vector &a, const dim_vector &b)
static dynlib_rep nil_rep
void add(const std::string &name)
dynamic_library(const dynamic_library &sl)
void open(const std::string &f)
virtual ~dynlib_rep(void)
std::string file_name(void) const
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
std::map< std::string, size_t >::iterator fcn_names_iterator
void * search(const std::string &nm, name_mangler mangler=nullptr) const