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§
source§impl Default for Quality
impl Default for Quality
The default value is Quality::MAX
.
source§impl Ord for Quality
impl Ord for Quality
source§impl PartialOrd for Quality
impl PartialOrd for Quality
impl 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.