detail/PluginPtr.hh
Go to the documentation of this file.
This class manages the lifecycle of a plugin instance. It can receive a plugin instance from the Plug...
Definition: PluginPtr.hh:53
size_t operator()(const TemplatePluginPtr< PluginType > &ptr) const
Definition: detail/PluginPtr.hh:190
PluginType & operator*() const
Get a reference to the wrapper for the plugin instance that is being managed by this PluginPtr...
Definition: detail/PluginPtr.hh:119
std::size_t Hash() const
Produces a hash for the plugin instance that this PluginPtr is holding. This function allows PluginPt...
Definition: detail/PluginPtr.hh:143
TemplatePluginPtr & operator=(const TemplatePluginPtr &_other)
Copy assignment operator. This PluginPtr will now point at the same plugin instance as _other...
Definition: detail/PluginPtr.hh:64
STL namespace.
detail::ConstCompatible< To, From > ConstCompatible
Contains a static constexpr field named value which will be true if the type From has a const-quality...
Definition: TemplateHelpers.hh:47
TemplatePluginPtr()
Default constructor. Creates a PluginPtr object that does not point to any plugin instance...
Definition: detail/PluginPtr.hh:33
PluginType * operator->() const
Access the wrapper for the plugin instance and call one of its member functions.
Definition: detail/PluginPtr.hh:112
bool IsEmpty() const
Check if this PluginPtr is holding a plugin instance.
Definition: detail/PluginPtr.hh:151
T move(T... args)
T get(T... args)
void Clear()
Clears the Plugin instance from this PluginPtr. IsEmpty() will return true after this is used...
Definition: detail/PluginPtr.hh:165
#define DETAIL_IGN_COMMON_PLUGINPTR_IMPLEMENT_OPERATOR(op)
Definition: detail/PluginPtr.hh:125
Forward declarations for the common classes.