[−][src]Struct protobuf_codec::field::MaybeDefault
Decoder and encoder for optional fields which have the default values.
If a field is missing in a target input stream, the default value is used as the field value instead.
Methods
impl<T> MaybeDefault<T>
[src]
pub fn new(inner: T) -> Self
[src]
Makes a new MaybeDefault
instance.
pub fn inner_ref(&self) -> &T
[src]
Returns a reference to the inner field encoder/decoder.
pub fn inner_mut(&mut self) -> &mut T
[src]
Returns a mutable reference to the inner field encoder/decoder.
pub fn into_inner(self) -> T
[src]
Takes the ownership of the instance, and returns the inner field encoder/decoder.
Trait Implementations
impl<D> FieldDecode for MaybeDefault<D> where
D: RequiredFieldDecode,
D::Item: Default,
[src]
D: RequiredFieldDecode,
D::Item: Default,
fn start_decoding(&mut self, tag: Tag) -> Result<bool>
[src]
impl<E> FieldEncode for MaybeDefault<E> where
E: RequiredFieldEncode,
E::Item: Default + PartialEq,
[src]
E: RequiredFieldEncode,
E::Item: Default + PartialEq,
impl<T: Default> Default for MaybeDefault<T>
[src]
fn default() -> MaybeDefault<T>
[src]
impl<T: Debug> Debug for MaybeDefault<T>
[src]
impl<E> SizedEncode for MaybeDefault<E> where
E: RequiredFieldEncode + SizedEncode,
E::Item: Default + PartialEq,
[src]
E: RequiredFieldEncode + SizedEncode,
E::Item: Default + PartialEq,
fn exact_requiring_bytes(&self) -> u64
[src]
impl<E> Encode for MaybeDefault<E> where
E: RequiredFieldEncode,
E::Item: Default + PartialEq,
[src]
E: RequiredFieldEncode,
E::Item: Default + PartialEq,
type Item = E::Item
The type of items to be encoded.
fn encode(&mut self, buf: &mut [u8], eos: Eos) -> Result<usize>
[src]
fn start_encoding(&mut self, item: Self::Item) -> Result<()>
[src]
fn is_idle(&self) -> bool
[src]
fn requiring_bytes(&self) -> ByteCount
[src]
impl<D> Decode for MaybeDefault<D> where
D: RequiredFieldDecode,
D::Item: Default,
[src]
D: RequiredFieldDecode,
D::Item: Default,
Auto Trait Implementations
impl<T> Send for MaybeDefault<T> where
T: Send,
T: Send,
impl<T> Unpin for MaybeDefault<T> where
T: Unpin,
T: Unpin,
impl<T> Sync for MaybeDefault<T> where
T: Sync,
T: Sync,
impl<T> UnwindSafe for MaybeDefault<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for MaybeDefault<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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> EncodeExt for T where
T: Encode,
[src]
T: Encode,
fn with_item(item: Self::Item) -> Result<Self, Error> where
Self: Default,
[src]
Self: Default,
fn map_err<E, F>(self, f: F) -> MapErr<Self, E, F> where
F: Fn(Error) -> E,
Error: From<E>,
[src]
F: Fn(Error) -> E,
Error: From<E>,
fn map_from<T, F>(self, f: F) -> MapFrom<Self, T, F> where
F: Fn(T) -> Self::Item,
[src]
F: Fn(T) -> Self::Item,
fn try_map_from<T, E, F>(self, f: F) -> TryMapFrom<Self, T, E, F> where
F: Fn(T) -> Result<Self::Item, E>,
Error: From<E>,
[src]
F: Fn(T) -> Result<Self::Item, E>,
Error: From<E>,
fn optional(self) -> Optional<Self>
[src]
fn max_bytes(self, n: u64) -> MaxBytes<Self>
[src]
fn length(self, n: u64) -> Length<Self>
[src]
fn chain<T>(self, other: T) -> TupleEncoder<(Self, T)> where
T: Encode,
[src]
T: Encode,
fn repeat<I>(self) -> Repeat<Self, I> where
I: Iterator<Item = Self::Item>,
[src]
I: Iterator<Item = Self::Item>,
fn pre_encode(self) -> PreEncode<Self>
[src]
fn slice(self) -> Slice<Self>
[src]
fn last(self, item: Self::Item) -> Last<Self>
[src]
fn encode_into_bytes(&mut self, item: Self::Item) -> Result<Vec<u8>, Error>
[src]
impl<T> IoDecodeExt for T where
T: Decode,
[src]
T: Decode,
fn decode_from_read_buf<B>(&mut self, buf: &mut ReadBuf<B>) -> Result<(), Error> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn decode_exact<R>(&mut self, reader: R) -> Result<Self::Item, Error> where
R: Read,
[src]
R: Read,
impl<T> IoEncodeExt for T where
T: Encode,
[src]
T: Encode,
fn encode_to_write_buf<B>(&mut self, buf: &mut WriteBuf<B>) -> Result<(), Error> where
B: AsMut<[u8]>,
[src]
B: AsMut<[u8]>,
fn encode_all<W>(&mut self, writer: W) -> Result<(), Error> where
W: Write,
[src]
W: Write,
impl<T> DecodeExt for T where
T: Decode,
[src]
T: Decode,
fn map<T, F>(self, f: F) -> Map<Self, T, F> where
F: Fn(Self::Item) -> T,
[src]
F: Fn(Self::Item) -> T,
fn try_map<T, E, F>(self, f: F) -> TryMap<Self, T, E, F> where
F: Fn(Self::Item) -> Result<T, E>,
Error: From<E>,
[src]
F: Fn(Self::Item) -> Result<T, E>,
Error: From<E>,
fn map_err<E, F>(self, f: F) -> MapErr<Self, E, F> where
F: Fn(Error) -> E,
Error: From<E>,
[src]
F: Fn(Error) -> E,
Error: From<E>,
fn and_then<D, F>(self, f: F) -> AndThen<Self, D, F> where
D: Decode,
F: Fn(Self::Item) -> D,
[src]
D: Decode,
F: Fn(Self::Item) -> D,
fn collect<T>(self) -> Collect<Self, T> where
T: Extend<Self::Item> + Default,
[src]
T: Extend<Self::Item> + Default,
fn collectn<T>(self, n: usize) -> CollectN<Self, T> where
T: Extend<Self::Item> + Default,
[src]
T: Extend<Self::Item> + Default,
fn length(self, expected_bytes: u64) -> Length<Self>
[src]
fn omit(self, do_omit: bool) -> Omittable<Self>
[src]
fn max_bytes(self, bytes: u64) -> MaxBytes<Self>
[src]
fn chain<T>(self, other: T) -> TupleDecoder<(Self, T)> where
T: Decode,
[src]
T: Decode,