| Home | Libraries | People | FAQ | More

## Class template adaptive_time_iterator

boost::numeric::odeint::adaptive_time_iterator — ODE Iterator with adaptive step size. The value type of this iterator is a std::pair containing state and time.

## Synopsis

    // In header: <boost/numeric/odeint/iterator/adaptive_time_iterator.hpp>

    template<typename Stepper, typename System, typename State>
    class adaptive_time_iterator {
    public:
      // construct/copy/destruct
      adaptive_time_iterator(Stepper, System, State &, time_type, time_type,
                             time_type);
      adaptive_time_iterator(Stepper, System, State &);
    };

## Description

Implements an iterator representing the solution of an ODE from t_start to t_end evaluated at steps with an adaptive step size dt. After each iteration the iterator dereferences to a pair containing state and time at the next time point t+dt where dt is controlled by the stepper. This iterator can be used with ControlledSteppers and DenseOutputSteppers and it always makes use of the all the given steppers capabilities. A for_each over such an iterator range behaves similar to the integrate_adaptive routine.

adaptive_iterator is a model of single-pass iterator.

The value type of this iterator is a std::pair of state and time of the stepper.

### Template Parameters

1.     typename Stepper

   The stepper type which should be used during the iteration.

2.     typename System

   The type of the system function (ODE) which should be solved.

3.     typename State

   The state type of the ODE.

### `adaptive_time_iterator` public construct/copy/destruct

1.     adaptive_time_iterator(Stepper stepper, System sys, State & s,
                              time_type t_start, time_type t_end, time_type dt);

2.     adaptive_time_iterator(Stepper stepper, System sys, State & s);