module Data.SpirV.Reflect.Enums.SpirvStorageClass where

import Data.SpirV.Reflect.Enums.Common

newtype StorageClass = StorageClass Int32
  deriving newtype (StorageClass -> StorageClass -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StorageClass -> StorageClass -> Bool
$c/= :: StorageClass -> StorageClass -> Bool
== :: StorageClass -> StorageClass -> Bool
$c== :: StorageClass -> StorageClass -> Bool
Eq, Eq StorageClass
StorageClass -> StorageClass -> Bool
StorageClass -> StorageClass -> Ordering
StorageClass -> StorageClass -> StorageClass
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
min :: StorageClass -> StorageClass -> StorageClass
$cmin :: StorageClass -> StorageClass -> StorageClass
max :: StorageClass -> StorageClass -> StorageClass
$cmax :: StorageClass -> StorageClass -> StorageClass
>= :: StorageClass -> StorageClass -> Bool
$c>= :: StorageClass -> StorageClass -> Bool
> :: StorageClass -> StorageClass -> Bool
$c> :: StorageClass -> StorageClass -> Bool
<= :: StorageClass -> StorageClass -> Bool
$c<= :: StorageClass -> StorageClass -> Bool
< :: StorageClass -> StorageClass -> Bool
$c< :: StorageClass -> StorageClass -> Bool
compare :: StorageClass -> StorageClass -> Ordering
$ccompare :: StorageClass -> StorageClass -> Ordering
Ord, Int -> StorageClass -> ShowS
[StorageClass] -> ShowS
StorageClass -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StorageClass] -> ShowS
$cshowList :: [StorageClass] -> ShowS
show :: StorageClass -> String
$cshow :: StorageClass -> String
showsPrec :: Int -> StorageClass -> ShowS
$cshowsPrec :: Int -> StorageClass -> ShowS
Show, Int -> StorageClass
StorageClass -> Int
StorageClass -> [StorageClass]
StorageClass -> StorageClass
StorageClass -> StorageClass -> [StorageClass]
StorageClass -> StorageClass -> StorageClass -> [StorageClass]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: StorageClass -> StorageClass -> StorageClass -> [StorageClass]
$cenumFromThenTo :: StorageClass -> StorageClass -> StorageClass -> [StorageClass]
enumFromTo :: StorageClass -> StorageClass -> [StorageClass]
$cenumFromTo :: StorageClass -> StorageClass -> [StorageClass]
enumFromThen :: StorageClass -> StorageClass -> [StorageClass]
$cenumFromThen :: StorageClass -> StorageClass -> [StorageClass]
enumFrom :: StorageClass -> [StorageClass]
$cenumFrom :: StorageClass -> [StorageClass]
fromEnum :: StorageClass -> Int
$cfromEnum :: StorageClass -> Int
toEnum :: Int -> StorageClass
$ctoEnum :: Int -> StorageClass
pred :: StorageClass -> StorageClass
$cpred :: StorageClass -> StorageClass
succ :: StorageClass -> StorageClass
$csucc :: StorageClass -> StorageClass
Enum, StorageClass
forall a. a -> a -> Bounded a
maxBound :: StorageClass
$cmaxBound :: StorageClass
minBound :: StorageClass
$cminBound :: StorageClass
Bounded)

pattern StorageClassUniformConstant :: StorageClass
pattern $bStorageClassUniformConstant :: StorageClass
$mStorageClassUniformConstant :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassUniformConstant = StorageClass 0

pattern StorageClassInput :: StorageClass
pattern $bStorageClassInput :: StorageClass
$mStorageClassInput :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassInput = StorageClass 1

pattern StorageClassUniform :: StorageClass
pattern $bStorageClassUniform :: StorageClass
$mStorageClassUniform :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassUniform = StorageClass 2

pattern StorageClassOutput :: StorageClass
pattern $bStorageClassOutput :: StorageClass
$mStorageClassOutput :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassOutput = StorageClass 3

pattern StorageClassWorkgroup :: StorageClass
pattern $bStorageClassWorkgroup :: StorageClass
$mStorageClassWorkgroup :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassWorkgroup = StorageClass 4

pattern StorageClassCrossWorkgroup :: StorageClass
pattern $bStorageClassCrossWorkgroup :: StorageClass
$mStorageClassCrossWorkgroup :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassCrossWorkgroup = StorageClass 5

pattern StorageClassPrivate :: StorageClass
pattern $bStorageClassPrivate :: StorageClass
$mStorageClassPrivate :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassPrivate = StorageClass 6

pattern StorageClassFunction :: StorageClass
pattern $bStorageClassFunction :: StorageClass
$mStorageClassFunction :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassFunction = StorageClass 7

pattern StorageClassGeneric :: StorageClass
pattern $bStorageClassGeneric :: StorageClass
$mStorageClassGeneric :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassGeneric = StorageClass 8

pattern StorageClassPushConstant :: StorageClass
pattern $bStorageClassPushConstant :: StorageClass
$mStorageClassPushConstant :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassPushConstant = StorageClass 9

