-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathEMICFactory.H
56 lines (47 loc) · 1.25 KB
/
EMICFactory.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*************************************************************************
*
* Copyright (c) 2018-2022, Lawrence Livermore National Security, LLC.
* See the top-level LICENSE file for details.
* Produced at the Lawrence Livermore National Laboratory
*
* SPDX-License-Identifier: MIT
*
************************************************************************/
#ifndef _EM_IC_FACTORY_H_
#define _EM_IC_FACTORY_H_
namespace Loki {
class LokiInputParser;
class EMICInterface;
/**
* Factory for creating electromagnetic initial condition objects. Only
* contains static create method.
*/
class EMICFactory
{
public:
/**
* @brief Creates the requested EMICInterface.
*
* @param[in] a_pp Where the electromagnetic initial condition's input
* parameters will be found.
*
* @return The requested EMICInterface.
*/
static
EMICInterface*
create(
LokiInputParser& a_pp);
private:
// Unimplemented default constructor.
EMICFactory();
// Unimplemented destructor.
~EMICFactory();
// Unimplemented copy constructor.
EMICFactory(const EMICFactory& other);
// Unimplemented assignment operator.
EMICFactory&
operator = (
const EMICFactory& rhs);
};
} // end namespace Loki
#endif