ExaTN
src
numerics
network_builder.hpp
1
11
#ifndef EXATN_NUMERICS_NETWORK_BUILDER_HPP_
12
#define EXATN_NUMERICS_NETWORK_BUILDER_HPP_
13
14
#include "tensor_basic.hpp"
15
16
#include <string>
17
#include <memory>
18
19
namespace
exatn
{
20
21
namespace
numerics{
22
23
class
TensorNetwork;
24
25
class
NetworkBuilder
{
//abstract
26
27
public
:
28
29
NetworkBuilder
() =
default
;
30
NetworkBuilder
(
const
NetworkBuilder
&) =
default
;
31
NetworkBuilder
& operator=(
const
NetworkBuilder
&) =
default
;
32
NetworkBuilder
(
NetworkBuilder
&&) noexcept =
default
;
33
NetworkBuilder
& operator=(
NetworkBuilder
&&) noexcept =
default
;
34
virtual
~
NetworkBuilder
() =
default
;
35
37
virtual
bool
getParameter
(
const
std::string & name,
long
long
* value)
const
= 0;
38
40
virtual
bool
setParameter
(
const
std::string & name,
long
long
value) = 0;
41
44
virtual
void
build
(
TensorNetwork
& network) = 0;
45
46
};
47
48
using
createNetworkBuilderFn = std::unique_ptr<NetworkBuilder> (*)(void);
49
50
}
//namespace numerics
51
52
}
//namespace exatn
53
54
#endif //EXATN_NUMERICS_NETWORK_BUILDER_HPP_
exatn::numerics::TensorNetwork
Definition:
tensor_network.hpp:72
exatn::numerics::NetworkBuilder::setParameter
virtual bool setParameter(const std::string &name, long long value)=0
exatn
Definition:
DriverClient.hpp:10
exatn::numerics::NetworkBuilder::build
virtual void build(TensorNetwork &network)=0
exatn::numerics::NetworkBuilder::getParameter
virtual bool getParameter(const std::string &name, long long *value) const =0
exatn::numerics::NetworkBuilder
Definition:
network_builder.hpp:25
Generated by
1.8.16