{-# language CPP #-}
module Vulkan.Core10.Enums.DescriptorPoolResetFlags  (DescriptorPoolResetFlags(..)) where

import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Zero (Zero)
-- | VkDescriptorPoolResetFlags - Reserved for future use
--
-- = Description
--
-- 'DescriptorPoolResetFlags' is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- = See Also
--
-- 'Vulkan.Core10.DescriptorSet.resetDescriptorPool'
newtype DescriptorPoolResetFlags = DescriptorPoolResetFlags Flags
  deriving newtype (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
(DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> Eq DescriptorPoolResetFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c/= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
== :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c== :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
Eq, Eq DescriptorPoolResetFlags
Eq DescriptorPoolResetFlags =>
(DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Ordering)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags
    -> DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags
    -> DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> Ord DescriptorPoolResetFlags
DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Ordering
DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
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 :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$cmin :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
max :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$cmax :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
>= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c>= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
> :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c> :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
<= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c<= :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
< :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
$c< :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Bool
compare :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Ordering
$ccompare :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> Ordering
$cp1Ord :: Eq DescriptorPoolResetFlags
Ord, Ptr b -> Int -> IO DescriptorPoolResetFlags
Ptr b -> Int -> DescriptorPoolResetFlags -> IO ()
Ptr DescriptorPoolResetFlags -> IO DescriptorPoolResetFlags
Ptr DescriptorPoolResetFlags -> Int -> IO DescriptorPoolResetFlags
Ptr DescriptorPoolResetFlags
-> Int -> DescriptorPoolResetFlags -> IO ()
Ptr DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> IO ()
DescriptorPoolResetFlags -> Int
(DescriptorPoolResetFlags -> Int)
-> (DescriptorPoolResetFlags -> Int)
-> (Ptr DescriptorPoolResetFlags
    -> Int -> IO DescriptorPoolResetFlags)
-> (Ptr DescriptorPoolResetFlags
    -> Int -> DescriptorPoolResetFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO DescriptorPoolResetFlags)
-> (forall b. Ptr b -> Int -> DescriptorPoolResetFlags -> IO ())
-> (Ptr DescriptorPoolResetFlags -> IO DescriptorPoolResetFlags)
-> (Ptr DescriptorPoolResetFlags
    -> DescriptorPoolResetFlags -> IO ())
-> Storable DescriptorPoolResetFlags
forall b. Ptr b -> Int -> IO DescriptorPoolResetFlags
forall b. Ptr b -> Int -> DescriptorPoolResetFlags -> 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 DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> IO ()
$cpoke :: Ptr DescriptorPoolResetFlags -> DescriptorPoolResetFlags -> IO ()
peek :: Ptr DescriptorPoolResetFlags -> IO DescriptorPoolResetFlags
$cpeek :: Ptr DescriptorPoolResetFlags -> IO DescriptorPoolResetFlags
pokeByteOff :: Ptr b -> Int -> DescriptorPoolResetFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DescriptorPoolResetFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO DescriptorPoolResetFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DescriptorPoolResetFlags
pokeElemOff :: Ptr DescriptorPoolResetFlags
-> Int -> DescriptorPoolResetFlags -> IO ()
$cpokeElemOff :: Ptr DescriptorPoolResetFlags
-> Int -> DescriptorPoolResetFlags -> IO ()
peekElemOff :: Ptr DescriptorPoolResetFlags -> Int -> IO DescriptorPoolResetFlags
$cpeekElemOff :: Ptr DescriptorPoolResetFlags -> Int -> IO DescriptorPoolResetFlags
alignment :: DescriptorPoolResetFlags -> Int
$calignment :: DescriptorPoolResetFlags -> Int
sizeOf :: DescriptorPoolResetFlags -> Int
$csizeOf :: DescriptorPoolResetFlags -> Int
Storable, DescriptorPoolResetFlags
DescriptorPoolResetFlags -> Zero DescriptorPoolResetFlags
forall a. a -> Zero a
zero :: DescriptorPoolResetFlags
$czero :: DescriptorPoolResetFlags
Zero, Eq DescriptorPoolResetFlags
DescriptorPoolResetFlags
Eq DescriptorPoolResetFlags =>
(DescriptorPoolResetFlags
 -> DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags
    -> DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags
    -> DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> DescriptorPoolResetFlags
-> (Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> Bool)
-> (DescriptorPoolResetFlags -> Maybe Int)
-> (DescriptorPoolResetFlags -> Int)
-> (DescriptorPoolResetFlags -> Bool)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags)
-> (DescriptorPoolResetFlags -> Int)
-> Bits DescriptorPoolResetFlags
Int -> DescriptorPoolResetFlags
DescriptorPoolResetFlags -> Bool
DescriptorPoolResetFlags -> Int
DescriptorPoolResetFlags -> Maybe Int
DescriptorPoolResetFlags -> DescriptorPoolResetFlags
DescriptorPoolResetFlags -> Int -> Bool
DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
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 :: DescriptorPoolResetFlags -> Int
$cpopCount :: DescriptorPoolResetFlags -> Int
rotateR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$crotateR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
rotateL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$crotateL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
unsafeShiftR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cunsafeShiftR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
shiftR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cshiftR :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
unsafeShiftL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cunsafeShiftL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
shiftL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cshiftL :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
isSigned :: DescriptorPoolResetFlags -> Bool
$cisSigned :: DescriptorPoolResetFlags -> Bool
bitSize :: DescriptorPoolResetFlags -> Int
$cbitSize :: DescriptorPoolResetFlags -> Int
bitSizeMaybe :: DescriptorPoolResetFlags -> Maybe Int
$cbitSizeMaybe :: DescriptorPoolResetFlags -> Maybe Int
testBit :: DescriptorPoolResetFlags -> Int -> Bool
$ctestBit :: DescriptorPoolResetFlags -> Int -> Bool
complementBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$ccomplementBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
clearBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cclearBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
setBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$csetBit :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
bit :: Int -> DescriptorPoolResetFlags
$cbit :: Int -> DescriptorPoolResetFlags
zeroBits :: DescriptorPoolResetFlags
$czeroBits :: DescriptorPoolResetFlags
rotate :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$crotate :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
shift :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
$cshift :: DescriptorPoolResetFlags -> Int -> DescriptorPoolResetFlags
complement :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$ccomplement :: DescriptorPoolResetFlags -> DescriptorPoolResetFlags
xor :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$cxor :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
.|. :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$c.|. :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
.&. :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$c.&. :: DescriptorPoolResetFlags
-> DescriptorPoolResetFlags -> DescriptorPoolResetFlags
$cp1Bits :: Eq DescriptorPoolResetFlags
Bits)



instance Show DescriptorPoolResetFlags where
  showsPrec :: Int -> DescriptorPoolResetFlags -> ShowS
showsPrec p :: Int
p = \case
    DescriptorPoolResetFlags x :: Flags
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "DescriptorPoolResetFlags 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 DescriptorPoolResetFlags where
  readPrec :: ReadPrec DescriptorPoolResetFlags
readPrec = ReadPrec DescriptorPoolResetFlags
-> ReadPrec DescriptorPoolResetFlags
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec DescriptorPoolResetFlags)]
-> ReadPrec DescriptorPoolResetFlags
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose []
                     ReadPrec DescriptorPoolResetFlags
-> ReadPrec DescriptorPoolResetFlags
-> ReadPrec DescriptorPoolResetFlags
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                     Int
-> ReadPrec DescriptorPoolResetFlags
-> ReadPrec DescriptorPoolResetFlags
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
                       Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "DescriptorPoolResetFlags")
                       Flags
v <- ReadPrec Flags -> ReadPrec Flags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Flags
forall a. Read a => ReadPrec a
readPrec
                       DescriptorPoolResetFlags -> ReadPrec DescriptorPoolResetFlags
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Flags -> DescriptorPoolResetFlags
DescriptorPoolResetFlags Flags
v)))