OpenStudio:utilities
Loading...
Searching...
No Matches
openstudio::DynamicLibrary Struct Reference

#include <DynamicLibraryWindows.hpp>

Public Member Functions

 DynamicLibrary ()=delete
 
 DynamicLibrary (const DynamicLibrary &)=delete
 
 DynamicLibrary (DynamicLibrary &&other) noexcept
 
 DynamicLibrary (openstudio::path location)
 
 DynamicLibrary (openstudio::path location)
 
template<typename Signature >
Signature * load_symbol (const std::string &name)
 
template<typename Signature >
Signature * load_symbol (const std::string &name)
 
DynamicLibraryoperator= (const DynamicLibrary &)=delete
 
DynamicLibraryoperator= (DynamicLibrary &&other) noexcept
 
 ~DynamicLibrary () noexcept
 

Static Public Member Functions

static std::string get_error_message (DWORD t_err)
 
static void m_handle_deleter (void *h)
 
template<typename T >
static std::string to_proper_string (const T &t_str)
 
template<typename T >
static std::string to_string (const T &t_str)
 
template<typename T >
static std::wstring to_wstring (const T &t_str)
 

Public Attributes

std::unique_ptr< void, decltype(&m_handle_deleter)> m_handle {nullptr, m_handle_deleter}
 
HMODULE m_handle {}
 
openstudio::path m_location {}
 

Constructor & Destructor Documentation

◆ DynamicLibrary() [1/5]

openstudio::DynamicLibrary::DynamicLibrary ( openstudio::path location)
inlineexplicit

◆ DynamicLibrary() [2/5]

openstudio::DynamicLibrary::DynamicLibrary ( openstudio::path location)
inlineexplicit

◆ DynamicLibrary() [3/5]

openstudio::DynamicLibrary::DynamicLibrary ( )
delete

◆ DynamicLibrary() [4/5]

openstudio::DynamicLibrary::DynamicLibrary ( DynamicLibrary && other)
inlinenoexcept

◆ DynamicLibrary() [5/5]

openstudio::DynamicLibrary::DynamicLibrary ( const DynamicLibrary & )
delete

◆ ~DynamicLibrary()

openstudio::DynamicLibrary::~DynamicLibrary ( )
inlinenoexcept

Member Function Documentation

◆ get_error_message()

static std::string openstudio::DynamicLibrary::get_error_message ( DWORD t_err)
inlinestaticnodiscard

◆ load_symbol() [1/2]

template<typename Signature >
Signature * openstudio::DynamicLibrary::load_symbol ( const std::string & name)
inlinenodiscard

◆ load_symbol() [2/2]

template<typename Signature >
Signature * openstudio::DynamicLibrary::load_symbol ( const std::string & name)
inlinenodiscard

◆ m_handle_deleter()

static void openstudio::DynamicLibrary::m_handle_deleter ( void * h)
inlinestatic

◆ operator=() [1/2]

DynamicLibrary & openstudio::DynamicLibrary::operator= ( const DynamicLibrary & )
delete

◆ operator=() [2/2]

DynamicLibrary & openstudio::DynamicLibrary::operator= ( DynamicLibrary && other)
inlinenoexcept

◆ to_proper_string()

template<typename T >
static std::string openstudio::DynamicLibrary::to_proper_string ( const T & t_str)
inlinestaticnodiscard

◆ to_string()

template<typename T >
static std::string openstudio::DynamicLibrary::to_string ( const T & t_str)
inlinestaticnodiscard

◆ to_wstring()

template<typename T >
static std::wstring openstudio::DynamicLibrary::to_wstring ( const T & t_str)
inlinestaticnodiscard

Member Data Documentation

◆ m_handle [1/2]

std::unique_ptr<void, decltype(&m_handle_deleter)> openstudio::DynamicLibrary::m_handle {nullptr, m_handle_deleter}

◆ m_handle [2/2]

HMODULE openstudio::DynamicLibrary::m_handle {}

◆ m_location

openstudio::path openstudio::DynamicLibrary::m_location {}