Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
▼CEnablePluginFromThis | EnablePluginFromThis is an optional base class which can be inherited by Plugin classes. When a Plugin class inherits it and that Plugin class is instantiated using the Loader class, its instance will be able to access the PluginPtr that manages its lifecycle. This interface will also be available by calling instance->QueryInterface<EnablePluginFromThis>() |
CFactory< Interface, Args > | The Factory class defines a plugin factory that can be used by the Loader class to produce products that implement an interface |
CInfo | Holds info required to construct a plugin |
CInfo | Holds info required to construct a plugin |
CLoader | Class for loading plugins |
▼CPlugin | |
CSpecializedPlugin< SpecInterface > | This class allows Plugin instances to have high-speed access to interfaces that can be anticipated at compile time. The plugin does not have to actually offer the specialized interface in order to get this performance improvement. This template is variadic, so it can support arbitrarily many interfaces |
CFactory< Interface, Args >::Producing< Product > | |
CProductDeleter< Interface > | This class provides a unary operator for safely deleting pointers to plugin factory products with the type Interface . If it gets passed an Interface pointer that is not pointing to a factory plugin product, then this just performs a normal delete |
CSpecializedPlugin< OtherSpecInterfaces > | |
CTemplatePluginPtr< PluginType > | This class manages the lifecycle of a plugin instance. It can receive a plugin instance from the Loader class or by copy-construction or assignment from another PluginPtr instance |
CWeakPluginPtr | WeakPluginPtr is a non-reference-holding smart pointer for a Plugin. WeakPluginPtr is analogous to std::weak_ptr where PluginPtr is analogous to std::shared_ptr |