最終更新日時(UTC):
が更新

履歴 編集

function template
<variant>

std::operator>=(C++17)

namespace std {
  template <class... Types>
  constexpr bool operator>=(const variant<Types...>& x, const variant<Types...>& y);
}

概要

variantオブジェクトにおいて、左辺が右辺以上かを判定する。

テンプレートパラメータ制約

  • 全ての候補型インデックスIにおいて、式get<I>(x) >= get<I>(y)によって返される型がboolに変換可能であること

戻り値

#include <cassert>
#include <variant>

int main()
{
  std::variant<int, char, double> a = 1;
  std::variant<int, char, double> b = 3.14;
  std::variant<int, char, double> c = 3;

  assert(a >= a); // 保持する型が同じで、値がa >= aの関係
  assert(c >= a); // 保持する型が同じで、値がc >= aの関係
  assert(b >= a); // 保持する型のインデックスがb > aの関係
}

出力

バージョン

言語

  • C++17

処理系

参照