haskell98-2.0.0.3: Compatibility with Haskell 98

Safe HaskellSafe
LanguageHaskell98

Ix

Synopsis

Documentation

class Ord a => Ix a where

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.

Minimal complete definition

range, inRange

Methods

range :: (a, a) -> [a]

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

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

The position of a subscript in the subrange.

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

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

rangeSize :: (a, a) -> Int

The size of the subrange defined by a bounding pair.

Instances

Ix Bool 
Ix Char 
Ix Int 
Ix Int8 
Ix Int16 
Ix Int32 
Ix Int64 
Ix Integer 
Ix Ordering 
Ix Word 
Ix () 
Ix IOMode 
Ix SeekMode 
Ix GeneralCategory 
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

The size of the subrange defined by a bounding pair.