operators (std::variant)
运算符=,%21=,<,<=,>=%28std::变体%29
Defined in header | | |
---|---|---|
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 | compares optional objects (function template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。