{-# language CPP #-}
-- No documentation found for Chapter "DescriptorUpdateTemplateCreateFlags"
module Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags  (DescriptorUpdateTemplateCreateFlags(..)) where

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
-- | VkDescriptorUpdateTemplateCreateFlags - Reserved for future use
--
-- = Description
--
-- 'DescriptorUpdateTemplateCreateFlags' is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
-- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo'
newtype DescriptorUpdateTemplateCreateFlags = DescriptorUpdateTemplateCreateFlags Flags
  deriving newtype (DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
(DescriptorUpdateTemplateCreateFlags
 -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> Eq DescriptorUpdateTemplateCreateFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c/= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
== :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c== :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
Eq, Eq DescriptorUpdateTemplateCreateFlags
Eq DescriptorUpdateTemplateCreateFlags
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Ordering)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> Ord DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Ordering
DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
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 :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$cmin :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
max :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$cmax :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
>= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c>= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
> :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c> :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
<= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c<= :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
< :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
$c< :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Bool
compare :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Ordering
$ccompare :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> Ordering
Ord, Ptr DescriptorUpdateTemplateCreateFlags
-> IO DescriptorUpdateTemplateCreateFlags
Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> IO DescriptorUpdateTemplateCreateFlags
Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags -> IO ()
Ptr DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> IO ()
DescriptorUpdateTemplateCreateFlags -> Int
(DescriptorUpdateTemplateCreateFlags -> Int)
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> (Ptr DescriptorUpdateTemplateCreateFlags
    -> Int -> IO DescriptorUpdateTemplateCreateFlags)
-> (Ptr DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags -> IO ())
-> (forall b.
    Ptr b -> Int -> IO DescriptorUpdateTemplateCreateFlags)
-> (forall b.
    Ptr b -> Int -> DescriptorUpdateTemplateCreateFlags -> IO ())
-> (Ptr DescriptorUpdateTemplateCreateFlags
    -> IO DescriptorUpdateTemplateCreateFlags)
-> (Ptr DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags -> IO ())
-> Storable DescriptorUpdateTemplateCreateFlags
forall b. Ptr b -> Int -> IO DescriptorUpdateTemplateCreateFlags
forall b.
Ptr b -> Int -> DescriptorUpdateTemplateCreateFlags -> 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
poke :: Ptr DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> IO ()
$cpoke :: Ptr DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags -> IO ()
peek :: Ptr DescriptorUpdateTemplateCreateFlags
-> IO DescriptorUpdateTemplateCreateFlags
$cpeek :: Ptr DescriptorUpdateTemplateCreateFlags
-> IO DescriptorUpdateTemplateCreateFlags
pokeByteOff :: forall b.
Ptr b -> Int -> DescriptorUpdateTemplateCreateFlags -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DescriptorUpdateTemplateCreateFlags -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO DescriptorUpdateTemplateCreateFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DescriptorUpdateTemplateCreateFlags
pokeElemOff :: Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags -> IO ()
$cpokeElemOff :: Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags -> IO ()
peekElemOff :: Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> IO DescriptorUpdateTemplateCreateFlags
$cpeekElemOff :: Ptr DescriptorUpdateTemplateCreateFlags
-> Int -> IO DescriptorUpdateTemplateCreateFlags
alignment :: DescriptorUpdateTemplateCreateFlags -> Int
$calignment :: DescriptorUpdateTemplateCreateFlags -> Int
sizeOf :: DescriptorUpdateTemplateCreateFlags -> Int
$csizeOf :: DescriptorUpdateTemplateCreateFlags -> Int
Storable, DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags
-> Zero DescriptorUpdateTemplateCreateFlags
forall a. a -> Zero a
zero :: DescriptorUpdateTemplateCreateFlags
$czero :: DescriptorUpdateTemplateCreateFlags
Zero, Eq DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags
Eq DescriptorUpdateTemplateCreateFlags
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> DescriptorUpdateTemplateCreateFlags
-> (Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags -> Int -> Bool)
-> (DescriptorUpdateTemplateCreateFlags -> Maybe Int)
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> (DescriptorUpdateTemplateCreateFlags -> Bool)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags
    -> Int -> DescriptorUpdateTemplateCreateFlags)
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> Bits DescriptorUpdateTemplateCreateFlags
Int -> DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags -> Bool
DescriptorUpdateTemplateCreateFlags -> Int
DescriptorUpdateTemplateCreateFlags -> Maybe Int
DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags -> Int -> Bool
DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
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
popCount :: DescriptorUpdateTemplateCreateFlags -> Int
$cpopCount :: DescriptorUpdateTemplateCreateFlags -> Int
rotateR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$crotateR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
rotateL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$crotateL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
unsafeShiftR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cunsafeShiftR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
shiftR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cshiftR :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
unsafeShiftL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cunsafeShiftL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
shiftL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cshiftL :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
isSigned :: DescriptorUpdateTemplateCreateFlags -> Bool
$cisSigned :: DescriptorUpdateTemplateCreateFlags -> Bool
bitSize :: DescriptorUpdateTemplateCreateFlags -> Int
$cbitSize :: DescriptorUpdateTemplateCreateFlags -> Int
bitSizeMaybe :: DescriptorUpdateTemplateCreateFlags -> Maybe Int
$cbitSizeMaybe :: DescriptorUpdateTemplateCreateFlags -> Maybe Int
testBit :: DescriptorUpdateTemplateCreateFlags -> Int -> Bool
$ctestBit :: DescriptorUpdateTemplateCreateFlags -> Int -> Bool
complementBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$ccomplementBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
clearBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cclearBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
setBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$csetBit :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
bit :: Int -> DescriptorUpdateTemplateCreateFlags
$cbit :: Int -> DescriptorUpdateTemplateCreateFlags
zeroBits :: DescriptorUpdateTemplateCreateFlags
$czeroBits :: DescriptorUpdateTemplateCreateFlags
rotate :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$crotate :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
shift :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
$cshift :: DescriptorUpdateTemplateCreateFlags
-> Int -> DescriptorUpdateTemplateCreateFlags
complement :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$ccomplement :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
xor :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$cxor :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
.|. :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$c.|. :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
.&. :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
$c.&. :: DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
-> DescriptorUpdateTemplateCreateFlags
Bits, Bits DescriptorUpdateTemplateCreateFlags
Bits DescriptorUpdateTemplateCreateFlags
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> (DescriptorUpdateTemplateCreateFlags -> Int)
-> FiniteBits DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DescriptorUpdateTemplateCreateFlags -> Int
$ccountTrailingZeros :: DescriptorUpdateTemplateCreateFlags -> Int
countLeadingZeros :: DescriptorUpdateTemplateCreateFlags -> Int
$ccountLeadingZeros :: DescriptorUpdateTemplateCreateFlags -> Int
finiteBitSize :: DescriptorUpdateTemplateCreateFlags -> Int
$cfiniteBitSize :: DescriptorUpdateTemplateCreateFlags -> Int
FiniteBits)

