# pion::plugin_ptr< InterfaceClassType > Class Template Reference

`#include <plugin.hpp>`

Inherits pion::plugin.

List of all members.

## Public Member Functions

| plugin_ptr (void)
| default constructor & destructor
| plugin_ptr (const plugin_ptr &p)
| copy constructor
plugin_ptr & | operator= (const plugin_ptr &p)
| assignment operator
InterfaceClassType * | create (void)
| creates a new instance of the plug-in object
void | destroy (InterfaceClassType *object_ptr)
| destroys an instance of the plug-in object

## Protected Types

typedef InterfaceClassType * | CreateObjectFunction (void)
| data type for a function that is used to create object instances
typedef void | DestroyObjectFunction (InterfaceClassType *)
| data type for a function that is used to destroy object instances

## Detailed Description

### template<typename InterfaceClassType>
class pion::plugin_ptr< InterfaceClassType >

plugin_ptr: smart pointer that manages plug-in code loaded from shared object libraries

Definition at line 301 of file plugin.hpp.

The documentation for this class was generated from the following file:

- include/pion/plugin.hpp