Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Friends | List of all members
Mantid::API::ImplicitFunctionFactoryImpl Class Reference

#include <ImplicitFunctionFactory.h>

Inheritance diagram for Mantid::API::ImplicitFunctionFactoryImpl:
Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >

Public Member Functions

Mantid::Geometry::MDImplicitFunction_sptr create (const std::string &className) const override
 Creates a new instance of the class with the given name. More...
 
Mantid::Geometry::MDImplicitFunctioncreateUnwrapped (const std::string &processXML) const override
 Creates a new instance of the class with the given name, which is not wrapped in a boost shared_ptr. More...
 
virtual Mantid::Geometry::MDImplicitFunctioncreateUnwrapped (Poco::XML::Element *processXML) const
 
 ImplicitFunctionFactoryImpl (const ImplicitFunctionFactoryImpl &)=delete
 
ImplicitFunctionFactoryImploperator= (const ImplicitFunctionFactoryImpl &)=delete
 
- Public Member Functions inherited from Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >
virtual std::shared_ptr< Mantid::Geometry::MDImplicitFunctioncreate (const std::string &className) const
 Creates a new instance of the class with the given name. More...
 
virtual Mantid::Geometry::MDImplicitFunctioncreateUnwrapped (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...
 
DynamicFactoryoperator= (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

 ImplicitFunctionFactoryImpl ()=default
 Private Constructor for singleton class. More...
 
 ~ImplicitFunctionFactoryImpl () override=default
 Private Destructor. More...
 

Friends

struct Mantid::Kernel::CreateUsingNew< ImplicitFunctionFactoryImpl >
 

Additional Inherited Members

- Public Types inherited from Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >
using AbstractFactory = AbstractInstantiator< Mantid::Geometry::MDImplicitFunction >
 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< Mantid::Geometry::MDImplicitFunction >
Poco::NotificationCenter notificationCenter
 Sends notifications to observers. More...
 
- Protected Member Functions inherited from Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >
 DynamicFactory ()
 Protected constructor for base class. More...
 

Detailed Description

Definition at line 27 of file ImplicitFunctionFactory.h.

Constructor & Destructor Documentation

◆ ImplicitFunctionFactoryImpl() [1/2]

Mantid::API::ImplicitFunctionFactoryImpl::ImplicitFunctionFactoryImpl ( const ImplicitFunctionFactoryImpl )
delete

◆ ImplicitFunctionFactoryImpl() [2/2]

Mantid::API::ImplicitFunctionFactoryImpl::ImplicitFunctionFactoryImpl ( )
privatedefault

Private Constructor for singleton class.

◆ ~ImplicitFunctionFactoryImpl()

Mantid::API::ImplicitFunctionFactoryImpl::~ImplicitFunctionFactoryImpl ( )
overrideprivatedefault

Private Destructor.

Member Function Documentation

◆ create()

Mantid::Geometry::MDImplicitFunction_sptr Mantid::API::ImplicitFunctionFactoryImpl::create ( const std::string &  className) const
overridevirtual

Creates a new instance of the class with the given name.

The class must have been registered with subscribe() (typically done via a macro). If the class name is unknown, a NotFoundException is thrown.

Parameters
className:: the name of the class you wish to create
Returns
a shared pointer ot the base class

Reimplemented from Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >.

Definition at line 20 of file ImplicitFunctionFactory.cpp.

References UNUSED_ARG.

◆ createUnwrapped() [1/2]

Mantid::Geometry::MDImplicitFunction * Mantid::API::ImplicitFunctionFactoryImpl::createUnwrapped ( const std::string &  className) const
overridevirtual

Creates a new instance of the class with the given name, which is not wrapped in a boost shared_ptr.

This should be used with extreme care (or, better, not used)! The caller owns the returned instance. The class must have been registered with subscribe() (typically done via a macro). If the class name is unknown, a NotFoundException is thrown.

Parameters
className:: the name of the class you wish to create
Returns
a pointer to the base class

Reimplemented from Mantid::Kernel::DynamicFactory< Mantid::Geometry::MDImplicitFunction >.

Definition at line 37 of file ImplicitFunctionFactory.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance().

◆ createUnwrapped() [2/2]

Mantid::Geometry::MDImplicitFunction * Mantid::API::ImplicitFunctionFactoryImpl::createUnwrapped ( Poco::XML::Element *  processXML) const
virtual

◆ operator=()

ImplicitFunctionFactoryImpl & Mantid::API::ImplicitFunctionFactoryImpl::operator= ( const ImplicitFunctionFactoryImpl )
delete

Friends And Related Function Documentation

◆ Mantid::Kernel::CreateUsingNew< ImplicitFunctionFactoryImpl >

Definition at line 35 of file ImplicitFunctionFactory.h.


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