# [−][src]Struct rusttype::Vector

```pub struct Vector<N> {
pub x: N,
pub y: N,
}```

A vector in 2-dimensional space, with each dimension of type `N`.

Legal operations on vectors are addition and subtraction by vectors, addition by points (to give points), and multiplication and division by scalars.

## Fields

`x: N``y: N`

## Trait Implementations

### `impl<N: Add<Output = N>> Add<Point<N>> for Vector<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `+` operator.

### `impl<N: Add<Output = N>> Add<Vector<N>> for Vector<N>`[src]

#### `type Output = Vector<N>`

The resulting type after applying the `+` operator.

### `impl<N: Add<Output = N>> Add<Vector<N>> for Point<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `+` operator.

### `impl Div<Vector<f32>> for f32`[src]

#### `type Output = Vector<f32>`

The resulting type after applying the `/` operator.

### `impl Div<Vector<f64>> for f64`[src]

#### `type Output = Vector<f64>`

The resulting type after applying the `/` operator.

### `impl Div<f32> for Vector<f32>`[src]

#### `type Output = Vector<f32>`

The resulting type after applying the `/` operator.

### `impl Div<f64> for Vector<f64>`[src]

#### `type Output = Vector<f64>`

The resulting type after applying the `/` operator.

### `impl Mul<Vector<f32>> for f32`[src]

#### `type Output = Vector<f32>`

The resulting type after applying the `*` operator.

### `impl Mul<Vector<f64>> for f64`[src]

#### `type Output = Vector<f64>`

The resulting type after applying the `*` operator.

### `impl Mul<f32> for Vector<f32>`[src]

#### `type Output = Vector<f32>`

The resulting type after applying the `*` operator.

### `impl Mul<f64> for Vector<f64>`[src]

#### `type Output = Vector<f64>`

The resulting type after applying the `*` operator.

### `impl<N: Sub<Output = N>> Sub<Vector<N>> for Vector<N>`[src]

#### `type Output = Vector<N>`

The resulting type after applying the `-` operator.

### `impl<N: Sub<Output = N>> Sub<Vector<N>> for Point<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `-` operator.

## Blanket Implementations

### `impl<T> ToOwned for T where    T: Clone, `[src]

#### `type Owned = T`

The resulting type after obtaining ownership.

### `impl<T, U> TryFrom<U> for T where    U: Into<T>, `[src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

### `impl<T, U> TryInto<U> for T where    U: TryFrom<T>, `[src]

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

The type returned in the event of a conversion error.