Function import_class
boost::dll::experimental::import_class
Synopsis
template<typename T, typename... Args>
imported_class< T >
import_class(const smart_library & lib, std::size_t size, Args... args);
template<typename T, typename... Args>
imported_class< T >
import_class(const smart_library & lib, std::size_t size,
const std::string & alias_name, Args... args);
template<typename T, typename... Args>
imported_class< T >
import_class(const smart_library & lib_, const std::string & alias_name,
std::size_t size, Args... 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);
Description
Возвращает экземпляр imported_class
, который позволяет вызывать или импортировать больше функций. Он берет копию smart_libray, поэтому для объекта не будет видно никаких дополнительных алиаз.
Немногие компиляторы действительно реализуют распределительный конструктор, который позволяет строить класс, не зная размера. Это не портативно, поэтому фактический размер класса всегда должен быть обеспечен.
Пример:
auto import_class<class type_alias, const std::string&, std::size_t>(lib, "class_name", 20, "param1", 42);
В этом примере мы строим экземпляр класса «class_name» с размером 20, который имеет «type_alias» в качестве псевдонима, через конструктор, который принимает const-ref параметра std::string и std::size_t.
![[Note]](/img/note.png) | Note |
---|
Эта функция добавляет псевдоним типа в усилитель::dll::experimental::smart_library. |
Параметры: | |
lib
|
lib [ORIG_END] --> | Путь к общей библиотеке или к общей библиотеке для загрузки функции. |