![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
ReferenceBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 11. Boost.DLL
|
![]() | Warning |
---|---|
Очень экспериментально! Требуется C++14! изменится в следующей версии Boost! бульон / смарт _library.hpp не включен в бульвар / dll.hpp |
namespace boost { namespace dll { namespace experimental { class smart_library; // Very fast equality check that compares the actual DLL/DSO objects. Throws nothing. bool operator==(const smart_library & lhs, const smart_library & rhs); // Very fast inequality check that compares the actual DLL/DSO objects. Throws nothing. bool operator!=(const smart_library & lhs, const smart_library & rhs); // Compare the actual DLL/DSO objects without any guarantee to be stable between runs. Throws nothing. bool operator<(const smart_library & lhs, const smart_library & rhs); // Swaps two shared libraries. Does not invalidate symbols and functions loaded from libraries. Throws nothing. void swap(smart_library & lhs, smart_library & rhs); template<typename T, typename T2> void get(const smart_library &, const std::string &); template<typename T> T & get(const smart_library & sm, const std::string & name, typename boost::enable_if< boost::is_object< T >, T >::type * = nullptr); template<typename T> auto get(const smart_library & sm, const std::string & name, typename boost::enable_if< boost::is_function< T >>::type * = nullptr); template<typename Class, typename Signature> auto get(const smart_library &, const std::string &); } } }
Содержит весь импульс::dll:: Import* контрольные функции подсчета, которые имеют общий указатель на случай увеличения::dll::shared_library.
namespace boost { namespace dll { template<typename T> result_type import(const boost::filesystem::path &, const char *, load_mode::type = load_mode::default_mode); template<typename T> result_type import(const boost::filesystem::path &, const std::string &, load_mode::type = load_mode::default_mode); template<typename T> result_type import(const shared_library &, const char *); template<typename T> result_type import(const shared_library &, const std::string &); template<typename T> result_type import(shared_library &&, const char *); template<typename T> result_type import(shared_library &&, const std::string &); template<typename T> result_type import_alias(const boost::filesystem::path &, const char *, load_mode::type = load_mode::default_mode); template<typename T> result_type import_alias(const boost::filesystem::path &, const std::string &, load_mode::type = load_mode::default_mode); template<typename T> result_type import_alias(const shared_library &, const char *); template<typename T> result_type import_alias(const shared_library &, const std::string &); template<typename T> result_type import_alias(shared_library &&, const char *); template<typename T> result_type import_alias(shared_library &&, const std::string &); } }
namespace boost { namespace dll { namespace experimental { template<typename T> class imported_class; template<typename T, typename... Args> imported_class< T > import_class(const smart_library &, std::size_t, Args...); template<typename T, typename... Args> imported_class< T > import_class(const smart_library &, std::size_t, const std::string &, Args...); template<typename T, typename... Args> imported_class< T > import_class(const smart_library &, const std::string &, std::size_t, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library &&, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library &&, const std::string &, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library &&, std::size_t, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library &&, std::size_t, const std::string &, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library &&, const std::string &, std::size_t, Args...); template<typename T, typename... Args> imported_class< T > import_class(smart_library & lib, Args... args); template<typename T, typename... Args> imported_class< T > import_class(smart_library & lib, const std::string & alias_name, Args... args); template<typename T, typename... Args> imported_class< T > import_class(smart_library & lib, std::size_t size, Args... args); template<typename T, typename... Args> imported_class< T > import_class(smart_library & lib, std::size_t size, const std::string & alias_name, Args... args); template<typename T, typename... Args> imported_class< T > import_class(smart_library & lib, const std::string & alias_name, std::size_t size, Args... args); } } }
namespace boost { namespace dll { namespace experimental { template<class... Args> result_type import_mangled(const boost::filesystem::path &, const char *, load_mode::type = load_mode::default_mode); template<class... Args> result_type import_mangled(const boost::filesystem::path &, const std::string &, load_mode::type = load_mode::default_mode); template<class... Args> result_type import_mangled(const smart_library &, const char *); template<class... Args> result_type import_mangled(const smart_library &, const std::string &); template<class... Args> result_type import_mangled(smart_library &&, const char *); template<class... Args> result_type import_mangled(smart_library &&, const std::string &); template<class... Args> result_type import_mangled(const shared_library &, const char *); template<class... Args> result_type import_mangled(const shared_library &, const std::string &); template<class... Args> result_type import_mangled(shared_library &&, const char *); template<class... Args> result_type import_mangled(shared_library &&, const std::string &); } } }
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 11. Boost.DLL может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 11. Boost.DLL ::
реклама |