Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
Boost C++ Libraries Home Libraries People FAQ More


Class template times_iterator

boost::numeric::odeint::times_iterator — ODE Iterator with given evaluation points. The value type of this iterator is the state type of the stepper.


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

template<typename Stepper, typename System, typename State, 
         typename TimeIterator> 
class times_iterator {
  // construct/copy/destruct
  times_iterator(Stepper, System, State &, TimeIterator, TimeIterator, 
  times_iterator(Stepper, System, State &);


Implements an iterator representing the solution of an ODE from *t_start to *t_end evaluated at time points given by the sequence t_start to t_end. t_start and t_end are iterators representing a sequence of time points where the solution of the ODE should be evaluated. After each iteration the iterator dereferences to the state x at the next time *t_start++ until t_end is reached. This iterator can be used with Steppers, 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_times routine.

times_iterator is a model of single-pass iterator.

The value type of this iterator is the state type of the stepper. Hence one can only access the state and not the current time.

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.

  4. typename TimeIterator

    The iterator type for the sequence of time points.

times_iterator public construct/copy/destruct

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