## Operator: ..<

``` operator ..< { associativity precedence }```

### Declarations

func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Strideable`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`BinaryFloatingPoint`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`StringProtocol`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`FixedWidthInteger`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Strideable`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Strideable`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Strideable`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Strideable`, `Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`
func ..<(_: Self, maximum: Self)

Returns a half-open range that contains its lower bound but not its upper bound.

Use the half-open range operator (`..<`) to create a range of any type that conforms to the `Comparable` protocol. This example creates a `Range<Double>` from zero up to, but not including, 5.0.

``````let lessThanFive = 0.0..<5.0
print(lessThanFive.contains(3.14))  // Prints "true"
print(lessThanFive.contains(5.0))   // Prints "false"``````

Parameters: minimum: The lower bound for the range. maximum: The upper bound for the range.

#### Declaration

`func ..<(minimum: Self, maximum: Self) -> Range<Self>`

#### Declared In

`Comparable`