1#ifndef NEFORCE_PLUGIN_IPLUGIN_HPP__
2#define NEFORCE_PLUGIN_IPLUGIN_HPP__
14NEFORCE_BEGIN_NAMESPACE__
114 other.func_ =
nullptr;
124 other.func_ =
nullptr;
159NEFORCE_END_NAMESPACE__
NEFORCE_INLINE17 constexpr bool is_nothrow_invocable_v
is_nothrow_invocable的便捷变量模板
unique_ptr< iplugin, plugin_deleter > plugin_ptr
插件唯一指针类型
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
virtual const plugin_info & get_info() const =0
获取插件信息
virtual void initialize()=0
初始化插件
virtual void execute()=0
执行插件的主要功能
virtual void shutdown()=0
关闭插件
plugin_deleter() noexcept=default
默认构造函数
void operator()(iplugin *plugin) const noexcept(is_nothrow_invocable_v< deleter_type, iplugin * >)
函数调用运算符
void(*)(iplugin *) deleter_type
删除函数类型
plugin_deleter(plugin_deleter &&other) noexcept
移动构造函数
plugin_deleter & operator=(plugin_deleter &&other) noexcept
移动赋值运算符
plugin_deleter rebind() &&noexcept
重新绑定删除器