Lines Matching refs:P

49 pub struct Punctuated<T, P> {
50 inner: Vec<(T, P)>,
54 impl<T, P> Punctuated<T, P> {
143 pub fn pairs(&self) -> Pairs<T, P> { in pairs() argument
152 pub fn pairs_mut(&mut self) -> PairsMut<T, P> { in pairs_mut() argument
161 pub fn into_pairs(self) -> IntoPairs<T, P> { in into_pairs() argument
196 pub fn push_punct(&mut self, punctuation: P) { in push_punct() argument
208 pub fn pop(&mut self) -> Option<Pair<T, P>> { in pop() argument
218 pub fn pop_punct(&mut self) -> Option<P> { in pop_punct() argument
249 P: Default, in push()
265 P: Default, in insert()
295 P: Parse, in parse_terminated()
315 P: Parse, in parse_terminated_with()
347 P: Token + Parse, in parse_separated_nonempty()
367 P: Token + Parse, in parse_separated_nonempty_with()
374 if !P::peek(input.cursor()) { in parse_separated_nonempty_with()
387 impl<T, P> Clone for Punctuated<T, P>
390 P: Clone,
407 impl<T, P> Eq for Punctuated<T, P>
410 P: Eq,
416 impl<T, P> PartialEq for Punctuated<T, P>
419 P: PartialEq,
429 impl<T, P> Hash for Punctuated<T, P>
432 P: Hash,
443 impl<T: Debug, P: Debug> Debug for Punctuated<T, P> {
457 impl<T, P> FromIterator<T> for Punctuated<T, P>
459 P: Default,
468 impl<T, P> Extend<T> for Punctuated<T, P>
470 P: Default,
479 impl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P> {
480 fn from_iter<I: IntoIterator<Item = Pair<T, P>>>(i: I) -> Self { in from_iter()
487 impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>
489 P: Default,
491 fn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I) { in extend()
493 self.push_punct(P::default()); in extend()
499 fn do_extend<T, P, I>(punctuated: &mut Punctuated<T, P>, i: I) in do_extend() argument
501 I: Iterator<Item = Pair<T, P>>, in do_extend() argument
518 impl<T, P> IntoIterator for Punctuated<T, P> {
533 impl<'a, T, P> IntoIterator for &'a Punctuated<T, P> {
542 impl<'a, T, P> IntoIterator for &'a mut Punctuated<T, P> {
551 impl<T, P> Default for Punctuated<T, P> {
562 pub struct Pairs<'a, T: 'a, P: 'a> {
563 inner: slice::Iter<'a, (T, P)>,
567 impl<'a, T, P> Iterator for Pairs<'a, T, P> {
568 type Item = Pair<&'a T, &'a P>;
582 impl<'a, T, P> DoubleEndedIterator for Pairs<'a, T, P> {
591 impl<'a, T, P> ExactSizeIterator for Pairs<'a, T, P> {
598 impl<'a, T, P> Clone for Pairs<'a, T, P> {
612 pub struct PairsMut<'a, T: 'a, P: 'a> {
613 inner: slice::IterMut<'a, (T, P)>,
617 impl<'a, T, P> Iterator for PairsMut<'a, T, P> {
618 type Item = Pair<&'a mut T, &'a mut P>;
632 impl<'a, T, P> DoubleEndedIterator for PairsMut<'a, T, P> {
641 impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P> {
652 pub struct IntoPairs<T, P> {
653 inner: vec::IntoIter<(T, P)>,
657 impl<T, P> Iterator for IntoPairs<T, P> {
658 type Item = Pair<T, P>;
672 impl<T, P> DoubleEndedIterator for IntoPairs<T, P> {
681 impl<T, P> ExactSizeIterator for IntoPairs<T, P> {
687 impl<T, P> Clone for IntoPairs<T, P>
690 P: Clone,
757 struct PrivateIter<'a, T: 'a, P: 'a> {
758 inner: slice::Iter<'a, (T, P)>,
762 impl<'a, T, P> TrivialDrop for PrivateIter<'a, T, P>
764 slice::Iter<'a, (T, P)>: TrivialDrop,
809 impl<'a, T, P> Iterator for PrivateIter<'a, T, P> {
820 impl<'a, T, P> DoubleEndedIterator for PrivateIter<'a, T, P> {
828 impl<'a, T, P> ExactSizeIterator for PrivateIter<'a, T, P> {
835 impl<'a, T, P> Clone for PrivateIter<'a, T, P> {
872 struct PrivateIterMut<'a, T: 'a, P: 'a> {
873 inner: slice::IterMut<'a, (T, P)>,
877 impl<'a, T, P> TrivialDrop for PrivateIterMut<'a, T, P>
879 slice::IterMut<'a, (T, P)>: TrivialDrop,
915 impl<'a, T, P> Iterator for PrivateIterMut<'a, T, P> {
926 impl<'a, T, P> DoubleEndedIterator for PrivateIterMut<'a, T, P> {
934 impl<'a, T, P> ExactSizeIterator for PrivateIterMut<'a, T, P> {
953 pub enum Pair<T, P> {
954 Punctuated(T, P),
958 impl<T, P> Pair<T, P> {
983 pub fn punct(&self) -> Option<&P> { in punct() argument
1008 pub fn punct_mut(&mut self) -> Option<&mut P> { in punct_mut() argument
1017 pub fn new(t: T, p: Option<P>) -> Self { in new()
1026 pub fn into_tuple(self) -> (T, Option<P>) { in into_tuple() argument
1036 impl<T, P> Pair<&T, &P> {
1037 pub fn cloned(self) -> Pair<T, P> in cloned()
1040 P: Clone, in cloned()
1051 impl<T, P> Clone for Pair<T, P>
1054 P: Clone,
1066 impl<T, P> Copy for Pair<T, P>
1069 P: Copy,
1073 impl<T, P> Index<usize> for Punctuated<T, P> {
1088 impl<T, P> IndexMut<usize> for Punctuated<T, P> {
1102 pub(crate) fn fold<T, P, V, F>( in fold() argument
1103 punctuated: Punctuated<T, P>, in fold() argument
1106 ) -> Punctuated<T, P> in fold()
1131 impl<T, P> ToTokens for Punctuated<T, P>
1134 P: ToTokens,
1142 impl<T, P> ToTokens for Pair<T, P>
1145 P: ToTokens,