21 #ifndef FUB_OUTPUT_INVOKE_FUNCTIONS_HPP
22 #define FUB_OUTPUT_INVOKE_FUNCTIONS_HPP
30 template <
typename Gr
id,
typename Fn>
33 AsOutput(std::vector<std::ptrdiff_t> frequencies,
34 std::vector<Duration> intervals, Fn fn)
36 std::move(intervals)),
39 AsOutput(
const std::map<std::string, pybind11::object>& vm, Fn fn)
48 template <
typename Gr
id,
typename Fn>
49 std::unique_ptr<AsOutput<Grid, Fn>>
51 std::vector<Duration> intervals, Fn fn) {
52 return std::make_unique<AsOutput<Grid, Fn>>(
53 std::move(frequencies), std::move(intervals), std::move(fn));
56 template <
typename Gr
id>
60 std::vector<Duration> intervals,
61 std::function<
void(
const Grid&)> fn)
63 std::move(intervals)),
66 AnyOutput(
const std::map<std::string, pybind11::object>& vm,
67 std::function<
void(
const Grid&)> fn)
73 std::function<void(
const Grid&)>
fn_;
Definition: AsOutput.hpp:57
void operator()(const Grid &grid) override
Invoke the actual output logic.
Definition: AsOutput.hpp:70
std::function< void(const Grid &)> fn_
Definition: AsOutput.hpp:73
AnyOutput(const std::map< std::string, pybind11::object > &vm, std::function< void(const Grid &)> fn)
Definition: AsOutput.hpp:66
AnyOutput(std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals, std::function< void(const Grid &)> fn)
Definition: AsOutput.hpp:59
Definition: AsOutput.hpp:31
void operator()(const Grid &grid) override
Invoke the actual output logic.
Definition: AsOutput.hpp:42
Fn fn_
Definition: AsOutput.hpp:45
AsOutput(std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals, Fn fn)
Definition: AsOutput.hpp:33
AsOutput(const std::map< std::string, pybind11::object > &vm, Fn fn)
Definition: AsOutput.hpp:39
Definition: OutputAtFrequencyOrInterval.hpp:32
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
std::unique_ptr< AsOutput< Grid, Fn > > MakeOutput(std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals, Fn fn)
Definition: AsOutput.hpp:50