Safe Haskell | Trustworthy |
---|
Generics.Deriving.Enum
Contents
- class GEnum a where
- genum :: [a]
- genumDefault :: (Generic a, Enum' (Rep a)) => [a]
- toEnumDefault :: (Generic a, Enum' (Rep a)) => Int -> a
- fromEnumDefault :: (GEq a, Generic a, Enum' (Rep a)) => a -> Int
- class Enum' f where
- enum' :: [f a]
- class Ord a => GIx a where
- rangeDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> [a]
- indexDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> a -> Int
- inRangeDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> a -> Bool
Generic enum class
class GEnum a where
Methods
genum :: [a]
Instances
GEnum Bool | |
GEnum Double | |
GEnum Float | |
GEnum Int | |
GEnum Int8 | |
GEnum Int16 | |
GEnum Int32 | |
GEnum Int64 | |
GEnum Integer | |
GEnum Ordering | |
GEnum Word | |
GEnum Word8 | |
GEnum Word16 | |
GEnum Word32 | |
GEnum Word64 | |
GEnum () | |
GEnum CInt | |
GEnum CChar | |
GEnum ExitCode | |
GEnum Any | |
GEnum All | |
GEnum Fixity | |
GEnum Associativity | |
GEnum Arity | |
GEnum CWchar | |
GEnum CUShort | |
GEnum CUSeconds | |
GEnum CULong | |
GEnum CULLong | |
GEnum CUIntPtr | |
GEnum CUIntMax | |
GEnum CUInt | |
GEnum CUChar | |
GEnum CTime | |
GEnum CSize | |
GEnum CSigAtomic | |
GEnum CShort | |
GEnum CSUSeconds | |
GEnum CSChar | |
GEnum CPtrdiff | |
GEnum CLong | |
GEnum CLLong | |
GEnum CIntPtr | |
GEnum CIntMax | |
GEnum CFloat | |
GEnum CDouble | |
GEnum CClock | |
GEnum WordPtr | |
GEnum IntPtr | |
GEnum CMode | |
GEnum Fd | |
GEnum CUid | |
GEnum CTcflag | |
GEnum CSsize | |
GEnum CSpeed | |
GEnum CRLim | |
GEnum CPid | |
GEnum COff | |
GEnum CNlink | |
GEnum CIno | |
GEnum CGid | |
GEnum CDev | |
GEnum CCc | |
GEnum a => GEnum [a] | |
GEnum (U1 p) | |
GEnum p => GEnum (Par1 p) | |
GEnum a => GEnum (Maybe a) | |
GEnum a => GEnum (Sum a) | |
GEnum a => GEnum (Product a) | |
GEnum a => GEnum (Dual a) | |
GEnum a => GEnum (Last a) | |
GEnum a => GEnum (First a) | |
GEnum a => GEnum (ZipList a) | |
GEnum a => GEnum (Complex a) | |
(GEnum a, GEnum b) => GEnum (Either a b) | |
GEnum (f p) => GEnum (Rec1 f p) | |
(GEnum a, GEnum b) => GEnum (a, b) | |
GEnum a => GEnum (Const a b) | |
GEnum c => GEnum (K1 i c p) | |
(GEnum (f p), GEnum (g p)) => GEnum (:+: f g p) | |
(GEnum (f p), GEnum (g p)) => GEnum (:*: f g p) | |
GEnum (f (g p)) => GEnum (:.: f g p) | |
(GEnum a, GEnum b, GEnum c) => GEnum (a, b, c) | |
GEnum (f p) => GEnum (M1 i c f p) | |
(GEnum a, GEnum b, GEnum c, GEnum d) => GEnum (a, b, c, d) | |
(GEnum a, GEnum b, GEnum c, GEnum d, GEnum e) => GEnum (a, b, c, d, e) | |
(GEnum a, GEnum b, GEnum c, GEnum d, GEnum e, GEnum f) => GEnum (a, b, c, d, e, f) | |
(GEnum a, GEnum b, GEnum c, GEnum d, GEnum e, GEnum f, GEnum g) => GEnum (a, b, c, d, e, f, g) |
Default definitions for GEnum
genumDefault :: (Generic a, Enum' (Rep a)) => [a]
toEnumDefault :: (Generic a, Enum' (Rep a)) => Int -> a
fromEnumDefault :: (GEq a, Generic a, Enum' (Rep a)) => a -> Int
Internal enum class
Generic Ix class
class Ord a => GIx a where
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.
Instances
GIx Bool | |
GIx Int | |
GIx Int8 | |
GIx Int16 | |
GIx Int32 | |
GIx Int64 | |
GIx Integer | |
GIx Ordering | |
GIx Word | |
GIx Word8 | |
GIx Word16 | |
GIx Word32 | |
GIx Word64 | |
GIx () | |
GIx CInt | |
GIx CChar | |
GIx ExitCode | |
GIx Any | |
GIx All | |
GIx Fixity | |
GIx Associativity | |
GIx Arity | |
GIx CWchar | |
GIx CUShort | |
GIx CULong | |
GIx CULLong | |
GIx CUIntPtr | |
GIx CUIntMax | |
GIx CUInt | |
GIx CUChar | |
GIx CSize | |
GIx CSigAtomic | |
GIx CShort | |
GIx CSChar | |
GIx CPtrdiff | |
GIx CLong | |
GIx CLLong | |
GIx CIntPtr | |
GIx CIntMax | |
GIx WordPtr | |
GIx IntPtr | |
GIx CMode | |
GIx Fd | |
GIx CUid | |
GIx CTcflag | |
GIx CSsize | |
GIx CRLim | |
GIx CPid | |
GIx COff | |
GIx CNlink | |
GIx CIno | |
GIx CGid | |
(Ord [a], GEq a, GEnum a, GIx a) => GIx [a] | |
(Ord (Maybe a), GEq a, GEnum a, GIx a) => GIx (Maybe a) | |
(Ord (Sum a), GEq a, GEnum a, GIx a) => GIx (Sum a) | |
(Ord (Product a), GEq a, GEnum a, GIx a) => GIx (Product a) | |
(Ord (Dual a), GEq a, GEnum a, GIx a) => GIx (Dual a) | |
(Ord (Last a), GEq a, GEnum a, GIx a) => GIx (Last a) | |
(Ord (First a), GEq a, GEnum a, GIx a) => GIx (First a) | |
(Ord (Either a b), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b) => GIx (Either a b) | |
(Ord (a, b), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b) => GIx (a, b) | |
(Ord (a, b, c), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c) => GIx (a, b, c) | |
(Ord (a, b, c, d), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c, GEq d, GEnum d, GIx d) => GIx (a, b, c, d) | |
(Ord (a, b, c, d, e), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c, GEq d, GEnum d, GIx d, GEq e, GEnum e, GIx e) => GIx (a, b, c, d, e) | |
(Ord (a, b, c, d, e, f), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c, GEq d, GEnum d, GIx d, GEq e, GEnum e, GIx e, GEq f, GEnum f, GIx f) => GIx (a, b, c, d, e, f) | |
(Ord (a, b, c, d, e, f, g), GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c, GEq d, GEnum d, GIx d, GEq e, GEnum e, GIx e, GEq f, GEnum f, GIx f, GEq g, GEnum g, GIx g) => GIx (a, b, c, d, e, f, g) |
Default definitions for GIx
rangeDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> [a]
indexDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> a -> Int
inRangeDefault :: (GEq a, Generic a, Enum' (Rep a)) => (a, a) -> a -> Bool