Mantid
Loading...
Searching...
No Matches
DomainCreatorFactory.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2012 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include "MantidAPI/DllConfig.h"
12
13namespace Mantid {
14//
15// Forward declarations
16//
17namespace Kernel {
18class IPropertyManager;
19}
20namespace API {
21//
22// Forward declarations
23//
24class IDomainCreator;
25
30class MANTID_API_DLL DomainCreatorFactoryImpl : public Kernel::DynamicFactory<IDomainCreator> {
31public:
33 IDomainCreator *createDomainCreator(const std::string &id, Kernel::IPropertyManager *pm,
34 const std::string &workspacePropertyName, const unsigned int domainType) const;
35
36private:
38
41
44
47
49 ~DomainCreatorFactoryImpl() override = default;
50
51 // Do not use default methods
53 using Kernel::DynamicFactory<IDomainCreator>::createUnwrapped;
54};
55
57
58} // namespace API
59} // namespace Mantid
60
61namespace Mantid {
62namespace Kernel {
63EXTERN_MANTID_API template class MANTID_API_DLL Mantid::Kernel::SingletonHolder<Mantid::API::DomainCreatorFactoryImpl>;
64}
65} // namespace Mantid
Constructs a DomainCreator object from a string.
DomainCreatorFactoryImpl & operator=(const DomainCreatorFactoryImpl &)=delete
No copying.
DomainCreatorFactoryImpl(const DomainCreatorFactoryImpl &)=delete
Disable copy and assignment operator.
DomainCreatorFactoryImpl()=default
Private Constructor for singleton class.
~DomainCreatorFactoryImpl() override=default
Private Destructor for singleton.
An base class for domain creators for use in Fit.
The dynamic factory is a base dynamic factory for serving up objects in response to requests from oth...
Interface to PropertyManager.
Manage the lifetime of a class intended to be a singleton.
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...