std::chrono::weekday::ok
Материал из cppreference.com
<tbody>
</tbody>
constexpr bool ok() const noexcept; |
(начиная с C++20) | |
Проверяет, находится ли значение дня недели, сохранённое в *this, в допустимом диапазоне, т.е. [0, 6].
Возвращаемое значение
true, если значение дня недели, хранящееся в *this, находится в диапазоне [0, 6]. Иначе false.
Пример
Запустить этот код
#include <chrono>
#include <iomanip>
#include <iostream>
#include <locale>
#include <string>
struct weekday_ok : std::numpunct<char>
{
std::string do_truename() const override { return " (допустимый день недели)"; }
std::string do_falsename() const override { return " (недопустимый день недели)"; }
};
int main()
{
std::cout.imbue(std::locale(std::cout.getloc(), new weekday_ok));
std::cout << std::boolalpha;
for (const unsigned u : {0 /* Вос */, 1 /* Пон */, 6, 7 /* Вос */, 8, 9})
{
const std::chrono::weekday wd{u};
std::cout << "u: " << u << "; wd: " << wd.c_encoding() << wd.ok() << '\n';
}
}
Вывод:
u: 0; wd: 0 (допустимый день недели)
u: 1; wd: 1 (допустимый день недели)
u: 6; wd: 6 (допустимый день недели)
u: 7; wd: 0 (допустимый день недели)
u: 8; wd: 8 (недопустимый день недели)
u: 9; wd: 9 (недопустимый день недели)
Смотрите также
| извлекает сохраненное значение дня недели извлекает значение дня недели ISO 8601 (public функция-элемент) |