Skip to main content

NotPresentEachValue

Struct NotPresentEachValue 

Source
#[non_exhaustive]
pub struct NotPresentEachValue;
Expand description

An individual value that is not present - placeholder type

This is the “single” item type for encoding multiplicity (for Items, Arguments or Objects), for NotPresent.

It should not be used directly.

During parsing, each “not present” item is ignored, but the multiplicity arrangements involve parsing each value and then passing the item value to ItemSetMethods::accumulate where (for NotPresentEachValue) it is discarded. Therefore this type must be inhabited; the item parser discards the unparsed item.

During parsing of arguments, parsing is driven by [our ArgumentSetMethods::parse_with][P2MultiplicitySelector::<NotPresent>::parse_with) which doesn't need to call any parser. So the [ItemArgumentParseable`] implementation always throws an error.

During parsing of objects, rejection is done by NotPresentEachValue::check_label (and from_bytes).

For encoding, there is only one multiplicity system which will never call any encoding function, so the encoding functions all throw Bug.

This type has a similar role to IgnoredItemOrObjectValue, but NotPresentEachValue is different in detail, and (unlike Ignored) must support arguments, not just items and objects.

Trait Implementations§

Source§

impl Clone for NotPresentEachValue

Source§

fn clone(&self) -> NotPresentEachValue

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NotPresentEachValue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ItemArgument for NotPresentEachValue

Source§

fn write_arg_onto(&self, _out: &mut ItemEncoder<'_>) -> Result<(), Bug>

Format as a string suitable for including as a netdoc keyword line argument Read more
Source§

impl ItemArgumentParseable for NotPresentEachValue

Source§

fn from_args<'s>(_: &mut ArgumentStream<'s>) -> Result<Self, ArgumentError>

Parse the argument
Source§

impl ItemObjectEncodable for NotPresentEachValue

Source§

fn label(&self) -> &str

The label (keyword(s) in BEGIN and END)
Source§

fn write_object_onto(&self, _b: &mut Vec<u8>) -> Result<(), Bug>

Represent the actual value as bytes. Read more
Source§

impl ItemObjectParseable for NotPresentEachValue

Source§

fn check_label(_label: &str) -> Result<(), EP>

Check that the Label is right
Source§

fn from_bytes(_input: &[u8]) -> Result<Self, EP>

Convert the bytes of the Object (which was present) into the actual value Read more
Source§

impl ItemValueEncodable for NotPresentEachValue

Source§

fn write_item_value_onto(&self, _out: ItemEncoder<'_>) -> Result<(), Bug>

Write the item’s arguments, and any object, onto out Read more
Source§

impl ItemValueParseable for NotPresentEachValue

Source§

fn from_unparsed<'s>(input: UnparsedItem<'s>) -> Result<Self, EP>

Parse the item’s value
Source§

impl NetdocParseableFields for NotPresentEachValue

Source§

type Accumulator = NotPresentEachValueNetdocParseAccumulator

The partially-parsed set of items.
Source§

fn is_item_keyword(kw: KeywordRef<'_>) -> bool

Is this one of the keywords in this struct
Source§

fn accumulate_item( acc: &mut Self::Accumulator, item: UnparsedItem<'_>, ) -> Result<(), ErrorProblem>

Accumulate an item in this struct Read more
Source§

fn finish( acc: Self::Accumulator, items: &ItemStream<'_>, ) -> Result<Self, ErrorProblem>

Finish Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PossiblyOption<T> for T

Source§

fn to_option(self) -> Option<T>

Convert this object into an Option<T>
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more