pub struct KeyValuePair<K, V>(/* private fields */);
Expand description
An abstract scanner that scans a (K, V)
value using the syntax K: V
.
This scanner is designed to take advantage of three things:
-
Maps (i.e. associative containers) typically print themselves with the syntax
{key_0: value_0, key_1: value_1, ...}
. -
Maps typically implement
Extend<(K, V)>
; that is, you can add new items by extending the map with a(K, V)
tuple. -
Repeating bindings can be scanned into any container that implements
Default
andExtend
.
As such, this scanner allows one to parse a Map
type like so:
ⓘ
scan!(input; "{", [let kvs: KeyValuePair<K, V>],*: Map<_, _>, "}" => kvs)
Trait Implementations§
Source§impl<'a, K, V> ScanFromStr<'a> for KeyValuePair<K, V>where
K: ScanSelfFromStr<'a>,
V: ScanSelfFromStr<'a>,
impl<'a, K, V> ScanFromStr<'a> for KeyValuePair<K, V>where
K: ScanSelfFromStr<'a>,
V: ScanSelfFromStr<'a>,
Source§type Output = (K, V)
type Output = (K, V)
The type that the implementation scans into. This does not have to be the same as the implementing type, although it typically will be. Read more
Source§fn scan_from<I: ScanInput<'a>>(s: I) -> Result<(Self::Output, usize), ScanError>
fn scan_from<I: ScanInput<'a>>(s: I) -> Result<(Self::Output, usize), ScanError>
Perform a scan on the given input. Read more
Source§fn wants_leading_junk_stripped() -> bool
fn wants_leading_junk_stripped() -> bool
Indicates whether or not the scanner wants its input to have leading “junk”, such as whitespace, stripped. Read more
Auto Trait Implementations§
impl<K, V> Freeze for KeyValuePair<K, V>
impl<K, V> RefUnwindSafe for KeyValuePair<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for KeyValuePair<K, V>
impl<K, V> Sync for KeyValuePair<K, V>
impl<K, V> Unpin for KeyValuePair<K, V>
impl<K, V> UnwindSafe for KeyValuePair<K, V>where
K: UnwindSafe,
V: UnwindSafe,
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