Loading [MathJax]/extensions/tex2jax.js
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
PLMD::ActionRegistration< ActionClass > Class Template Reference

Each instance of this specialized class represents an action that can be called with the specified directive. More...

#include <ActionRegister.h>

Public Member Functions

 ActionRegistration (std::string_view directive)
 On construction register the ActionClass with the wanted directive.
 
 ~ActionRegistration ()
 On destruction deregister the ActionClass (useful when you unload a shared object)
 

Static Private Member Functions

static std::unique_ptr< Actioncreate (const ActionOptions &ao)
 

Private Attributes

ActionRegister::ID id
 

Detailed Description

template<typename ActionClass>
class PLMD::ActionRegistration< ActionClass >

Each instance of this specialized class represents an action that can be called with the specified directive.

As soon it goes out of scope it will deregister the directive from the singleton ActionRegister

Constructor & Destructor Documentation

◆ ActionRegistration()

template<typename ActionClass>
PLMD::ActionRegistration< ActionClass >::ActionRegistration ( std::string_view directive)
inline

On construction register the ActionClass with the wanted directive.

◆ ~ActionRegistration()

template<typename ActionClass>
PLMD::ActionRegistration< ActionClass >::~ActionRegistration ( )
inline

On destruction deregister the ActionClass (useful when you unload a shared object)

Member Function Documentation

◆ create()

template<typename ActionClass>
static std::unique_ptr< Action > PLMD::ActionRegistration< ActionClass >::create ( const ActionOptions & ao)
inlinestaticprivate

Member Data Documentation

◆ id

template<typename ActionClass>
ActionRegister::ID PLMD::ActionRegistration< ActionClass >::id
private

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