pub struct Terminated<T, P>(/* private fields */);Expand description
A punctuated sequence with required trailing separator.
Use this for statement-like constructs where each item must end with
punctuation, such as use statements: use foo; use bar;.
§Type Parameters
T: The value type (e.g., statement)P: The punctuation/separator type (e.g., semicolon token)
Implementations§
Source§impl<T, P> Terminated<T, P>
impl<T, P> Terminated<T, P>
Sourcepub const POLICY: TrailingPolicy = TrailingPolicy::Required
pub const POLICY: TrailingPolicy = TrailingPolicy::Required
The trailing punctuation policy for this type.
Sourcepub fn new() -> Terminated<T, P>
pub fn new() -> Terminated<T, P>
Creates a new empty sequence.
Sourcepub fn with_capacity(capacity: usize) -> Terminated<T, P>
pub fn with_capacity(capacity: usize) -> Terminated<T, P>
Creates a new sequence with pre-allocated capacity.
Sourcepub fn push_value(&mut self, value: T)
pub fn push_value(&mut self, value: T)
Pushes a value onto the sequence.
Sourcepub fn push_punct(&mut self, punct: P)
pub fn push_punct(&mut self, punct: P)
Attaches punctuation to the last value.
Sourcepub fn trailing_punct(&self) -> bool
pub fn trailing_punct(&self) -> bool
Returns whether the sequence has trailing punctuation.
The return value depends on the wrapper type’s policy:
Punctuated: delegates to inner storageTerminated: alwaystrueSeparated: alwaysfalse
Sourcepub fn into_inner(self) -> PunctuatedInner<T, P>
pub fn into_inner(self) -> PunctuatedInner<T, P>
Consumes the wrapper and returns the inner storage.
Methods from Deref<Target = PunctuatedInner<T, P>>§
pub fn push_value(&mut self, value: T)
pub fn push_punct(&mut self, punct: P)
pub fn trailing_punct(&self) -> bool
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn capacity(&self) -> usize
pub fn reserve(&mut self, additional: usize)
pub fn shrink_to_fit(&mut self)
pub fn clear(&mut self)
pub fn iter(&self) -> impl Iterator<Item = &T>
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut T>
pub fn pairs(&self) -> impl Iterator<Item = (&T, Option<&P>)>
pub fn pairs_mut(&mut self) -> impl Iterator<Item = (&mut T, Option<&mut P>)>
pub fn first(&self) -> Option<&T>
pub fn last(&self) -> Option<&T>
Trait Implementations§
Source§impl<T, P> AsMut<PunctuatedInner<T, P>> for Terminated<T, P>
impl<T, P> AsMut<PunctuatedInner<T, P>> for Terminated<T, P>
Source§fn as_mut(&mut self) -> &mut PunctuatedInner<T, P>
fn as_mut(&mut self) -> &mut PunctuatedInner<T, P>
Converts this type into a mutable reference of the (usually inferred) input type.
Source§impl<T, P> AsRef<PunctuatedInner<T, P>> for Terminated<T, P>
impl<T, P> AsRef<PunctuatedInner<T, P>> for Terminated<T, P>
Source§fn as_ref(&self) -> &PunctuatedInner<T, P>
fn as_ref(&self) -> &PunctuatedInner<T, P>
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<T, P> Clone for Terminated<T, P>
impl<T, P> Clone for Terminated<T, P>
Source§fn clone(&self) -> Terminated<T, P>
fn clone(&self) -> Terminated<T, P>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T, P> Debug for Terminated<T, P>
impl<T, P> Debug for Terminated<T, P>
Source§impl<T, P> Default for Terminated<T, P>
impl<T, P> Default for Terminated<T, P>
Source§fn default() -> Terminated<T, P>
fn default() -> Terminated<T, P>
Returns the “default value” for a type. Read more
Source§impl<T, P> Deref for Terminated<T, P>
impl<T, P> Deref for Terminated<T, P>
Source§type Target = PunctuatedInner<T, P>
type Target = PunctuatedInner<T, P>
The resulting type after dereferencing.
Source§impl<T, P> DerefMut for Terminated<T, P>
impl<T, P> DerefMut for Terminated<T, P>
Source§impl<T, P> FromIterator<T> for Terminated<T, P>
impl<T, P> FromIterator<T> for Terminated<T, P>
Source§fn from_iter<I>(iter: I) -> Terminated<T, P>where
I: IntoIterator<Item = T>,
fn from_iter<I>(iter: I) -> Terminated<T, P>where
I: IntoIterator<Item = T>,
Creates a value from an iterator. Read more
Source§impl<T, P> IntoIterator for Terminated<T, P>
impl<T, P> IntoIterator for Terminated<T, P>
Auto Trait Implementations§
impl<T, P> Freeze for Terminated<T, P>
impl<T, P> RefUnwindSafe for Terminated<T, P>where
T: RefUnwindSafe,
P: RefUnwindSafe,
impl<T, P> Send for Terminated<T, P>
impl<T, P> Sync for Terminated<T, P>
impl<T, P> Unpin for Terminated<T, P>
impl<T, P> UnwindSafe for Terminated<T, P>where
T: UnwindSafe,
P: 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