C++
应用 | Utilities

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!=operatoroperator>= (C++17)compares optional objects (function template)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/变量/操作符[医]CMP