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

#include "dynamic-ld.h"

Collaboration diagram for dynamic_loader:

Classes

class  shlibs_list
 

Public Member Functions

 dynamic_loader (const dynamic_loader &)=delete
 
 dynamic_loader (interpreter &interp)
 
virtual ~dynamic_loader (void)=default
 
octave_functionload_mex (const std::string &fcn_name, const std::string &file_name="", bool relative=false)
 
octave_functionload_oct (const std::string &fcn_name, const std::string &file_name="", bool relative=false)
 
dynamic_loaderoperator= (const dynamic_loader &)=delete
 
bool remove_mex (const std::string &fcn_name, dynamic_library &shl)
 
bool remove_oct (const std::string &fcn_name, dynamic_library &shl)
 

Private Member Functions

void clear (dynamic_library &oct_file)
 
void clear_function (const std::string &fcn_name)
 

Static Private Member Functions

static std::string mex_f77_mangler (const std::string &name)
 
static std::string mex_mangler (const std::string &name)
 
static std::string mex_uscore_mangler (const std::string &name)
 
static std::string name_mangler (const std::string &name)
 
static std::string name_uscore_mangler (const std::string &name)
 
static void * try_load_mex (dynamic_library &mex_file, const std::string &fcn_name, bool &have_fmex)
 

Private Attributes

bool m_doing_load
 
interpreterm_interpreter
 
shlibs_list m_loaded_shlibs
 

Detailed Description

Definition at line 42 of file dynamic-ld.h.

Constructor & Destructor Documentation

◆ dynamic_loader() [1/2]

dynamic_loader::dynamic_loader ( interpreter interp)
inline

Definition at line 82 of file dynamic-ld.h.

◆ dynamic_loader() [2/2]

dynamic_loader::dynamic_loader ( const dynamic_loader )
delete

◆ ~dynamic_loader()

virtual dynamic_loader::~dynamic_loader ( void  )
virtualdefault

Member Function Documentation

◆ clear()

◆ clear_function()

void dynamic_loader::clear_function ( const std::string &  fcn_name)
private

◆ load_mex()

octave_function * dynamic_loader::load_mex ( const std::string &  fcn_name,
const std::string &  file_name = "",
bool  relative = false 
)

◆ load_oct()

octave_function * dynamic_loader::load_oct ( const std::string &  fcn_name,
const std::string &  file_name = "",
bool  relative = false 
)

◆ mex_f77_mangler()

std::string dynamic_loader::mex_f77_mangler ( const std::string &  name)
staticprivate

Definition at line 319 of file dynamic-ld.cc.

References F77_FUNC(), and STRINGIFY.

Referenced by try_load_mex().

◆ mex_mangler()

std::string dynamic_loader::mex_mangler ( const std::string &  name)
staticprivate

Definition at line 307 of file dynamic-ld.cc.

Referenced by try_load_mex().

◆ mex_uscore_mangler()

std::string dynamic_loader::mex_uscore_mangler ( const std::string &  name)
staticprivate

Definition at line 313 of file dynamic-ld.cc.

Referenced by try_load_mex().

◆ name_mangler()

std::string dynamic_loader::name_mangler ( const std::string &  name)
staticprivate

Definition at line 295 of file dynamic-ld.cc.

Referenced by load_oct().

◆ name_uscore_mangler()

std::string dynamic_loader::name_uscore_mangler ( const std::string &  name)
staticprivate

Definition at line 301 of file dynamic-ld.cc.

Referenced by load_oct().

◆ operator=()

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

◆ remove_mex()

bool dynamic_loader::remove_mex ( const std::string &  fcn_name,
dynamic_library shl 
)

Definition at line 287 of file dynamic-ld.cc.

References remove_oct().

◆ remove_oct()

bool dynamic_loader::remove_oct ( const std::string &  fcn_name,
dynamic_library shl 
)

◆ try_load_mex()

void * dynamic_loader::try_load_mex ( dynamic_library mex_file,
const std::string &  fcn_name,
bool &  have_fmex 
)
staticprivate

Definition at line 199 of file dynamic-ld.cc.

References mex_f77_mangler(), mex_mangler(), mex_uscore_mangler(), and dynamic_library::search().

Referenced by load_mex().

Member Data Documentation

◆ m_doing_load

bool dynamic_loader::m_doing_load
private

Definition at line 120 of file dynamic-ld.h.

Referenced by load_mex(), load_oct(), and remove_oct().

◆ m_interpreter

interpreter& dynamic_loader::m_interpreter
private

Definition at line 116 of file dynamic-ld.h.

Referenced by clear(), and clear_function().

◆ m_loaded_shlibs

shlibs_list dynamic_loader::m_loaded_shlibs
private

Definition at line 118 of file dynamic-ld.h.

Referenced by clear(), load_mex(), load_oct(), and remove_oct().


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