Program Listing for File iteration_counter.h¶
↰ Return to documentation for file (src/bitrl/utils/iteration_counter.h)
#ifndef ITERATION_COUNTER_H
#define ITERATION_COUNTER_H
#include "rlenvs/rlenvs_types_v2.h"
namespace rlenvscpp {
namespace utils {
class IterationCounter
{
public:
explicit IterationCounter(uint_t max_itrs) noexcept;
bool continue_iterations()noexcept;
uint_t current_iteration_index()const noexcept{return current_itr_index_;}
uint_t max_iterations()const noexcept{return max_iterations_;}
private:
uint_t current_itr_index_;
uint_t max_iterations_;
};
inline
IterationCounter::IterationCounter(uint_t max_itrs) noexcept
:
current_itr_index_(0),
max_iterations_(max_itrs)
{}
inline
bool
IterationCounter::continue_iterations()noexcept{
if(current_itr_index_ < max_iterations_){
current_itr_index_++ ;
return true;
}
return false;
}
}
}
#endif // ITERATION_COUNTER_H