module Data.SpirV.Reflect.Enums.ResourceFlags where

import Data.SpirV.Reflect.Enums.Common

type ResourceFlags = ResourceFlagBits

newtype ResourceFlagBits = ResourceFlagBits Flags
  deriving newtype (ResourceFlagBits -> ResourceFlagBits -> Bool
(ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> Eq ResourceFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ResourceFlagBits -> ResourceFlagBits -> Bool
== :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c/= :: ResourceFlagBits -> ResourceFlagBits -> Bool
/= :: ResourceFlagBits -> ResourceFlagBits -> Bool
Eq, Eq ResourceFlagBits
Eq ResourceFlagBits =>
(ResourceFlagBits -> ResourceFlagBits -> Ordering)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> Ord ResourceFlagBits
ResourceFlagBits -> ResourceFlagBits -> Bool
ResourceFlagBits -> ResourceFlagBits -> Ordering
ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
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 :: ResourceFlagBits -> ResourceFlagBits -> Ordering
compare :: ResourceFlagBits -> ResourceFlagBits -> Ordering
$c< :: ResourceFlagBits -> ResourceFlagBits -> Bool
< :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c<= :: ResourceFlagBits -> ResourceFlagBits -> Bool
<= :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c> :: ResourceFlagBits -> ResourceFlagBits -> Bool
> :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c>= :: ResourceFlagBits -> ResourceFlagBits -> Bool
>= :: ResourceFlagBits -> ResourceFlagBits -> Bool
$cmax :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
max :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cmin :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
min :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
Ord, Int -> ResourceFlagBits -> ShowS
[ResourceFlagBits] -> ShowS
ResourceFlagBits -> String
(Int -> ResourceFlagBits -> ShowS)
-> (ResourceFlagBits -> String)
-> ([ResourceFlagBits] -> ShowS)
-> Show ResourceFlagBits
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ResourceFlagBits -> ShowS
showsPrec :: Int -> ResourceFlagBits -> ShowS
$cshow :: ResourceFlagBits -> String
show :: ResourceFlagBits -> String
$cshowList :: [ResourceFlagBits] -> ShowS
showList :: [ResourceFlagBits] -> ShowS
Show, Eq ResourceFlagBits
ResourceFlagBits
Eq ResourceFlagBits =>
(ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> ResourceFlagBits
-> (Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> Bool)
-> (ResourceFlagBits -> Maybe Int)
-> (ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int)
-> Bits ResourceFlagBits
Int -> ResourceFlagBits
ResourceFlagBits -> Bool
ResourceFlagBits -> Int
ResourceFlagBits -> Maybe Int
ResourceFlagBits -> ResourceFlagBits
ResourceFlagBits -> Int -> Bool
ResourceFlagBits -> Int -> ResourceFlagBits
ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
.&. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$c.|. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
.|. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cxor :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
xor :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$ccomplement :: ResourceFlagBits -> ResourceFlagBits
complement :: ResourceFlagBits -> ResourceFlagBits
$cshift :: ResourceFlagBits -> Int -> ResourceFlagBits
shift :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotate :: ResourceFlagBits -> Int -> ResourceFlagBits
rotate :: ResourceFlagBits -> Int -> ResourceFlagBits
$czeroBits :: ResourceFlagBits
zeroBits :: ResourceFlagBits
$cbit :: Int -> ResourceFlagBits
bit :: Int -> ResourceFlagBits
$csetBit :: ResourceFlagBits -> Int -> ResourceFlagBits
setBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$cclearBit :: ResourceFlagBits -> Int -> ResourceFlagBits
clearBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$ccomplementBit :: ResourceFlagBits -> Int -> ResourceFlagBits
complementBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$ctestBit :: ResourceFlagBits -> Int -> Bool
testBit :: ResourceFlagBits -> Int -> Bool
$cbitSizeMaybe :: ResourceFlagBits -> Maybe Int
bitSizeMaybe :: ResourceFlagBits -> Maybe Int
$cbitSize :: ResourceFlagBits -> Int
bitSize :: ResourceFlagBits -> Int
$cisSigned :: ResourceFlagBits -> Bool
isSigned :: ResourceFlagBits -> Bool
$cshiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
shiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
$cunsafeShiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
unsafeShiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
$cshiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
shiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
$cunsafeShiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
unsafeShiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotateL :: ResourceFlagBits -> Int -> ResourceFlagBits
rotateL :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotateR :: ResourceFlagBits -> Int -> ResourceFlagBits
rotateR :: ResourceFlagBits -> Int -> ResourceFlagBits
$cpopCount :: ResourceFlagBits -> Int
popCount :: ResourceFlagBits -> Int
Bits, Bits ResourceFlagBits
Bits ResourceFlagBits =>
(ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Int)
-> FiniteBits ResourceFlagBits
ResourceFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: ResourceFlagBits -> Int
finiteBitSize :: ResourceFlagBits -> Int
$ccountLeadingZeros :: ResourceFlagBits -> Int
countLeadingZeros :: ResourceFlagBits -> Int
$ccountTrailingZeros :: ResourceFlagBits -> Int
countTrailingZeros :: ResourceFlagBits -> Int
FiniteBits)

pattern RESOURCE_FLAG_UNDEFINED :: ResourceFlagBits
pattern $mRESOURCE_FLAG_UNDEFINED :: forall {r}. ResourceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOURCE_FLAG_UNDEFINED :: ResourceFlagBits
RESOURCE_FLAG_UNDEFINED = ResourceFlagBits 0x00000000

pattern RESOURCE_FLAG_SAMPLER :: ResourceFlagBits
pattern $mRESOURCE_FLAG_SAMPLER :: forall {r}. ResourceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOURCE_FLAG_SAMPLER :: ResourceFlagBits
RESOURCE_FLAG_SAMPLER = ResourceFlagBits 0x00000001

pattern RESOURCE_FLAG_CBV :: ResourceFlagBits
pattern $mRESOURCE_FLAG_CBV :: forall {r}. ResourceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOURCE_FLAG_CBV :: ResourceFlagBits
RESOURCE_FLAG_CBV = ResourceFlagBits 0x00000002

pattern RESOURCE_FLAG_SRV :: ResourceFlagBits
pattern $mRESOURCE_FLAG_SRV :: forall {r}. ResourceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOURCE_FLAG_SRV :: ResourceFlagBits
RESOURCE_FLAG_SRV = ResourceFlagBits 0x00000004

pattern RESOURCE_FLAG_UAV :: ResourceFlagBits
pattern $mRESOURCE_FLAG_UAV :: forall {r}. ResourceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOURCE_FLAG_UAV :: ResourceFlagBits
RESOURCE_FLAG_UAV = ResourceFlagBits 0x00000008