operators (std::variant)
Defined in header <variant> | | |
---|---|---|
template <class... Types> constexpr bool operator==(const std::variant<Types...>& v, const std::variant<Types...>& w); | (1) | (since C++17) |
template <class... Types> constexpr bool operator!=(const std::variant<Types...>& v, const std::variant<Types...>& w); | (2) | (since C++17) |
template <class... Types> constexpr bool operator<(const std::variant<Types...>& v, const std::variant<Types...>& w); | (3) | (since C++17) |
template <class... Types> constexpr bool operator>(const std::variant<Types...>& v, const std::variant<Types...>& w); | (4) | (since C++17) |
template <class... Types> constexpr bool operator<=(const std::variant<Types...>& v, const std::variant<Types...>& w); | (5) | (since C++17) |
template <class... Types> constexpr bool operator>=(const std::variant<Types...>& v, const std::variant<Types...>& w); | (6) | (since C++17) |
1%29变体平等运算符:
- 如果
v.index() != w.index()
、回报false
;
- 否则如果
v.valueless_by_exception()
、回报true
;
- 否则返回
std::get<v.index()>(v) == std::get<v.index()>(w)
如果std::get<i>(v) == std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
2%29变式的不等式运算符:
- 如果
v.index() != w.index()
、回报true
;
- 否则如果
v.valueless_by_exception()
、回报false
;
- 否则返回
std::get<v.index()>(v) != std::get<v.index()>(w)
如果std::get<i>(v) != std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
3%29变体小于运算符:
- 如果
w.valueless_by_exception()
、回报false
;
- 否则如果
v.valueless_by_exception()
、回报true
;
- 否则如果
v.index() < w.index()
、回报true
;
- 否则如果
v.index() > w.index()
、回报false
;
- 否则返回
std::get<v.index()>(v) < std::get<v.index()>(w)
如果std::get<i>(v) < std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
4%29变体比运算符大:
- 如果
v.valueless_by_exception()
、回报false
;
- 否则如果
w.valueless_by_exception()
、回报true
;
- 否则如果
v.index() > w.index()
、回报true
;
- 否则如果
v.index() < w.index()
、回报false
;
- 否则返回
std::get<v.index()>(v) > std::get<v.index()>(w)
如果std::get<i>(v) > std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
5%29变式的不相等运算符:
- 如果
v.valueless_by_exception()
、回报true
;
- 否则如果
w.valueless_by_exception()
、回报false
;
- 否则如果
v.index() < w.index()
、回报true
;
- 否则如果
v.index() > w.index()
、回报false
;
- 否则返回
std::get<v.index()>(v) <= std::get<v.index()>(w)
如果std::get<i>(v) <= std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
6%29变体的大等运算符:
- 如果
w.valueless_by_exception()
、回报true
;
- 否则如果
v.valueless_by_exception()
、回报false
;
- 否则如果
v.index() > w.index()
、回报true
;
- 否则如果
v.index() < w.index()
、回报false
;
- 不然的话
std::get<v.index()>(v) >= std::get<v.index()>(w)
如果std::get<i>(v) >= std::get<i>(w)
不是返回可转换为bool的类型的有效表达式。i
...
参数
v,w | - | variants to compare |
---|
返回值
上述比较的布尔结果。
例
另见
operator==operator!=operator<operator<=operator>operator>= (C++17) | compares optional objects (function template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com