Mantid
Loading...
Searching...
No Matches
ColumnFactory.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 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//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
12#include "MantidAPI/DllConfig.h"
15#include <vector>
16
17namespace Mantid {
18
19namespace API {
20//----------------------------------------------------------------------
21// Forward declarations
22//----------------------------------------------------------------------
23class Column;
24
35class MANTID_API_DLL ColumnFactoryImpl : public Kernel::DynamicFactory<Column> {
36public:
40 std::shared_ptr<Column> create(const std::string &type) const override;
41
42private:
44
46 ColumnFactoryImpl() = default;
48 ~ColumnFactoryImpl() override = default;
49};
50
52
53} // namespace API
54} // namespace Mantid
55
56namespace Mantid {
57namespace Kernel {
58EXTERN_MANTID_API template class MANTID_API_DLL Mantid::Kernel::SingletonHolder<Mantid::API::ColumnFactoryImpl>;
59}
60} // namespace Mantid
std::vector< double > Column
Definition: LoadSESANS.h:15
The ColumnFactory class is in charge of the creation of concrete instances of columns.
Definition: ColumnFactory.h:35
ColumnFactoryImpl & operator=(const ColumnFactoryImpl &)=delete
ColumnFactoryImpl()=default
Private Constructor for singleton class.
~ColumnFactoryImpl() override=default
Private Destructor.
ColumnFactoryImpl(const ColumnFactoryImpl &)=delete
The dynamic factory is a base dynamic factory for serving up objects in response to requests from oth...
Manage the lifetime of a class intended to be a singleton.
std::unique_ptr< T > create(const P &parent, const IndexArg &indexArg, const HistArg &histArg)
This is the create() method that all the other create() methods call.
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...