```
operator <= {
associativity
precedence
}
```

### Declarations

Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)`

and `(b1, b2, ..., bN)`

, the first
tuple is before or the same as the second tuple if and only if
`a1 < b1`

or (`a1 == b1`

and
`(a2, ..., aN) <= (b2, ..., bN)`

).

**Parameters:**
**lhs:** A tuple of `Comparable`

elements.
**rhs:** Another tuple of elements of the same type as `lhs`

.

#### Declaration

`func <=<A, B, C, D, E, F>(lhs: (A, B, C, D, E, F), rhs: (A, B, C, D, E, F)) -> Bool where A : Comparable, B : Comparable, C : Comparable, D : Comparable, E : Comparable, F : Comparable`

Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)`

and `(b1, b2, ..., bN)`

, the first
tuple is before or the same as the second tuple if and only if
`a1 < b1`

or (`a1 == b1`

and
`(a2, ..., aN) <= (b2, ..., bN)`

).

**Parameters:**
**lhs:** A tuple of `Comparable`

elements.
**rhs:** Another tuple of elements of the same type as `lhs`

.

#### Declaration

`func <=<A, B, C, D, E>(lhs: (A, B, C, D, E), rhs: (A, B, C, D, E)) -> Bool where A : Comparable, B : Comparable, C : Comparable, D : Comparable, E : Comparable`

Given two tuples `(a1, a2, ..., aN)`

and `(b1, b2, ..., bN)`

, the first
tuple is before or the same as the second tuple if and only if
`a1 < b1`

or (`a1 == b1`

and
`(a2, ..., aN) <= (b2, ..., bN)`

).

**Parameters:**
**lhs:** A tuple of `Comparable`

elements.
**rhs:** Another tuple of elements of the same type as `lhs`

.

#### Declaration

`func <=<A, B, C, D>(lhs: (A, B, C, D), rhs: (A, B, C, D)) -> Bool where A : Comparable, B : Comparable, C : Comparable, D : Comparable`

`(a1, a2, ..., aN)`

and `(b1, b2, ..., bN)`

, the first
tuple is before or the same as the second tuple if and only if
`a1 < b1`

or (`a1 == b1`

and
`(a2, ..., aN) <= (b2, ..., bN)`

).

**Parameters:**
**lhs:** A tuple of `Comparable`

elements.
**rhs:** Another tuple of elements of the same type as `lhs`

.

#### Declaration

`func <=<A, B, C>(lhs: (A, B, C), rhs: (A, B, C)) -> Bool where A : Comparable, B : Comparable, C : Comparable`

`(a1, a2, ..., aN)`

and `(b1, b2, ..., bN)`

, the first
tuple is before or the same as the second tuple if and only if
`a1 < b1`

or (`a1 == b1`

and
`(a2, ..., aN) <= (b2, ..., bN)`

).

**Parameters:**
**lhs:** A tuple of `Comparable`

elements.
**rhs:** Another tuple of elements of the same type as `lhs`

.

#### Declaration

`func <=<A, B>(lhs: (A, B), rhs: (A, B)) -> Bool where A : Comparable, B : Comparable`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Int, rhs: Int) -> Bool`

#### Declared In

`Int`

, `FixedWidthInteger`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Int8, rhs: Int8) -> Bool`

#### Declared In

`Int8`

, `FixedWidthInteger`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Int16, rhs: Int16) -> Bool`

#### Declared In

`Int16`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Int32, rhs: Int32) -> Bool`

#### Declared In

`Int32`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Int64, rhs: Int64) -> Bool`

#### Declared In

`Int64`

, `FixedWidthInteger`

This is the default implementation of the less-than-or-equal-to
operator (`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

This is the default implementation of the less-than-or-equal-to
operator (`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

This is the default implementation of the less-than-or-equal-to
operator (`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`BinaryFloatingPoint`

, `FloatingPoint`

, `Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Strideable`

, `Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Strideable`

, `Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Strideable`

, `Comparable`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Strideable`

, `Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`FixedWidthInteger`

`<=`

) for any type that conforms to `Comparable`

.

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: Self, rhs: Self) -> Bool`

#### Declared In

`Strideable`

, `Comparable`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: UInt, rhs: UInt) -> Bool`

#### Declared In

`UInt`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: UInt8, rhs: UInt8) -> Bool`

#### Declared In

`UInt8`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: UInt16, rhs: UInt16) -> Bool`

#### Declared In

`UInt16`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: UInt32, rhs: UInt32) -> Bool`

#### Declared In

`UInt32`

, `FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=(lhs: UInt64, rhs: UInt64) -> Bool`

#### Declared In

`UInt64`

, `FixedWidthInteger`

You can compare instances of any `BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

You can compare instances of any `BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

You can compare instances of any `BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

`BinaryInteger`

types using the
less-than-or-equal-to operator (`<=`

), even if the two instances are of
different types.

**Parameters:**
**lhs:** An integer to compare.
**rhs:** Another integer to compare.

#### Declaration

`func <=<Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger`

#### Declared In

`FixedWidthInteger`

**Parameters:**
**lhs:** A value to compare.
**rhs:** Another value to compare.

#### Declaration

`func <=<R>(lhs: Self, rhs: R) -> Bool where R : StringProtocol`

#### Declared In

`StringProtocol`

, `Comparable`

Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.

An arity zero tuple is always before or the same as another arity zero tuple in a lexicographical ordering.

Parameters:lhs:An empty tuple.rhs:An empty tuple.## Declaration

`func <=(lhs: (), rhs: ()) -> Bool`