{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TypeSynonymInstances #-} module Data.SpirV.Enum.SourceLanguage where import Data.Word (Word32) import Foreign.Storable (Storable) newtype SourceLanguage = SourceLanguage Word32 deriving newtype (SourceLanguage -> SourceLanguage -> Bool (SourceLanguage -> SourceLanguage -> Bool) -> (SourceLanguage -> SourceLanguage -> Bool) -> Eq SourceLanguage forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: SourceLanguage -> SourceLanguage -> Bool == :: SourceLanguage -> SourceLanguage -> Bool $c/= :: SourceLanguage -> SourceLanguage -> Bool /= :: SourceLanguage -> SourceLanguage -> Bool Eq, Eq SourceLanguage Eq SourceLanguage => (SourceLanguage -> SourceLanguage -> Ordering) -> (SourceLanguage -> SourceLanguage -> Bool) -> (SourceLanguage -> SourceLanguage -> Bool) -> (SourceLanguage -> SourceLanguage -> Bool) -> (SourceLanguage -> SourceLanguage -> Bool) -> (SourceLanguage -> SourceLanguage -> SourceLanguage) -> (SourceLanguage -> SourceLanguage -> SourceLanguage) -> Ord SourceLanguage SourceLanguage -> SourceLanguage -> Bool SourceLanguage -> SourceLanguage -> Ordering SourceLanguage -> SourceLanguage -> SourceLanguage forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: SourceLanguage -> SourceLanguage -> Ordering compare :: SourceLanguage -> SourceLanguage -> Ordering $c< :: SourceLanguage -> SourceLanguage -> Bool < :: SourceLanguage -> SourceLanguage -> Bool $c<= :: SourceLanguage -> SourceLanguage -> Bool <= :: SourceLanguage -> SourceLanguage -> Bool $c> :: SourceLanguage -> SourceLanguage -> Bool > :: SourceLanguage -> SourceLanguage -> Bool $c>= :: SourceLanguage -> SourceLanguage -> Bool >= :: SourceLanguage -> SourceLanguage -> Bool $cmax :: SourceLanguage -> SourceLanguage -> SourceLanguage max :: SourceLanguage -> SourceLanguage -> SourceLanguage $cmin :: SourceLanguage -> SourceLanguage -> SourceLanguage min :: SourceLanguage -> SourceLanguage -> SourceLanguage Ord, Ptr SourceLanguage -> IO SourceLanguage Ptr SourceLanguage -> Int -> IO SourceLanguage Ptr SourceLanguage -> Int -> SourceLanguage -> IO () Ptr SourceLanguage -> SourceLanguage -> IO () SourceLanguage -> Int (SourceLanguage -> Int) -> (SourceLanguage -> Int) -> (Ptr SourceLanguage -> Int -> IO SourceLanguage) -> (Ptr SourceLanguage -> Int -> SourceLanguage -> IO ()) -> (forall b. Ptr b -> Int -> IO SourceLanguage) -> (forall b. Ptr b -> Int -> SourceLanguage -> IO ()) -> (Ptr SourceLanguage -> IO SourceLanguage) -> (Ptr SourceLanguage -> SourceLanguage -> IO ()) -> Storable SourceLanguage forall b. Ptr b -> Int -> IO SourceLanguage forall b. Ptr b -> Int -> SourceLanguage -> IO () forall a. (a -> Int) -> (a -> Int) -> (Ptr a -> Int -> IO a) -> (Ptr a -> Int -> a -> IO ()) -> (forall b. Ptr b -> Int -> IO a) -> (forall b. Ptr b -> Int -> a -> IO ()) -> (Ptr a -> IO a) -> (Ptr a -> a -> IO ()) -> Storable a $csizeOf :: SourceLanguage -> Int sizeOf :: SourceLanguage -> Int $calignment :: SourceLanguage -> Int alignment :: SourceLanguage -> Int $cpeekElemOff :: Ptr SourceLanguage -> Int -> IO SourceLanguage peekElemOff :: Ptr SourceLanguage -> Int -> IO SourceLanguage $cpokeElemOff :: Ptr SourceLanguage -> Int -> SourceLanguage -> IO () pokeElemOff :: Ptr SourceLanguage -> Int -> SourceLanguage -> IO () $cpeekByteOff :: forall b. Ptr b -> Int -> IO SourceLanguage peekByteOff :: forall b. Ptr b -> Int -> IO SourceLanguage $cpokeByteOff :: forall b. Ptr b -> Int -> SourceLanguage -> IO () pokeByteOff :: forall b. Ptr b -> Int -> SourceLanguage -> IO () $cpeek :: Ptr SourceLanguage -> IO SourceLanguage peek :: Ptr SourceLanguage -> IO SourceLanguage $cpoke :: Ptr SourceLanguage -> SourceLanguage -> IO () poke :: Ptr SourceLanguage -> SourceLanguage -> IO () Storable) instance Show SourceLanguage where showsPrec :: Int -> SourceLanguage -> ShowS showsPrec Int p (SourceLanguage Word32 v) = case Word32 v of Word32 0 -> String -> ShowS showString String "Unknown" Word32 1 -> String -> ShowS showString String "ESSL" Word32 2 -> String -> ShowS showString String "GLSL" Word32 3 -> String -> ShowS showString String "OpenCL_C" Word32 4 -> String -> ShowS showString String "OpenCL_CPP" Word32 5 -> String -> ShowS showString String "HLSL" Word32 6 -> String -> ShowS showString String "CPP_for_OpenCL" Word32 7 -> String -> ShowS showString String "SYCL" Word32 8 -> String -> ShowS showString String "HERO_C" Word32 9 -> String -> ShowS showString String "NZSL" Word32 10 -> String -> ShowS showString String "WGSL" Word32 11 -> String -> ShowS showString String "Slang" Word32 12 -> String -> ShowS showString String "Zig" Word32 x -> Bool -> ShowS -> ShowS showParen (Int p Int -> Int -> Bool forall a. Ord a => a -> a -> Bool > Int 10) (ShowS -> ShowS) -> ShowS -> ShowS forall a b. (a -> b) -> a -> b $ String -> ShowS showString String "SourceLanguage " ShowS -> ShowS -> ShowS forall b c a. (b -> c) -> (a -> b) -> a -> c . Int -> Word32 -> ShowS forall a. Show a => Int -> a -> ShowS showsPrec (Int p Int -> Int -> Int forall a. Num a => a -> a -> a + Int 1) Word32 x pattern Unknown :: SourceLanguage pattern $mUnknown :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bUnknown :: SourceLanguage Unknown = SourceLanguage 0 pattern ESSL :: SourceLanguage pattern $mESSL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bESSL :: SourceLanguage ESSL = SourceLanguage 1 pattern GLSL :: SourceLanguage pattern $mGLSL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bGLSL :: SourceLanguage GLSL = SourceLanguage 2 pattern OpenCL_C :: SourceLanguage pattern $mOpenCL_C :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bOpenCL_C :: SourceLanguage OpenCL_C = SourceLanguage 3 pattern OpenCL_CPP :: SourceLanguage pattern $mOpenCL_CPP :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bOpenCL_CPP :: SourceLanguage OpenCL_CPP = SourceLanguage 4 pattern HLSL :: SourceLanguage pattern $mHLSL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bHLSL :: SourceLanguage HLSL = SourceLanguage 5 pattern CPP_for_OpenCL :: SourceLanguage pattern $mCPP_for_OpenCL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bCPP_for_OpenCL :: SourceLanguage CPP_for_OpenCL = SourceLanguage 6 pattern SYCL :: SourceLanguage pattern $mSYCL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bSYCL :: SourceLanguage SYCL = SourceLanguage 7 pattern HERO_C :: SourceLanguage pattern $mHERO_C :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bHERO_C :: SourceLanguage HERO_C = SourceLanguage 8 pattern NZSL :: SourceLanguage pattern $mNZSL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bNZSL :: SourceLanguage NZSL = SourceLanguage 9 pattern WGSL :: SourceLanguage pattern $mWGSL :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bWGSL :: SourceLanguage WGSL = SourceLanguage 10 pattern Slang :: SourceLanguage pattern $mSlang :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bSlang :: SourceLanguage Slang = SourceLanguage 11 pattern Zig :: SourceLanguage pattern $mZig :: forall {r}. SourceLanguage -> ((# #) -> r) -> ((# #) -> r) -> r $bZig :: SourceLanguage Zig = SourceLanguage 12