Struct otter_api_tests::shapelib::OrderedFloat[]

#[repr(transparent)]
pub struct OrderedFloat<T>(pub T);

A wrapper around Floats providing an implementation of Ord and Hash.

NaN is sorted as greater than all other values and equal to itself, in contradiction with the IEEE standard.

Implementations

impl<T> OrderedFloat<T> where
    T: Float

pub fn into_inner(self) -> T

Get the value out.

Trait Implementations

impl<T> Add<OrderedFloat<T>> for OrderedFloat<T> where
    T: Add<T>, 

type Output = OrderedFloat<<T as Add<T>>::Output>

The resulting type after applying the + operator.

impl<T> Add<T> for OrderedFloat<T> where
    T: Add<T>, 

type Output = OrderedFloat<<T as Add<T>>::Output>

The resulting type after applying the + operator.

impl<T> AsMut<T> for OrderedFloat<T> where
    T: Float

impl<T> AsRef<T> for OrderedFloat<T> where
    T: Float

impl<T> Bounded for OrderedFloat<T> where
    T: Bounded

impl<T> Clone for OrderedFloat<T> where
    T: Clone

impl<T> Copy for OrderedFloat<T> where
    T: Copy

impl<T> Debug for OrderedFloat<T> where
    T: Debug

impl<T> Default for OrderedFloat<T> where
    T: Default

impl<T> Deref for OrderedFloat<T> where
    T: Float

type Target = T

The resulting type after dereferencing.

impl<T> DerefMut for OrderedFloat<T> where
    T: Float

impl<T> Display for OrderedFloat<T> where
    T: Float + Display

impl<T> Div<OrderedFloat<T>> for OrderedFloat<T> where
    T: Div<T>, 

type Output = OrderedFloat<<T as Div<T>>::Output>

The resulting type after applying the / operator.

impl<T> Div<T> for OrderedFloat<T> where
    T: Div<T>, 

type Output = OrderedFloat<<T as Div<T>>::Output>

The resulting type after applying the / operator.

impl<T> Eq for OrderedFloat<T> where
    T: Float

impl<T> Float for OrderedFloat<T> where
    T: Float

impl<T> FloatCore for OrderedFloat<T> where
    T: Float

impl<'a, T> From<&'a T> for &'a OrderedFloat<T> where
    T: Float

impl<'a, T> From<&'a mut T> for &'a mut OrderedFloat<T> where
    T: Float

impl<T> From<T> for OrderedFloat<T> where
    T: Float

impl<T> FromPrimitive for OrderedFloat<T> where
    T: FromPrimitive

impl<T> FromStr for OrderedFloat<T> where
    T: FromStr

type Err = <T as FromStr>::Err

The associated error which can be returned from parsing.

pub fn from_str(
    s: &str
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as FromStr>::Err>

Convert a &str to OrderedFloat. Returns an error if the string fails to parse.

use ordered_float::OrderedFloat;

assert!("-10".parse::<OrderedFloat<f32>>().is_ok());
assert!("abc".parse::<OrderedFloat<f32>>().is_err());
assert!("NaN".parse::<OrderedFloat<f32>>().is_ok());

impl<T> Hash for OrderedFloat<T> where
    T: Float

impl Into<f32> for OrderedFloat<f32>

impl Into<f64> for OrderedFloat<f64>

impl<T> Mul<OrderedFloat<T>> for OrderedFloat<T> where
    T: Mul<T>, 

type Output = OrderedFloat<<T as Mul<T>>::Output>

The resulting type after applying the * operator.

impl<T> Mul<T> for OrderedFloat<T> where
    T: Mul<T>, 

type Output = OrderedFloat<<T as Mul<T>>::Output>

The resulting type after applying the * operator.

impl<T> Neg for OrderedFloat<T> where
    T: Neg

type Output = OrderedFloat<<T as Neg>::Output>

The resulting type after applying the - operator.

impl<T> Num for OrderedFloat<T> where
    T: Float + Num

type FromStrRadixErr = <T as Num>::FromStrRadixErr

impl<T> NumCast for OrderedFloat<T> where
    T: NumCast

impl<T> One for OrderedFloat<T> where
    T: One

impl<T> Ord for OrderedFloat<T> where
    T: Float

impl<T> PartialEq<OrderedFloat<T>> for OrderedFloat<T> where
    T: Float

impl<T> PartialEq<T> for OrderedFloat<T> where
    T: Float

impl<T> PartialOrd<OrderedFloat<T>> for OrderedFloat<T> where
    T: Float

impl<T> Rem<OrderedFloat<T>> for OrderedFloat<T> where
    T: Rem<T>, 

type Output = OrderedFloat<<T as Rem<T>>::Output>

The resulting type after applying the % operator.

impl<T> Rem<T> for OrderedFloat<T> where
    T: Rem<T>, 

type Output = OrderedFloat<<T as Rem<T>>::Output>

The resulting type after applying the % operator.

impl<T> Sub<OrderedFloat<T>> for OrderedFloat<T> where
    T: Sub<T>, 

type Output = OrderedFloat<<T as Sub<T>>::Output>

The resulting type after applying the - operator.

impl<T> Sub<T> for OrderedFloat<T> where
    T: Sub<T>, 

type Output = OrderedFloat<<T as Sub<T>>::Output>

The resulting type after applying the - operator.

impl<T> ToPrimitive for OrderedFloat<T> where
    T: ToPrimitive

impl<T> Zero for OrderedFloat<T> where
    T: Zero

Auto Trait Implementations

impl<T> RefUnwindSafe for OrderedFloat<T> where
    T: RefUnwindSafe

impl<T> Send for OrderedFloat<T> where
    T: Send

impl<T> Sync for OrderedFloat<T> where
    T: Sync

impl<T> Unpin for OrderedFloat<T> where
    T: Unpin

impl<T> UnwindSafe for OrderedFloat<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<A> DynCastExt for A

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
    T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>, 
[src]

impl<T> OrdExt<T> for T where
    T: Ord + Clone
[src]

impl<T> Real for T where
    T: Float
[src]

impl<T> RuleType for T where
    T: Copy + Debug + Eq + Hash + Ord
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,