関連

どちらお大小を表現する為の型です。

std::cmp::PartialOrd

  • >=::ge

  • >::gt

  • <::lt

  • <=::le

でそれぞれの挙動を実装します。対象の Struct はstd::cmp::PartialEqをスーパートレイトに持つ為、その内容も持っている必要があります。

#[derive(PartialEq, PartialOrd)]
struct Foo;

PartialOrdは多分比較できる(比較できない場合がある)場合に使います。例えばf32NAN同士はうまく比較できません。

std::f32::NAN >= std::f32::NAN
// false

std::cmp::Ord

こちらは必ず比較できる場合に使います。i32にはそういった特殊な値はない為、これを持つことができます。

このトレイトはPartialOrdをスーパートレイトとして持ちEqも要求される為、もし実装する場合は以下のようになります。

#[derive(PartialEq, Eq, PartialOrd, Ord)]
struct Foo;

JavaScript で飯食べたい歴約 5 年、 純( nju33 ) によるノートサイトです。

このサイトではドリンク代や奨学金返済の為、広告などを貼らせて頂いてますがご了承ください。

Change Log