25 using state_type =
typename base_type::state_type;
26 using time_type =
typename base_type::time_type;
27 using system_function =
typename base_type::system_function;
30 std::unique_ptr<base_type> wrapped_integrator_;
38 :
base_type(integrator->sys_), wrapped_integrator_(std::move(integrator)) {}
46 void step(state_type& state, time_type dt)
override {
47 wrapped_integrator_->step(state, dt);
50 void integrate(state_type& state, time_type dt, time_type end_time)
override {
51 wrapped_integrator_->integrate(state, dt, end_time);
54 time_type current_time()
const override {
55 return wrapped_integrator_->current_time();
58 void set_time(time_type t)
override {
59 wrapped_integrator_->set_time(t);
60 this->current_time_ = t;
63 void set_system(system_function sys)
override {
64 wrapped_integrator_->set_system(std::move(sys));
65 this->sys_ = wrapped_integrator_->sys_;
73 const base_type&
wrapped()
const {
return *wrapped_integrator_; }