eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
Runtime.h
Go to the documentation of this file.
1
/*
2
** This file is part of eOn.
3
**
4
** SPDX-License-Identifier: BSD-3-Clause
5
**
6
** Copyright (c) 2010--present, eOn Development Team
7
** All rights reserved.
8
**
9
** Repo:
10
** https://github.com/TheochemUI/eOn
11
*/
12
#pragma once
13
14
#include <memory>
15
16
namespace
eonc
{
17
18
class
PotRegistry
;
19
class
IRAResource
;
20
class
ARTnResource
;
21
class
PluginLoader
;
22
class
MetatomicLoader
;
23
27
class
Runtime
{
28
public
:
29
Runtime
();
30
Runtime
(
Runtime
&&) noexcept;
31
Runtime
&operator=(
Runtime
&&) noexcept;
32
~
Runtime
();
33
34
Runtime
(const
Runtime
&) = delete;
35
Runtime
&operator=(const
Runtime
&) = delete;
36
37
[[nodiscard]]
PotRegistry
&
pots
() noexcept;
38
[[nodiscard]] const
PotRegistry
&
pots
() const noexcept;
39
[[nodiscard]]
IRAResource
&
ira
() noexcept;
40
[[nodiscard]] const
IRAResource
&
ira
() const noexcept;
41
[[nodiscard]]
ARTnResource
&
artn
() noexcept;
42
[[nodiscard]] const
ARTnResource
&
artn
() const noexcept;
43
[[nodiscard]]
PluginLoader
&
plugins
() noexcept;
44
[[nodiscard]] const
PluginLoader
&
plugins
() const noexcept;
45
[[nodiscard]]
MetatomicLoader
&
metatomic
() noexcept;
46
[[nodiscard]] const
MetatomicLoader
&
metatomic
() const noexcept;
47
48
private:
49
std::unique_ptr<
PotRegistry
>
pots_
;
50
std::unique_ptr<
IRAResource
>
ira_
;
51
std::unique_ptr<
ARTnResource
>
artn_
;
52
std::unique_ptr<
PluginLoader
>
plugins_
;
53
std::unique_ptr<
MetatomicLoader
>
metatomic_
;
54
};
55
56
}
// namespace eonc
eonc::ARTnResource
Definition
ARTnResource.h:98
eonc::IRAResource
Definition
IRAResource.h:80
eonc::MetatomicLoader
Definition
MetatomicLoader.h:49
eonc::PluginLoader
Definition
PluginLoader.h:90
eonc::PotRegistry
Definition
PotRegistry.h:45
eonc::Runtime::Runtime
Runtime()
Definition
Runtime.cpp:22
eonc::Runtime::pots
PotRegistry & pots() noexcept
Definition
Runtime.cpp:33
eonc::Runtime::Runtime
Runtime(Runtime &&) noexcept
eonc::Runtime::plugins
PluginLoader & plugins() noexcept
Definition
Runtime.cpp:39
eonc::Runtime::artn
ARTnResource & artn() noexcept
Definition
Runtime.cpp:37
eonc::Runtime::ira_
std::unique_ptr< IRAResource > ira_
Definition
Runtime.h:50
eonc::Runtime::plugins_
std::unique_ptr< PluginLoader > plugins_
Definition
Runtime.h:52
eonc::Runtime::metatomic
MetatomicLoader & metatomic() noexcept
Definition
Runtime.cpp:41
eonc::Runtime::metatomic_
std::unique_ptr< MetatomicLoader > metatomic_
Definition
Runtime.h:53
eonc::Runtime::ira
IRAResource & ira() noexcept
Definition
Runtime.cpp:35
eonc::Runtime::artn_
std::unique_ptr< ARTnResource > artn_
Definition
Runtime.h:51
eonc::Runtime::pots_
std::unique_ptr< PotRegistry > pots_
Definition
Runtime.h:49
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:23
include
eon
Runtime.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf