Trait nom::lib::std::ops::AddAssign1.8.0[][src]

pub trait AddAssign<Rhs = Self> {
    pub fn add_assign(&mut self, rhs: Rhs);
}
[]

The addition assignment operator +=.

Examples

This example creates a Point struct that implements the AddAssign trait, and then demonstrates add-assigning to a mutable Point.

use std::ops::AddAssign;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl AddAssign for Point {
    fn add_assign(&mut self, other: Self) {
        *self = Self {
            x: self.x + other.x,
            y: self.y + other.y,
        };
    }
}

let mut point = Point { x: 1, y: 0 };
point += Point { x: 2, y: 3 };
assert_eq!(point, Point { x: 3, y: 3 });

Required methods

pub fn add_assign(&mut self, rhs: Rhs)[src][]

Performs the += operation.

Example

let mut x: u32 = 12;
x += 1;
assert_eq!(x, 13);

Implementations on Foreign Types

impl AddAssign<Duration> for Instant[src]

impl AddAssign<Duration> for SystemTime[src]

impl AddAssign<Wrapping<i128>> for Wrapping<i128>[src]

impl AddAssign<f32> for f32[src]

impl<'_> AddAssign<&'_ f32> for f32[src]

impl<'_> AddAssign<&'_ Wrapping<u128>> for Wrapping<u128>[src]

impl<'_> AddAssign<&'_ f64> for f64[src]

impl AddAssign<i128> for i128[src]

impl AddAssign<Wrapping<i32>> for Wrapping<i32>[src]

impl AddAssign<Wrapping<u8>> for Wrapping<u8>[src]

impl AddAssign<Wrapping<i8>> for Wrapping<i8>[src]

impl<'_> AddAssign<&'_ Wrapping<usize>> for Wrapping<usize>[src]

impl<'_> AddAssign<&'_ i16> for i16[src]

impl<'_> AddAssign<&'_ Wrapping<i64>> for Wrapping<i64>[src]

impl<'_> AddAssign<&'_ Wrapping<u16>> for Wrapping<u16>[src]

impl<'_> AddAssign<&'_ u128> for u128[src]

impl AddAssign<u128> for u128[src]

impl<'_> AddAssign<&'_ u32> for u32[src]

impl<'_> AddAssign<&'_ Wrapping<i32>> for Wrapping<i32>[src]

impl AddAssign<isize> for isize[src]

impl<'_> AddAssign<&'_ isize> for isize[src]

impl AddAssign<Wrapping<isize>> for Wrapping<isize>[src]

impl AddAssign<Wrapping<i64>> for Wrapping<i64>[src]

impl AddAssign<Wrapping<u128>> for Wrapping<u128>[src]

impl AddAssign<i64> for i64[src]

impl AddAssign<Wrapping<usize>> for Wrapping<usize>[src]

impl AddAssign<i32> for i32[src]

impl<'_> AddAssign<&'_ usize> for usize[src]

impl AddAssign<i16> for i16[src]

impl<'_> AddAssign<&'_ Wrapping<i16>> for Wrapping<i16>[src]

impl AddAssign<f64> for f64[src]

impl AddAssign<u8> for u8[src]

impl AddAssign<i8> for i8[src]

impl<'_> AddAssign<&'_ i64> for i64[src]

impl<'_> AddAssign<&'_ i8> for i8[src]

impl<'_> AddAssign<&'_ Wrapping<u8>> for Wrapping<u8>[src]

impl<'_> AddAssign<&'_ Wrapping<u32>> for Wrapping<u32>[src]

impl AddAssign<u16> for u16[src]

impl AddAssign<Duration> for Duration[src]

impl AddAssign<usize> for usize[src]

impl<'_> AddAssign<&'_ u8> for u8[src]

impl AddAssign<Wrapping<i16>> for Wrapping<i16>[src]

impl<'_> AddAssign<&'_ Wrapping<isize>> for Wrapping<isize>[src]

impl AddAssign<u64> for u64[src]

impl<'_> AddAssign<&'_ Wrapping<i128>> for Wrapping<i128>[src]

impl AddAssign<Wrapping<u64>> for Wrapping<u64>[src]

impl<'_> AddAssign<&'_ u64> for u64[src]

impl<'_> AddAssign<&'_ i128> for i128[src]

impl AddAssign<u32> for u32[src]

impl<'_> AddAssign<&'_ u16> for u16[src]

impl<'_> AddAssign<&'_ Wrapping<u64>> for Wrapping<u64>[src]

impl<'_> AddAssign<&'_ Wrapping<i8>> for Wrapping<i8>[src]

impl<'_> AddAssign<&'_ i32> for i32[src]

impl AddAssign<Wrapping<u32>> for Wrapping<u32>[src]

impl AddAssign<Wrapping<u16>> for Wrapping<u16>[src]

Implementors

impl<'_> AddAssign<&'_ str> for String1.12.0[src]

Implements the += operator for appending to a String.

This has the same behavior as the push_str method.

impl<'a> AddAssign<&'a str> for Cow<'a, str>1.14.0[src]

impl<'a> AddAssign<Cow<'a, str>> for Cow<'a, str>1.14.0[src]

impl<N: AddAssign<N>> AddAssign<Deg<N>> for Deg<N>

impl<N: AddAssign<N>> AddAssign<Rad<N>> for Rad<N>

impl AddAssign<Duration> for NaiveDate

impl AddAssign<Duration> for NaiveDateTime

impl AddAssign<Duration> for NaiveTime

impl<T> AddAssign<Dual<T>> for Dual<T> where
    T: Add<Output = T> + Copy

impl AddAssign<FloatDuration> for FloatDuration

impl AddAssign<Duration> for FloatInstant

impl<'b, N, R1, C1, R2, C2, SA, SB> AddAssign<&'b Matrix<N, R2, C2, SB>> for Matrix<N, R1, C1, SA> where
    R1: Dim,
    C1: Dim,
    R2: Dim,
    C2: Dim,
    N: Scalar + ClosedAdd,
    SA: StorageMut<N, R1, C1>,
    SB: Storage<N, R2, C2>,
    ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>, 

impl<N, R1, C1, R2, C2, SA, SB> AddAssign<Matrix<N, R2, C2, SB>> for Matrix<N, R1, C1, SA> where
    R1: Dim,
    C1: Dim,
    R2: Dim,
    C2: Dim,
    N: Scalar + ClosedAdd,
    SA: StorageMut<N, R1, C1>,
    SB: Storage<N, R2, C2>,
    ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>, 

impl<'b, N, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1> where
    N: Scalar + ClosedAdd,
    SB: Storage<N, D2>,
    DefaultAllocator: Allocator<N, D1>,
    ShapeConstraint: SameNumberOfRows<D1, D2>, 

impl<N, D1: DimName, D2: Dim, SB> AddAssign<Matrix<N, D2, U1, SB>> for Point<N, D1> where
    N: Scalar + ClosedAdd,
    SB: Storage<N, D2>,
    DefaultAllocator: Allocator<N, D1>,
    ShapeConstraint: SameNumberOfRows<D1, D2>, 

impl<'b, N: SimdRealField> AddAssign<&'b Quaternion<N>> for Quaternion<N> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U4, U1>, 

impl<N: SimdRealField> AddAssign<Quaternion<N>> for Quaternion<N> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U4, U1>, 

impl<T: Clone + NumAssign> AddAssign<Complex<T>> for Complex<T>

impl<T: Clone + NumAssign> AddAssign<T> for Complex<T>

impl<'a, T: Clone + NumAssign> AddAssign<&'a Complex<T>> for Complex<T>

impl<'a, T: Clone + NumAssign> AddAssign<&'a T> for Complex<T>

impl<T: Clone + Integer + NumAssign> AddAssign<Ratio<T>> for Ratio<T>

impl<T: Clone + Integer + NumAssign> AddAssign<T> for Ratio<T>

impl<'a, T: Clone + Integer + NumAssign> AddAssign<&'a Ratio<T>> for Ratio<T>

impl<'a, T: Clone + Integer + NumAssign> AddAssign<&'a T> for Ratio<T>

impl<Rhs> AddAssign<Rhs> for U128 where
    Rhs: Into<U128>, 

impl<'a> AddAssign<&'a U128> for U128

impl<Rhs> AddAssign<Rhs> for U160 where
    Rhs: Into<U160>, 

impl<'a> AddAssign<&'a U160> for U160

impl<Rhs> AddAssign<Rhs> for U224 where
    Rhs: Into<U224>, 

impl<'a> AddAssign<&'a U224> for U224

impl<Rhs> AddAssign<Rhs> for U256 where
    Rhs: Into<U256>, 

impl<'a> AddAssign<&'a U256> for U256

impl<Rhs> AddAssign<Rhs> for U384 where
    Rhs: Into<U384>, 

impl<'a> AddAssign<&'a U384> for U384

impl<Rhs> AddAssign<Rhs> for U512 where
    Rhs: Into<U512>, 

impl<'a> AddAssign<&'a U512> for U512

impl<Rhs> AddAssign<Rhs> for U520 where
    Rhs: Into<U520>, 

impl<'a> AddAssign<&'a U520> for U520

impl<Rhs> AddAssign<Rhs> for U1024 where
    Rhs: Into<U1024>, 

impl<'a> AddAssign<&'a U1024> for U1024

impl<Rhs> AddAssign<Rhs> for U2048 where
    Rhs: Into<U2048>, 

impl<'a> AddAssign<&'a U2048> for U2048

impl<Rhs> AddAssign<Rhs> for U4096 where
    Rhs: Into<U4096>, 

impl<'a> AddAssign<&'a U4096> for U4096

impl AddAssign<AutoSimd<[f32; 2]>> for AutoSimd<[f32; 2]>

impl AddAssign<AutoSimd<[f32; 4]>> for AutoSimd<[f32; 4]>

impl AddAssign<AutoSimd<[f32; 8]>> for AutoSimd<[f32; 8]>

impl AddAssign<AutoSimd<[f32; 16]>> for AutoSimd<[f32; 16]>