conNameDescriptorUpdateTemplateCreateFlags :: String
conNameDescriptorUpdateTemplateCreateFlags :: String
conNameDescriptorUpdateTemplateCreateFlags = String
"DescriptorUpdateTemplateCreateFlags"

enumPrefixDescriptorUpdateTemplateCreateFlags :: String
enumPrefixDescriptorUpdateTemplateCreateFlags :: String
enumPrefixDescriptorUpdateTemplateCreateFlags = String
""

showTableDescriptorUpdateTemplateCreateFlags :: [(DescriptorUpdateTemplateCreateFlags, String)]
showTableDescriptorUpdateTemplateCreateFlags :: [(DescriptorUpdateTemplateCreateFlags, String)]
showTableDescriptorUpdateTemplateCreateFlags = []

instance Show DescriptorUpdateTemplateCreateFlags where
  showsPrec :: Int -> DescriptorUpdateTemplateCreateFlags -> ShowS
showsPrec =
    String
-> [(DescriptorUpdateTemplateCreateFlags, String)]
-> String
-> (DescriptorUpdateTemplateCreateFlags -> Flags)
-> (Flags -> ShowS)
-> Int
-> DescriptorUpdateTemplateCreateFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixDescriptorUpdateTemplateCreateFlags
      [(DescriptorUpdateTemplateCreateFlags, String)]
showTableDescriptorUpdateTemplateCreateFlags
      String
conNameDescriptorUpdateTemplateCreateFlags
      (\(DescriptorUpdateTemplateCreateFlags Flags
x) -> Flags
x)
      (\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

instance Read DescriptorUpdateTemplateCreateFlags where
  readPrec :: ReadPrec DescriptorUpdateTemplateCreateFlags
readPrec =
    String
-> [(DescriptorUpdateTemplateCreateFlags, String)]
-> String
-> (Flags -> DescriptorUpdateTemplateCreateFlags)
-> ReadPrec DescriptorUpdateTemplateCreateFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixDescriptorUpdateTemplateCreateFlags
      [(DescriptorUpdateTemplateCreateFlags, String)]
showTableDescriptorUpdateTemplateCreateFlags
      String
conNameDescriptorUpdateTemplateCreateFlags
      Flags -> DescriptorUpdateTemplateCreateFlags
DescriptorUpdateTemplateCreateFlags