The Battle for Wesnoth
1.19.5+dev
utils
rate_counter.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2003 - 2024
3
Part of the Battle for Wesnoth Project https://www.wesnoth.org/
4
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 2 of the License, or
8
(at your option) any later version.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY.
11
12
See the COPYING file for more details.
13
*/
14
15
#pragma once
16
17
namespace
utils
18
{
19
class
rate_counter
20
{
21
public
:
22
explicit
rate_counter
(
unsigned
rate) :
rate_
(rate) {}
23
24
/** Increments the counter by one and checks whether it is now a multiple of the chosen rate. */
25
bool
poll
() {
return
(++
counter_
%
rate_
) == 0; }
26
27
private
:
28
unsigned
counter_
= 0;
29
unsigned
rate_
= 1;
30
};
31
32
}
// end namespace utils
utils::rate_counter
Definition:
rate_counter.hpp:20
utils::rate_counter::rate_counter
rate_counter(unsigned rate)
Definition:
rate_counter.hpp:22
utils::rate_counter::poll
bool poll()
Increments the counter by one and checks whether it is now a multiple of the chosen rate.
Definition:
rate_counter.hpp:25
utils::rate_counter::counter_
unsigned counter_
Definition:
rate_counter.hpp:28
utils::rate_counter::rate_
unsigned rate_
Definition:
rate_counter.hpp:29
utils
Definition:
config_attribute_value.cpp:411
Generated by
1.9.1