CLAW Library (a C++ Library Absolutely Wonderful) 1.5.5
Public Member Functions | Private Attributes

claw::dynamic_library Class Reference

A class to use dynamic libraries. More...

#include <dynamic_library.hpp>

List of all members.

Public Member Functions

 dynamic_library (const std::string &name, bool current_program=false)
 Constructor.
 ~dynamic_library ()
 Destructor (close the library).
bool have_symbol (const std::string &name) const
 Tell if the library has a symbol.
template<class T >
get_symbol (const std::string &name) const
 Get a symbol in the library.

Private Attributes

dynamic_library_traits::handle m_handle
 Handle of the library.

Detailed Description

A class to use dynamic libraries.

Author:
Julien Jorge

Definition at line 41 of file dynamic_library.hpp.


Constructor & Destructor Documentation

claw::dynamic_library::dynamic_library ( const std::string &  name,
bool  current_program = false 
)

Constructor.

Parameters:
nameName of the library to load.
current_programTell if the name parameter is the current program.

Definition at line 39 of file dynamic_library.cpp.

References m_handle.

{
  if ( current_program )
    m_handle = dynamic_library_traits::auto_open( name );
  else
    m_handle = dynamic_library_traits::open( name );

  if ( !dynamic_library_traits::valid_handle(m_handle) )
    throw exception( "Can't open library '" + name + "'" );
} // dynamic_library::dynamic_library()
claw::dynamic_library::~dynamic_library ( )

Destructor (close the library).

Definition at line 55 of file dynamic_library.cpp.

{
  dynamic_library_traits::close( m_handle );
} // dynamic_library::~dynamic_library()

Member Function Documentation

template<class T >
T claw::dynamic_library::get_symbol ( const std::string &  name) const

Get a symbol in the library.

Parameters:
nameThe name of the symbol to get.

Definition at line 38 of file dynamic_library.tpp.

References m_handle.

{
  return dynamic_library_traits::get_symbol<T>(m_handle, name);
} // dynamic_library::get_symbol()
bool claw::dynamic_library::have_symbol ( const std::string &  name) const

Tell if the library has a symbol.

Parameters:
nameThe symbol to find.

Definition at line 65 of file dynamic_library.cpp.

{
  return dynamic_library_traits::have_symbol( m_handle, name );
} // dynamic_library::have_symbol()

Member Data Documentation

Handle of the library.

Definition at line 54 of file dynamic_library.hpp.

Referenced by dynamic_library(), and get_symbol().


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