std::holds_alternative
Источник ru.cppreference.net
| Определён в заголовке <variant>
|
||
template< class T, class... Types >
constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept;
|
(начиная с C++17) | |
Проверяет, содержит ли variant v альтернативу T. Вызов является некорректным, если T не встречается ровно один раз в Types...
Параметры
| v | - | вариант для проверки |
Возвращаемое значение
true
если вариант в настоящее время содержит альтернативу
T
,
false
в противном случае.
Пример
Запустить этот код
#include <cassert> #include <string> #include <variant> int main() { std::variant<int, std::string> v = "abc"; assert(not std::holds_alternative<int>(v)); assert(std::holds_alternative<std::string>(v)); }
Смотрите также
возвращает индекс альтернативы, хранящейся в
variant
(начиная с нуля)
(публичная функция-член) |
|
|
(C++17)
|
читает значение variant по индексу или типу (если тип уникален), генерирует исключение при ошибке
(шаблон функции) |