Mantid
|
Creates instances of concrete transformations into multidimensional (MD) coordinates. More...
#include <MDTransfFactory.h>
Public Member Functions | |
std::shared_ptr< MDTransfInterface > | create (const std::string &className) const override |
Returns an instance of the class with the given name. More... | |
MDTransfFactoryImpl (const MDTransfFactoryImpl &)=delete | |
MDTransfFactoryImpl & | operator= (const MDTransfFactoryImpl &)=delete |
Public Member Functions inherited from Mantid::Kernel::DynamicFactory< MDTransfInterface > | |
virtual std::shared_ptr< MDTransfInterface > | create (const std::string &className) const |
Creates a new instance of the class with the given name. More... | |
virtual MDTransfInterface * | createUnwrapped (const std::string &className) const |
Creates a new instance of the class with the given name, which is not wrapped in a boost shared_ptr. More... | |
void | disableNotifications () |
Disable notifications. More... | |
DynamicFactory (const DynamicFactory &)=delete | |
void | enableNotifications () |
Enable notifications. More... | |
bool | exists (const std::string &className) const |
Returns true if the given class is currently registered. More... | |
virtual const std::vector< std::string > | getKeys () const |
Returns the keys in the map. More... | |
DynamicFactory & | operator= (const DynamicFactory &)=delete |
void | subscribe (const std::string &className) |
Registers the instantiator for the given class with the DynamicFactory. More... | |
void | subscribe (const std::string &className, std::unique_ptr< AbstractFactory > pAbstractFactory, SubscribeAction replace=ErrorIfExists) |
Registers the instantiator for the given class with the DynamicFactory. More... | |
void | unsubscribe (const std::string &className) |
Unregisters the given class and deletes the instantiator for the class. More... | |
virtual | ~DynamicFactory ()=default |
Destroys the DynamicFactory and deletes the instantiators for all registered classes. More... | |
Private Member Functions | |
MDTransfFactoryImpl ()=default | |
Private Constructor for singleton class. More... | |
Private Attributes | |
std::map< std::string, std::shared_ptr< MDTransfInterface > > | m_createdTransf |
Stores pointers to already created unit instances, with their name as the key. More... | |
Friends | |
struct | Kernel::CreateUsingNew< MDTransfFactoryImpl > |
Additional Inherited Members | |
Public Types inherited from Mantid::Kernel::DynamicFactory< MDTransfInterface > | |
using | AbstractFactory = AbstractInstantiator< MDTransfInterface > |
A typedef for the instantiator. More... | |
enum | NotificationStatus |
Defines the whether notifications are dispatched. More... | |
enum | SubscribeAction |
Defines replacement behaviour. More... | |
Public Attributes inherited from Mantid::Kernel::DynamicFactory< MDTransfInterface > | |
Poco::NotificationCenter | notificationCenter |
Sends notifications to observers. More... | |
Protected Member Functions inherited from Mantid::Kernel::DynamicFactory< MDTransfInterface > | |
DynamicFactory () | |
Protected constructor for base class. More... | |
Creates instances of concrete transformations into multidimensional (MD) coordinates.
See http://www.mantidproject.org/Writing_custom_ConvertTo_MD_transformation for detailed description of this class place in the algorithms hierarchy.
The factory is a singleton that hands out shared pointers to the base MDTransfornation class. It overrides the base class DynamicFactory::create method so that only a single instance of a given transformation is ever created, and a pointer to that same instance is passed out each time the transformation is requested.
Definition at line 69 of file MDTransfFactory.h.
|
delete |
|
privatedefault |
Private Constructor for singleton class.
|
overridevirtual |
Returns an instance of the class with the given name.
Overrides the base class method. If an instance already exists, a pointer to it is returned, otherwise a new instance is created by the DynamicFactory::create method.
className | :: The name of the class to be created |
Reimplemented from Mantid::Kernel::DynamicFactory< MDTransfInterface >.
Definition at line 18 of file MDTransfFactory.cpp.
References Mantid::Kernel::DynamicFactory< Base, Comparator >::create(), and m_createdTransf.
|
delete |
|
friend |
Definition at line 77 of file MDTransfFactory.h.
|
mutableprivate |
Stores pointers to already created unit instances, with their name as the key.
Definition at line 81 of file MDTransfFactory.h.
Referenced by create().