PionNetworkLibrary
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
pion::plugin_instance_ptr< InterfaceClassType > Class Template Reference

#include <plugin.hpp>

Inheritance diagram for pion::plugin_instance_ptr< InterfaceClassType >:
Collaboration diagram for pion::plugin_instance_ptr< InterfaceClassType >:

Public Member Functions

 plugin_instance_ptr (void)
 default constructor & destructor More...
 
virtual ~plugin_instance_ptr ()
 virtual destructor / may be extended More...
 
void reset (void)
 reset the instance pointer More...
 
void create (const std::string &plugin_type)
 create a new instance of the given plugin_type More...
 
bool empty (void) const
 returns true if pointer is empty More...
 
InterfaceClassType * get (void)
 return a raw pointer to the instance More...
 
InterfaceClassType & operator* (void)
 return a reference to the instance More...
 
const InterfaceClassType & operator* (void) const
 return a const reference to the instance More...
 
InterfaceClassType * operator-> (void)
 return a reference to the instance More...
 
const InterfaceClassType * operator-> (void) const
 return a const reference to the instance More...
 

Protected Attributes

plugin_ptr< InterfaceClassType > m_plugin_ptr
 smart pointer that manages the plugin's dynamic object code More...
 
InterfaceClassType * m_instance_ptr
 raw pointer to the plugin instance More...
 

Detailed Description

template<typename InterfaceClassType>
class pion::plugin_instance_ptr< InterfaceClassType >

plugin_instance_ptr: smart pointer that manages a plug-in instance

Constructor & Destructor Documentation

template<typename InterfaceClassType >
pion::plugin_instance_ptr< InterfaceClassType >::plugin_instance_ptr ( void  )
inline

default constructor & destructor

template<typename InterfaceClassType >
virtual pion::plugin_instance_ptr< InterfaceClassType >::~plugin_instance_ptr ( )
inlinevirtual

virtual destructor / may be extended

References pion::plugin_instance_ptr< InterfaceClassType >::reset().

Member Function Documentation

template<typename InterfaceClassType >
void pion::plugin_instance_ptr< InterfaceClassType >::create ( const std::string &  plugin_type)
inline
template<typename InterfaceClassType >
bool pion::plugin_instance_ptr< InterfaceClassType >::empty ( void  ) const
inline

returns true if pointer is empty

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

template<typename InterfaceClassType >
InterfaceClassType* pion::plugin_instance_ptr< InterfaceClassType >::get ( void  )
inline

return a raw pointer to the instance

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

template<typename InterfaceClassType >
InterfaceClassType& pion::plugin_instance_ptr< InterfaceClassType >::operator* ( void  )
inline

return a reference to the instance

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

template<typename InterfaceClassType >
const InterfaceClassType& pion::plugin_instance_ptr< InterfaceClassType >::operator* ( void  ) const
inline

return a const reference to the instance

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

template<typename InterfaceClassType >
InterfaceClassType* pion::plugin_instance_ptr< InterfaceClassType >::operator-> ( void  )
inline

return a reference to the instance

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

template<typename InterfaceClassType >
const InterfaceClassType* pion::plugin_instance_ptr< InterfaceClassType >::operator-> ( void  ) const
inline

return a const reference to the instance

References pion::plugin_instance_ptr< InterfaceClassType >::m_instance_ptr.

Member Data Documentation

template<typename InterfaceClassType >
plugin_ptr<InterfaceClassType> pion::plugin_instance_ptr< InterfaceClassType >::m_plugin_ptr
protected

smart pointer that manages the plugin's dynamic object code

Referenced by pion::plugin_instance_ptr< InterfaceClassType >::create(), and pion::plugin_instance_ptr< InterfaceClassType >::reset().


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