|  | 
|      | 
|  | 
| Class template imported_classBoost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
  
   | |||||||||||||||||||||
| ![[Note]](/img/note.png) | Note | 
|---|---|
| Он должен быть построен с помощью boost::dll::import_class (const smart_library& lib, std::size_t, Args...) | 
imported_class 
        public
       construct/copy/destructtemplate<typename...Args> imported_class(unspecified,constsmart_library&lib,Args...args);>
template<typename...Args> imported_class(unspecified,constsmart_library&lib,std::size_tsize, Args...args);>
template<typename...Args> imported_class(unspecified,smart_library&&lib,Args...args);>
template<typename...Args> imported_class(unspecified,smart_library&&lib,std::size_tsize, Args...args);>
imported_class()=delete;>
imported_class(imported_class&)=delete;>
imported_class(imported_class&&)=default;>Переместить конструктор.
imported_class&operator=(imported_class&)=delete;>
imported_class&operator=(imported_class&&)=default;>Перемещать ассигнования.
imported_class public static functionstemplate<typename...Args> staticimported_class<T>make(smart_library&&lib,Args...args);>
template<typename...Args> staticimported_class<T> make(smart_library&&lib,std::size_tsize,Args...args);>
template<typename...Args> staticimported_class<T>make(constsmart_library&lib,Args...args);>
template<typename...Args> staticimported_class<T> make(constsmart_library&lib,std::size_tsize,Args...args);>
imported_class public member functionsT*get();>Возвращает указатель на основной класс.
boolis_move_constructible();>Проверьте, является ли импортируемый класс подвижным.
boolis_move_assignable();>Проверьте, является ли импортируемый класс подвижным.
boolis_copy_constructible();>Проверьте, является ли импортируемый класс копируемым.
boolis_copy_assignable();>Проверьте, является ли импортируемый класс поддающимся копированию.
imported_class<T>copy()const;>Обратитесь к конструктору копий.
| ![[Note]](/img/note.png) | Примечание | 
|---|---|
| Неопределенное поведение, если импортируемый объект не является копируемым. | 
imported_class<T>move();>Назовите конструктор движения.
| ![[Note]](/img/note.png) | Примечание | 
|---|---|
| Неопределенное поведение, если импортируемый объект не является конструируемым. | 
voidcopy_assign(constimported_class<T>&lhs)const;>Ссылка на копию.
| ![[Note]](/img/note.png) | Примечание | 
|---|---|
| Неопределенное поведение, если импортируемый объект не поддается копированию. | 
voidmove_assign(imported_class<T>&lhs);>Призовите задание на переезд.
| ![[Note]](/img/note.png) | Примечание | 
|---|---|
| Неопределенное поведение, если импортируемый объект не может перемещаться. | 
explicitoperatorbool()const;>Проверьте, загружен ли класс.
conststd::type_info&get_type_info();>Получить ссылку на std::type_info.
template<typenameSignature>unspecifiedcall(conststd::string&name);>
Вызовите функцию члена. Это возвращает прокси к функции. Механик-посредник необходим, поэтому сигнал можно передать.
Пример
<im_class.call<void(constchar*)>("function_name")("MyString");>
template<typenameTin,typenameSignature, typename=boost::enable_if<detail::unqalified_is_same<T,Tin>>> unspecifiedcall(conststd::string&name);>
Назовите квалифицированную функцию члена, т.е. конст и или летучую.
Пример
<im_class.call<consttype_alias,void(constchar*)>("function_name")("MyString");>
template<typenameTin,typenameT2>unspecifiedoperator->*(unspecifiedmn);>Перегрузка ->* для импортного метода.
template<class...Args>unspecifiedimport(conststd::string&name);>Импортировать метод класса.
Статья Class template imported_class раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
| реклама |