pattern StorageClassAtomicCounter :: StorageClass
pattern $bStorageClassAtomicCounter :: StorageClass
$mStorageClassAtomicCounter :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassAtomicCounter = StorageClass 10

pattern StorageClassImage :: StorageClass
pattern $bStorageClassImage :: StorageClass
$mStorageClassImage :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassImage = StorageClass 11

pattern StorageClassStorageBuffer :: StorageClass
pattern $bStorageClassStorageBuffer :: StorageClass
$mStorageClassStorageBuffer :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassStorageBuffer = StorageClass 12

pattern StorageClassCallableDataKHR :: StorageClass
pattern $bStorageClassCallableDataKHR :: StorageClass
$mStorageClassCallableDataKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassCallableDataKHR = StorageClass 5328

pattern StorageClassCallableDataNV :: StorageClass
pattern $bStorageClassCallableDataNV :: StorageClass
$mStorageClassCallableDataNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassCallableDataNV = StorageClass 5328

pattern StorageClassIncomingCallableDataKHR :: StorageClass
pattern $bStorageClassIncomingCallableDataKHR :: StorageClass
$mStorageClassIncomingCallableDataKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassIncomingCallableDataKHR = StorageClass 5329

pattern StorageClassIncomingCallableDataNV :: StorageClass
pattern $bStorageClassIncomingCallableDataNV :: StorageClass
$mStorageClassIncomingCallableDataNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassIncomingCallableDataNV = StorageClass 5329

pattern StorageClassRayPayloadKHR :: StorageClass
pattern $bStorageClassRayPayloadKHR :: StorageClass
$mStorageClassRayPayloadKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassRayPayloadKHR = StorageClass 5338

pattern StorageClassRayPayloadNV :: StorageClass
pattern $bStorageClassRayPayloadNV :: StorageClass
$mStorageClassRayPayloadNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassRayPayloadNV = StorageClass 5338

pattern StorageClassHitAttributeKHR :: StorageClass
pattern $bStorageClassHitAttributeKHR :: StorageClass
$mStorageClassHitAttributeKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassHitAttributeKHR = StorageClass 5339

pattern StorageClassHitAttributeNV :: StorageClass
pattern $bStorageClassHitAttributeNV :: StorageClass
$mStorageClassHitAttributeNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassHitAttributeNV = StorageClass 5339

pattern StorageClassIncomingRayPayloadKHR :: StorageClass
pattern $bStorageClassIncomingRayPayloadKHR :: StorageClass
$mStorageClassIncomingRayPayloadKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassIncomingRayPayloadKHR = StorageClass 5342

pattern StorageClassIncomingRayPayloadNV :: StorageClass
pattern $bStorageClassIncomingRayPayloadNV :: StorageClass
$mStorageClassIncomingRayPayloadNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassIncomingRayPayloadNV = StorageClass 5342

pattern StorageClassShaderRecordBufferKHR :: StorageClass
pattern $bStorageClassShaderRecordBufferKHR :: StorageClass
$mStorageClassShaderRecordBufferKHR :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassShaderRecordBufferKHR = StorageClass 5343

pattern StorageClassShaderRecordBufferNV :: StorageClass
pattern $bStorageClassShaderRecordBufferNV :: StorageClass
$mStorageClassShaderRecordBufferNV :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassShaderRecordBufferNV = StorageClass 5343

pattern StorageClassPhysicalStorageBuffer :: StorageClass
pattern $bStorageClassPhysicalStorageBuffer :: StorageClass
$mStorageClassPhysicalStorageBuffer :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassPhysicalStorageBuffer = StorageClass 5349

pattern StorageClassPhysicalStorageBufferEXT :: StorageClass
pattern $bStorageClassPhysicalStorageBufferEXT :: StorageClass
$mStorageClassPhysicalStorageBufferEXT :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassPhysicalStorageBufferEXT = StorageClass 5349

pattern StorageClassCodeSectionINTEL :: StorageClass
pattern $bStorageClassCodeSectionINTEL :: StorageClass
$mStorageClassCodeSectionINTEL :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassCodeSectionINTEL = StorageClass 5605

pattern StorageClassDeviceOnlyINTEL :: StorageClass
pattern $bStorageClassDeviceOnlyINTEL :: StorageClass
$mStorageClassDeviceOnlyINTEL :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassDeviceOnlyINTEL = StorageClass 5936

pattern StorageClassHostOnlyINTEL :: StorageClass
pattern $bStorageClassHostOnlyINTEL :: StorageClass
$mStorageClassHostOnlyINTEL :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassHostOnlyINTEL = StorageClass 5937

pattern StorageClassMax :: StorageClass
pattern $bStorageClassMax :: StorageClass
$mStorageClassMax :: forall {r}. StorageClass -> ((# #) -> r) -> ((# #) -> r) -> r
StorageClassMax = StorageClass 0x7fffffff