MarlinMT  0.1.0
marlinmt::Extensions Class Reference

Extensions class. More...

#include <Extensions.h>

Public Types

using ExtensionMap = std::map< std::size_t, std::shared_ptr< Extension > >
 

Public Member Functions

 Extensions ()=default
 
 ~Extensions ()=default
 
 Extensions (const Extensions &)=delete
 
Extensionsoperator= (const Extensions &)=delete
 
 Extensions (Extensions &&)=default
 
Extensionsoperator= (Extensions &&)=default
 
template<typename K >
bool exits () const
 
template<typename K , typename T >
void add (T *ptr, bool isOwned=true)
 
template<typename K , typename T , typename ... Args>
T * create (bool isOwned, Args ...args)
 
template<typename K , typename T >
T * get ()
 
template<typename K , typename T >
const T * get () const
 
template<typename K >
void remove ()
 

Private Attributes

ExtensionMap _extensions {}
 The extension map. More...
 

Detailed Description

Extensions class.

Provide an interface to a user defined event object.

Definition at line 71 of file Extensions.h.

Member Typedef Documentation

◆ ExtensionMap

using marlinmt::Extensions::ExtensionMap = std::map<std::size_t, std::shared_ptr<Extension> >

Definition at line 73 of file Extensions.h.

Constructor & Destructor Documentation

◆ Extensions() [1/3]

marlinmt::Extensions::Extensions ( )
default

◆ ~Extensions()

marlinmt::Extensions::~Extensions ( )
default

◆ Extensions() [2/3]

marlinmt::Extensions::Extensions ( const Extensions )
delete

◆ Extensions() [3/3]

marlinmt::Extensions::Extensions ( Extensions &&  )
default

Member Function Documentation

◆ add()

template<typename K , typename T >
void marlinmt::Extensions::add ( T *  ptr,
bool  isOwned = true 
)
inline

Definition at line 89 of file Extensions.h.

References marlinmt::Extension::isOwned(), and MARLINMT_THROW.

◆ create()

template<typename K , typename T , typename ... Args>
T* marlinmt::Extensions::create ( bool  isOwned,
Args ...  args 
)
inline

Definition at line 100 of file Extensions.h.

References marlinmt::Extension::isOwned(), and MARLINMT_THROW.

◆ exits()

template<typename K >
bool marlinmt::Extensions::exits ( ) const
inline

Definition at line 84 of file Extensions.h.

◆ get() [1/2]

template<typename K , typename T >
T* marlinmt::Extensions::get ( )
inline

Definition at line 112 of file Extensions.h.

References MARLINMT_THROW.

◆ get() [2/2]

template<typename K , typename T >
const T* marlinmt::Extensions::get ( ) const
inline

Definition at line 122 of file Extensions.h.

References MARLINMT_THROW.

◆ operator=() [1/2]

Extensions& marlinmt::Extensions::operator= ( const Extensions )
delete

◆ operator=() [2/2]

Extensions& marlinmt::Extensions::operator= ( Extensions &&  )
default

◆ remove()

template<typename K >
void marlinmt::Extensions::remove ( )
inline

Definition at line 132 of file Extensions.h.

References MARLINMT_THROW.

Member Data Documentation

◆ _extensions

ExtensionMap marlinmt::Extensions::_extensions {}
private

The extension map.

Definition at line 143 of file Extensions.h.


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