# Documentation

class Ord a => Ix a whereSource

The `Ix`

class is used to map a contiguous subrange of values in
a type onto integers. It is used primarily for array indexing
(see the array package).

The first argument `(l,u)`

of each of these operations is a pair
specifying the lower and upper bounds of a contiguous subrange of values.

An implementation is entitled to assume the following laws about these operations:

The list of values in the subrange defined by a bounding pair.

index :: (a, a) -> a -> IntSource

The position of a subscript in the subrange.

inRange :: (a, a) -> a -> BoolSource

Returns `True`

the given subscript lies in the range defined
the bounding pair.

rangeSize :: (a, a) -> IntSource

The size of the subrange defined by a bounding pair.

Ix Bool | |

Ix Char | |

Ix Int | |

Ix Int8 | |

Ix Int16 | |

Ix Int32 | |

Ix Int64 | |

Ix Integer | |

Ix Ordering | |

Ix () | |

Ix GeneralCategory | |

Ix SeekMode | |

Ix IOMode | |

Ix Month | |

Ix Day | |

(Ix a, Ix b) => Ix (a, b) | |

(Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) | |

(Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) | |

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) |