pub struct Quality(/* private fields */);
Expand description
Represents a quality used in q-factor values.
The default value is equivalent to q=1.0
(the max value).
§Implementation notes
The quality value is defined as a number between 0.0 and 1.0 with three decimal places.
This means there are 1001 possible values. Since floating point numbers are not exact and the
smallest floating point data type (f32
) consumes four bytes, we use an u16
value to store
the quality internally.
RFC 7231 §5.3.1 gives more information on quality values in HTTP header fields.
§Examples
use actix_http::header::{Quality, q};
assert_eq!(q(1.0), Quality::MAX);
assert_eq!(q(0.42).to_string(), "0.42");
assert_eq!(q(1.0).to_string(), "1");
assert_eq!(Quality::MIN.to_string(), "0.001");
assert_eq!(Quality::ZERO.to_string(), "0");
Implementations§
Trait Implementations§
§impl Default for Quality
impl Default for Quality
The default value is Quality::MAX
.
§impl Ord for Quality
impl Ord for Quality
§impl PartialOrd for Quality
impl PartialOrd for Quality
§fn partial_cmp(&self, other: &Quality) -> Option<Ordering>
fn partial_cmp(&self, other: &Quality) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Quality
impl Eq for Quality
impl StructuralPartialEq for Quality
Auto Trait Implementations§
impl Freeze for Quality
impl RefUnwindSafe for Quality
impl Send for Quality
impl Sync for Quality
impl Unpin for Quality
impl UnwindSafe for Quality
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.