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

Safe HaskellTrustworthy
LanguageHaskell98

Generics.Deriving.Enum

Contents

Synopsis

Generic enum class

class GEnum a where

Minimal complete definition

Nothing

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 Natural 
GEnum CDev 
GEnum CIno 
GEnum CMode 
GEnum COff 
GEnum CPid 
GEnum CSsize 
GEnum CGid 
GEnum CNlink 
GEnum CUid 
GEnum CCc 
GEnum CSpeed 
GEnum CTcflag 
GEnum CRLim 
GEnum Fd 
GEnum ExitCode 
GEnum WordPtr 
GEnum IntPtr 
GEnum CChar 
GEnum CSChar 
GEnum CUChar 
GEnum CShort 
GEnum CUShort 
GEnum CInt 
GEnum CUInt 
GEnum CLong 
GEnum CULong 
GEnum CLLong 
GEnum CULLong 
GEnum CFloat 
GEnum CDouble 
GEnum CPtrdiff 
GEnum CSize 
GEnum CWchar 
GEnum CSigAtomic 
GEnum CClock 
GEnum CTime 
GEnum CUSeconds 
GEnum CSUSeconds 
GEnum CIntPtr 
GEnum CUIntPtr 
GEnum CIntMax 
GEnum CUIntMax 
GEnum All 
GEnum Any 
GEnum Arity 
GEnum Fixity 
GEnum Associativity 
GEnum a => GEnum [a] 
GEnum (U1 p) 
GEnum p => GEnum (Par1 p) 
GEnum a => GEnum (Identity a) 
GEnum a => GEnum (Complex a) 
GEnum a => GEnum (ZipList a) 
GEnum a => GEnum (Dual a) 
GEnum a => GEnum (Sum a) 
GEnum a => GEnum (Product a) 
GEnum a => GEnum (First a) 
GEnum a => GEnum (Last a) 
GEnum a => GEnum (Maybe 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 (Proxy * s) 
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 a) => GEnum (Alt k f a) 
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

Generic Ix class

class Ord a => GIx a where

Minimal complete definition

Nothing

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 Natural 
GIx CIno 
GIx CMode 
GIx COff 
GIx CPid 
GIx CSsize 
GIx CGid 
GIx CNlink 
GIx CUid 
GIx CTcflag 
GIx CRLim 
GIx Fd 
GIx ExitCode 
GIx WordPtr 
GIx IntPtr 
GIx CChar 
GIx CSChar 
GIx CUChar 
GIx CShort 
GIx CUShort 
GIx CInt 
GIx CUInt 
GIx CLong 
GIx CULong 
GIx CLLong 
GIx CULLong 
GIx CPtrdiff 
GIx CSize 
GIx CWchar 
GIx CSigAtomic 
GIx CIntPtr 
GIx CUIntPtr 
GIx CIntMax 
GIx CUIntMax 
GIx All 
GIx Any 
GIx Arity 
GIx Fixity 
GIx Associativity 
(GEq a, GEnum a, GIx a) => GIx [a] 
(GEq a, GEnum a, GIx a) => GIx (Identity a) 
(GEq a, GEnum a, GIx a) => GIx (Dual a) 
(GEq a, GEnum a, GIx a) => GIx (Sum a) 
(GEq a, GEnum a, GIx a) => GIx (Product a) 
(GEq a, GEnum a, GIx a) => GIx (First a) 
(GEq a, GEnum a, GIx a) => GIx (Last a) 
(GEq a, GEnum a, GIx a) => GIx (Maybe a) 
(GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b) => GIx (Either a b) 
(GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b) => GIx (a, b) 
GIx (Proxy * s) 
(GEq a, GEnum a, GIx a, GEq b, GEnum b, GIx b, GEq c, GEnum c, GIx c) => GIx (a, b, c) 
(GEq (f a), GEnum (f a), GIx (f a)) => GIx (Alt k f a) 
(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) 
(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) 
(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) 
(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