# pion::PionPluginPtr< InterfaceClassType > Class Template Reference

`#include <PionPlugin.hpp>`

Inherits pion::PionPlugin.

List of all members.

## Detailed Description

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

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

Definition at line 364 of file PionPlugin.hpp.

## Public Member Functions

| PionPluginPtr (void)
| default constructor & destructor
virtual | ~PionPluginPtr ()
| PionPluginPtr (const PionPluginPtr &p)
| copy constructor
PionPluginPtr & | operator= (const PionPluginPtr &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

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

- common/include/pion/PionPlugin.hpp