namespace boost {
  namespace numeric {
    namespace odeint {
      template<typename Stepper, typename System, typename State, 
               typename Time, typename Observer, typename StepOverflowChecker> 
        Time integrate_n_steps(Stepper stepper, System system, 
                               State & start_state, Time start_time, Time dt, 
                               size_t num_of_steps, Observer observer, 
                               StepOverflowChecker checker);
      
      template<typename Stepper, typename System, typename State, 
               typename Time, typename Observer, typename StepOverflowChecker> 
        Time integrate_n_steps(Stepper stepper, System system, 
                               const State & start_state, Time start_time, 
                               Time dt, size_t num_of_steps, 
                               Observer observer, 
                               StepOverflowChecker checker);
      template<typename Stepper, typename System, typename State, 
               typename Time, typename Observer> 
        Time integrate_n_steps(Stepper, System, State &, Time, Time, size_t, 
                               Observer);
      
      template<typename Stepper, typename System, typename State, 
               typename Time, typename Observer> 
        Time integrate_n_steps(Stepper stepper, System system, 
                               const State & start_state, Time start_time, 
                               Time dt, size_t num_of_steps, 
                               Observer observer);
      
      template<typename Stepper, typename System, typename State, 
               typename Time> 
        Time integrate_n_steps(Stepper stepper, System system, 
                               State & start_state, Time start_time, Time dt, 
                               size_t num_of_steps);
      
      template<typename Stepper, typename System, typename State, 
               typename Time> 
        Time integrate_n_steps(Stepper stepper, System system, 
                               const State & start_state, Time start_time, 
                               Time dt, size_t num_of_steps);
    }
  }
}