Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
construction.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* QuantumStateInterpolatorConstruction — what the evaluation-side factory
5
* produces: the interpolator, and the method's report of how its model was
6
* built.
7
*
8
* One report member per method, as InterpolationRecord carries one payload
9
* per method; a method that was not the record's leaves its member at its
10
* defaults. The report is returned rather than written through a pointer a
11
* caller may or may not pass, so there is no "no report" mode to branch on:
12
* a caller that wants the interpolator alone takes `interpolator` and drops
13
* the rest.
14
*/
15
16
#include <memory>
17
18
#include "
layer_4_computation/interpolator/method/wannier/report/init.hpp
"
19
#include "
layer_4_computation/interpolator/target/quantum_state/init.hpp
"
20
21
namespace
q3
{
22
23
struct
[[nodiscard]]
QuantumStateInterpolatorConstruction
{
24
std::unique_ptr<QuantumStateInterpolator>
interpolator
;
25
WannierConstructionReport
wannier
;
26
};
27
28
}
// namespace q3
init.hpp
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::QuantumStateInterpolatorConstruction
Definition
construction.hpp:23
q3::QuantumStateInterpolatorConstruction::interpolator
std::unique_ptr< QuantumStateInterpolator > interpolator
Definition
construction.hpp:24
q3::QuantumStateInterpolatorConstruction::wannier
WannierConstructionReport wannier
Definition
construction.hpp:25
q3::WannierConstructionReport
Definition
init.hpp:24
src
layer_4_computation
interpolator
construction.hpp
Generated by
1.9.8