impl AddAssign<AutoSimd<[f64; 2]>> for AutoSimd<[f64; 2]>

impl AddAssign<AutoSimd<[f64; 4]>> for AutoSimd<[f64; 4]>

impl AddAssign<AutoSimd<[f64; 8]>> for AutoSimd<[f64; 8]>

impl AddAssign<AutoSimd<[i128; 1]>> for AutoSimd<[i128; 1]>

impl AddAssign<AutoSimd<[i128; 2]>> for AutoSimd<[i128; 2]>

impl AddAssign<AutoSimd<[i128; 4]>> for AutoSimd<[i128; 4]>

impl AddAssign<AutoSimd<[i16; 2]>> for AutoSimd<[i16; 2]>

impl AddAssign<AutoSimd<[i16; 4]>> for AutoSimd<[i16; 4]>

impl AddAssign<AutoSimd<[i16; 8]>> for AutoSimd<[i16; 8]>

impl AddAssign<AutoSimd<[i16; 16]>> for AutoSimd<[i16; 16]>

impl AddAssign<AutoSimd<[i16; 32]>> for AutoSimd<[i16; 32]>

impl AddAssign<AutoSimd<[i32; 2]>> for AutoSimd<[i32; 2]>

impl AddAssign<AutoSimd<[i32; 4]>> for AutoSimd<[i32; 4]>

impl AddAssign<AutoSimd<[i32; 8]>> for AutoSimd<[i32; 8]>

impl AddAssign<AutoSimd<[i32; 16]>> for AutoSimd<[i32; 16]>

impl AddAssign<AutoSimd<[i64; 2]>> for AutoSimd<[i64; 2]>

impl AddAssign<AutoSimd<[i64; 4]>> for AutoSimd<[i64; 4]>

impl AddAssign<AutoSimd<[i64; 8]>> for AutoSimd<[i64; 8]>

impl AddAssign<AutoSimd<[i8; 2]>> for AutoSimd<[i8; 2]>

impl AddAssign<AutoSimd<[i8; 4]>> for AutoSimd<[i8; 4]>

impl AddAssign<AutoSimd<[i8; 8]>> for AutoSimd<[i8; 8]>

impl AddAssign<AutoSimd<[i8; 16]>> for AutoSimd<[i8; 16]>

impl AddAssign<AutoSimd<[i8; 32]>> for AutoSimd<[i8; 32]>

impl AddAssign<AutoSimd<[isize; 2]>> for AutoSimd<[isize; 2]>

impl AddAssign<AutoSimd<[isize; 4]>> for AutoSimd<[isize; 4]>

impl AddAssign<AutoSimd<[isize; 8]>> for AutoSimd<[isize; 8]>

impl AddAssign<AutoSimd<[u128; 1]>> for AutoSimd<[u128; 1]>

impl AddAssign<AutoSimd<[u128; 2]>> for AutoSimd<[u128; 2]>

impl AddAssign<AutoSimd<[u128; 4]>> for AutoSimd<[u128; 4]>

impl AddAssign<AutoSimd<[u16; 2]>> for AutoSimd<[u16; 2]>

impl AddAssign<AutoSimd<[u16; 4]>> for AutoSimd<[u16; 4]>

impl AddAssign<AutoSimd<[u16; 8]>> for AutoSimd<[u16; 8]>

impl AddAssign<AutoSimd<[u16; 16]>> for AutoSimd<[u16; 16]>

impl AddAssign<AutoSimd<[u16; 32]>> for AutoSimd<[u16; 32]>

impl AddAssign<AutoSimd<[u32; 2]>> for AutoSimd<[u32; 2]>

impl AddAssign<AutoSimd<[u32; 4]>> for AutoSimd<[u32; 4]>

impl AddAssign<AutoSimd<[u32; 8]>> for AutoSimd<[u32; 8]>

impl AddAssign<AutoSimd<[u32; 16]>> for AutoSimd<[u32; 16]>

impl AddAssign<AutoSimd<[u64; 2]>> for AutoSimd<[u64; 2]>

impl AddAssign<AutoSimd<[u64; 4]>> for AutoSimd<[u64; 4]>

impl AddAssign<AutoSimd<[u64; 8]>> for AutoSimd<[u64; 8]>

impl AddAssign<AutoSimd<[u8; 2]>> for AutoSimd<[u8; 2]>

impl AddAssign<AutoSimd<[u8; 4]>> for AutoSimd<[u8; 4]>

impl AddAssign<AutoSimd<[u8; 8]>> for AutoSimd<[u8; 8]>

impl AddAssign<AutoSimd<[u8; 16]>> for AutoSimd<[u8; 16]>

impl AddAssign<AutoSimd<[u8; 32]>> for AutoSimd<[u8; 32]>

impl AddAssign<AutoSimd<[usize; 2]>> for AutoSimd<[usize; 2]>

impl AddAssign<AutoSimd<[usize; 4]>> for AutoSimd<[usize; 4]>

impl AddAssign<AutoSimd<[usize; 8]>> for AutoSimd<[usize; 8]>