Метод has_value
Метод has_value класса expected проверяет,
содержит ли объект ожидаемое значение.
Если объект хранит значение, метод возвращает true,
а если ошибку - false.
Метод не принимает параметров и не изменяет состояние объекта.
Синтаксис
expected.has_value()
Пример
Давайте создадим объект expected со значением
и проверим результат работы метода has_value:
#include <iostream>
#include <expected>
using namespace std;
int main()
{
expected<int, string> res = 123;
if (res.has_value()) {
cout << "Has value" << endl;
} else {
cout << "Has error" << endl;
}
return 0;
}
Результат выполнения кода:
"Has value"
Пример
Давайте создадим объект expected с ошибкой
и проверим результат работы метода has_value:
#include <iostream>
#include <expected>
using namespace std;
int main()
{
expected<int, string> res = unexpected("error");
if (res.has_value()) {
cout << "Has value" << endl;
} else {
cout << "Has error" << endl;
}
return 0;
}
Результат выполнения кода:
"Has error"