Ix
Synopsis
class Ord a => Ix a where
 range :: (a, a) -> [a] index :: (a, a) -> a -> Int inRange :: (a, a) -> a -> Bool rangeSize :: (a, a) -> Int
rangeSize :: Ix a => (a, a) -> Int
Documentation
 class Ord a => Ix a where Source

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:

Minimal complete instance: range, index and inRange.

Methods
 range :: (a, a) -> [a] Source
The list of values in the subrange defined by a bounding pair.
 index :: (a, a) -> a -> Int Source
The position of a subscript in the subrange.
 inRange :: (a, a) -> a -> Bool Source
Returns True the given subscript lies in the range defined the bounding pair.
 rangeSize :: (a, a) -> Int Source
The size of the subrange defined by a bounding pair.
Instances
 Ix Bool Ix Char Ix Int 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)
 rangeSize :: Ix a => (a, a) -> Int Source
The size of the subrange defined by a bounding pair.