Конструирует экземпляр std::chrono::duration
, масштабируя значение счетчика другого объекта std::chrono::duration
.
template
constexpr duration(const duration
Внутреннее значение объекта duration
инициализируется значением duration_cast
.
Этот конструктор участвует в разрешении перегрузки, только если Rep
— тип с плавающей точкой, либо Rep2
Period2
— целое кратное Period
(то есть ratio_divide
). Это позволяет избежать случайного обрезания (и, значит, потери точности) при сохранении интервала с меньшим периодом в переменной, представляющий интервал с большим периодом.
this->count() == duration_cast
duration< int, ratio<1, 1000>> ms(5); ←
5 миллисекунд
duration
Ошибка: нельзя
│
сохранить мс как
│
целые секунды
duration
Правильно:
│
s2.count() == 0.005
duration
Правильно:
│
us.count() == 5000
STD::CHRONO::DURATION::COUNT
, ФУНКЦИЯ-ЧЛЕН
Получает значение интервала.
constexpr rep count() const;
Внутреннее значение объекта duration
в виде значения типа rep
.
STD::CHRONO::DURATION::OPERATOR+
, УНАРНЫЙ ОПЕРАТОР ПЛЮС
Пустая операция, возвращает копию *this
.
constexpr duration operator+() const;
*this
STD::CHRONO::DURATION::OPERATOR-
, УНАРНЫЙ ОПЕРАТОР МИНУС
Возвращает интервал, в котором значение count()
противоположно значению this->count()
.
constexpr duration operator-() const;
duration(-this->count());
STD::CHRONO::DURATION::OPERATOR++
, ОПЕРАТОР ПРЕДИНКРЕМЕНТА
Инкрементирует внутренний счетчик.
duration& operator++();
++this->internal_count;
*this
STD::CHRONO::DURATION::OPERATOR++
, ОПЕРАТОР ПОСТИНКРЕМЕНТА
Инкрементирует внутренний счетчик и возвращает то значение *this
, которое предшествовало выполнению операции.
duration operator++(int);
duration temp(*this);
++(*this);
return temp;
STD::CHRONO::DURATION::OPERATOR--
, ОПЕРАТОР ПРЕДЕКРЕМЕНТА
Декрементирует внутренний счетчик.
duration& operator--();
--this->internal_count;
*this
STD::CHRONO::DURATION::OPERATOR--
, ОПЕРАТОР ПОСТДЕКРЕМЕНТА
Декрементирует внутренний счетчик и возвращает то значение *this
, которое предшествовало выполнению операции.
duration operator--(int);
duration temp(*this);
--(*this);
return temp;
STD::CHRONO::DURATION::OPERATOR+=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ
Прибавляет счетчик другого объекта duration
к внутреннему счетчику *this
.
duration& operator+=(duration const& other);
internal_count += other.count();
*this
STD::CHRONO::DURATION::OPERATOR-=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ
Вычитает счетчик другого объекта duration
из внутреннего счетчика *this
.
duration& operator-=(duration const& other);
internal_count-=other.count();
*this
STD::CHRONO::DURATION::OPERATOR*=
, СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ
Умножает внутренний счетчик *this
на заданное значение.