[−][src]Struct ichen_openprotocol::KeyValuePair
A general data structure holding a key and value pair.
Fields
key: K
value: V
Methods
impl<K, V> KeyValuePair<K, V>
[src]
pub fn new(key: K, value: V) -> Self
[src]
Create a KewValuePair
.
Examples
let kv = KeyValuePair::new("TheKey", 42.0); assert_eq!(KeyValuePair { key: "TheKey", value: 42.0 }, kv);
impl<K: AsRef<str>> KeyValuePair<K, bool>
[src]
pub fn validate(&self) -> Result<'static, ()>
[src]
Validate a KeyValuePair
data structure with a string-like key
and boolean value by making sure that the key
cannot be empty
or all whitespace.
Errors
Returns Err(
OpenProtocolError::EmptyField
)
if key
is set to an empty string
or is all whitespace.
Examples
let kv = KeyValuePair::new(" ", true); assert_eq!(r#"Err(EmptyField("key"))"#, format!("{:?}", kv.validate()));
impl<K: AsRef<str>> KeyValuePair<K, f64>
[src]
pub fn validate(&self) -> Result<'static, ()>
[src]
Validate a KeyValuePair
data structure with a string-like key
and f64
value by making sure that the key
cannot be empty
or all whitespace, and that the value
is a valid floating-point
number.
Errors
Returns Err(
OpenProtocolError::EmptyField
)
if key
is set to an empty string
or is all whitespace.
Returns Err(
OpenProtocolError::InvalidField
)
if value
is not a valid floating-point
number.
Examples
let kv1 = KeyValuePair::new(" ", 42.0); assert_eq!(r#"Err(EmptyField("key"))"#, format!("{:?}", kv1.validate())); let kv2 = KeyValuePair::new("K2", std::f64::NAN); assert_eq!( r#"Err(InvalidField { field: "value", value: "NaN", description: "NaN is not a supported value" })"#, format!("{:?}", kv2.validate()) );
Trait Implementations
impl<K: PartialEq, V: PartialEq> PartialEq<KeyValuePair<K, V>> for KeyValuePair<K, V>
[src]
fn eq(&self, other: &KeyValuePair<K, V>) -> bool
[src]
fn ne(&self, other: &KeyValuePair<K, V>) -> bool
[src]
impl<K: Eq, V: Eq> Eq for KeyValuePair<K, V>
[src]
impl<K: Debug, V: Debug> Debug for KeyValuePair<K, V>
[src]
impl<K: Hash, V: Hash> Hash for KeyValuePair<K, V>
[src]
fn hash<__HKV: Hasher>(&self, state: &mut __HKV)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<K, V> Serialize for KeyValuePair<K, V> where
K: Serialize,
V: Serialize,
[src]
K: Serialize,
V: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de, K, V> Deserialize<'de> for KeyValuePair<K, V> where
K: Deserialize<'de>,
V: Deserialize<'de>,
[src]
K: Deserialize<'de>,
V: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl<K, V> Sync for KeyValuePair<K, V> where
K: Sync,
V: Sync,
K: Sync,
V: Sync,
impl<K, V> Send for KeyValuePair<K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<K, V> Unpin for KeyValuePair<K, V> where
K: Unpin,
V: Unpin,
K: Unpin,
V: Unpin,
impl<K, V> RefUnwindSafe for KeyValuePair<K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> UnwindSafe for KeyValuePair<K, V> where
K: UnwindSafe,
V: UnwindSafe,
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,