名前空間
変種
操作

std::StrictWeakOrder

提供: cppreference.com
< cpp‎ | concepts
ヘッダ <concepts> で定義
template < class R, class T, class U >
concept StrictWeakOrder = std::Relation<R, T, U>;
(1) (C++20以上)

コンセプト StrictWeakOrder<R, T, U>Relation R が引数に対して厳密な弱い順序を課すことを表します。 以下を満たす場合、関係 r は厳密な弱い順序です。

  • 反射性を持たない。 すべての x について、 r(x, x) が false である。
  • 推移性を持つ。 すべての a, b, c について、 r(a, b) および r(b, c) がどちらも true ならば r(a, c) が true である。
  • e(a, b)!r(a, b) && !r(b, a) としたとき、 e が推移性を持つ。 e(a, b) && e(b, c) が暗黙に e(a, c) を意味する。

これらの条件によって、 e が同等関係であること、および re によって決定される同等クラスに対する厳密な弱い順序を発生させることが示されます。

[編集] ノート

RelationStrictWeakOrder の違いは純粋に意味論上のものです。