# within<T> function

- {required num distance,
- required T from,
- DistanceFunction<
T> ? distanceFunction}

Asserts that two values are within a certain distance from each other.

The distance is computed by a DistanceFunction.

If `distanceFunction`

is null, a standard distance function is used for the
`T`

generic argument. Standard functions are defined for the following
types:

- Color, whose distance is the maximum component-wise delta.
- Offset, whose distance is the Euclidean distance computed using the method Offset.distance.
- Rect, whose distance is the maximum component-wise delta.
- Size, whose distance is the Offset.distance of the offset computed as the difference between two sizes.
- int, whose distance is the absolute difference between two integers.
- double, whose distance is the absolute difference between two doubles.

See also:

- moreOrLessEquals, which is similar to this function, but specializes in
doubles and has an optional
`epsilon`

parameter. - rectMoreOrLessEquals, which is similar to this function, but
specializes in Rects and has an optional
`epsilon`

parameter. - closeTo, which specializes in numbers only.

## Implementation

```
Matcher within<T>({
required num distance,
required T from,
DistanceFunction<T>? distanceFunction,
}) {
distanceFunction ??= _kStandardDistanceFunctions[T] as DistanceFunction<T>?;
if (distanceFunction == null) {
throw ArgumentError(
'The specified distanceFunction was null, and a standard distance '
'function was not found for type ${from.runtimeType} of the provided '
'`from` argument.'
);
}
return _IsWithinDistance<T>(distanceFunction, from, distance);
}
```