generic-deriving-1.12.2: Generic programming library for generalised deriving.

Safe HaskellTrustworthy

Generics.Deriving.Enum

Contents

Synopsis

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

class Enum' f where

Methods

enum' :: [f a]

Instances

Enum' * U1 
GEnum c => Enum' * (K1 i c) 
(Enum' * f, Enum' * g) => Enum' * (:+: f g) 
(Enum' * f, Enum' * g) => Enum' * (:*: f g) 
Enum' * f => Enum' * (M1 i c f) 

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