{-# language CPP #-}
-- No documentation found for Chapter "CommandPoolResetFlagBits"
module Vulkan.Core10.Enums.CommandPoolResetFlagBits  ( CommandPoolResetFlags
                                                     , CommandPoolResetFlagBits( COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
                                                                               , ..
                                                                               )
                                                     ) 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)
type CommandPoolResetFlags = CommandPoolResetFlagBits

-- | VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command
-- pool reset
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'CommandPoolResetFlags'
newtype CommandPoolResetFlagBits = CommandPoolResetFlagBits Flags
  deriving newtype (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
(CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> Eq CommandPoolResetFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c/= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
== :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c== :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
Eq, Eq CommandPoolResetFlagBits
Eq CommandPoolResetFlagBits
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> Ordering)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> Ord CommandPoolResetFlagBits
CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Ordering
CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
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 :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cmin :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
max :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cmax :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
>= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c>= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
> :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c> :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
<= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c<= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
< :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c< :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
compare :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Ordering
$ccompare :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Ordering
$cp1Ord :: Eq CommandPoolResetFlagBits
Ord, Ptr b -> Int -> IO CommandPoolResetFlagBits
Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
Ptr CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
CommandPoolResetFlagBits -> Int
(CommandPoolResetFlagBits -> Int)
-> (CommandPoolResetFlagBits -> Int)
-> (Ptr CommandPoolResetFlagBits
    -> Int -> IO CommandPoolResetFlagBits)
-> (Ptr CommandPoolResetFlagBits
    -> Int -> CommandPoolResetFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO CommandPoolResetFlagBits)
-> (forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ())
-> (Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits)
-> (Ptr CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> IO ())
-> Storable CommandPoolResetFlagBits
forall b. Ptr b -> Int -> IO CommandPoolResetFlagBits
forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> 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 CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
$cpoke :: Ptr CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
peek :: Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
$cpeek :: Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
pokeByteOff :: Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
peekByteOff :: Ptr b -> Int -> IO CommandPoolResetFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CommandPoolResetFlagBits
pokeElemOff :: Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
$cpokeElemOff :: Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
peekElemOff :: Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
$cpeekElemOff :: Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
alignment :: CommandPoolResetFlagBits -> Int
$calignment :: CommandPoolResetFlagBits -> Int
sizeOf :: CommandPoolResetFlagBits -> Int
$csizeOf :: CommandPoolResetFlagBits -> Int
Storable, CommandPoolResetFlagBits
CommandPoolResetFlagBits -> Zero CommandPoolResetFlagBits
forall a. a -> Zero a
zero :: CommandPoolResetFlagBits
$czero :: CommandPoolResetFlagBits
Zero, Eq CommandPoolResetFlagBits
CommandPoolResetFlagBits
Eq CommandPoolResetFlagBits
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits
    -> CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> CommandPoolResetFlagBits
-> (Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> Bool)
-> (CommandPoolResetFlagBits -> Maybe Int)
-> (CommandPoolResetFlagBits -> Int)
-> (CommandPoolResetFlagBits -> Bool)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits)
-> (CommandPoolResetFlagBits -> Int)
-> Bits CommandPoolResetFlagBits
Int -> CommandPoolResetFlagBits
CommandPoolResetFlagBits -> Bool
CommandPoolResetFlagBits -> Int
CommandPoolResetFlagBits -> Maybe Int
CommandPoolResetFlagBits -> CommandPoolResetFlagBits
CommandPoolResetFlagBits -> Int -> Bool
CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
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 :: CommandPoolResetFlagBits -> Int
$cpopCount :: CommandPoolResetFlagBits -> Int
rotateR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotateR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
rotateL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotateL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
unsafeShiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cunsafeShiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cshiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
unsafeShiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cunsafeShiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cshiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
isSigned :: CommandPoolResetFlagBits -> Bool
$cisSigned :: CommandPoolResetFlagBits -> Bool
bitSize :: CommandPoolResetFlagBits -> Int
$cbitSize :: CommandPoolResetFlagBits -> Int
bitSizeMaybe :: CommandPoolResetFlagBits -> Maybe Int
$cbitSizeMaybe :: CommandPoolResetFlagBits -> Maybe Int
testBit :: CommandPoolResetFlagBits -> Int -> Bool
$ctestBit :: CommandPoolResetFlagBits -> Int -> Bool
complementBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$ccomplementBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
clearBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cclearBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
setBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$csetBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
bit :: Int -> CommandPoolResetFlagBits
$cbit :: Int -> CommandPoolResetFlagBits
zeroBits :: CommandPoolResetFlagBits
$czeroBits :: CommandPoolResetFlagBits
rotate :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotate :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shift :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cshift :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
complement :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$ccomplement :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits
xor :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cxor :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
.|. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$c.|. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
.&. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$c.&. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cp1Bits :: Eq CommandPoolResetFlagBits
Bits, Bits CommandPoolResetFlagBits
Bits CommandPoolResetFlagBits
-> (CommandPoolResetFlagBits -> Int)
-> (CommandPoolResetFlagBits -> Int)
-> (CommandPoolResetFlagBits -> Int)
-> FiniteBits CommandPoolResetFlagBits
CommandPoolResetFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: CommandPoolResetFlagBits -> Int
$ccountTrailingZeros :: CommandPoolResetFlagBits -> Int
countLeadingZeros :: CommandPoolResetFlagBits -> Int
$ccountLeadingZeros :: CommandPoolResetFlagBits -> Int
finiteBitSize :: CommandPoolResetFlagBits -> Int
$cfiniteBitSize :: CommandPoolResetFlagBits -> Int
$cp1FiniteBits :: Bits CommandPoolResetFlagBits
FiniteBits)

-- | 'COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT' specifies that resetting a
-- command pool recycles all of the resources from the command pool back to
-- the system.
pattern $bCOMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: CommandPoolResetFlagBits
$mCOMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: forall r.
CommandPoolResetFlagBits -> (Void# -> r) -> (Void# -> r) -> r
COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = CommandPoolResetFlagBits 0x00000001

conNameCommandPoolResetFlagBits :: String
conNameCommandPoolResetFlagBits :: String
conNameCommandPoolResetFlagBits = String
"CommandPoolResetFlagBits"

enumPrefixCommandPoolResetFlagBits :: String
enumPrefixCommandPoolResetFlagBits :: String
enumPrefixCommandPoolResetFlagBits = String
"COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"

showTableCommandPoolResetFlagBits :: [(CommandPoolResetFlagBits, String)]
showTableCommandPoolResetFlagBits :: [(CommandPoolResetFlagBits, String)]
showTableCommandPoolResetFlagBits = [(CommandPoolResetFlagBits
COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, String
"")]

instance Show CommandPoolResetFlagBits where
  showsPrec :: Int -> CommandPoolResetFlagBits -> ShowS
showsPrec = String
-> [(CommandPoolResetFlagBits, String)]
-> String
-> (CommandPoolResetFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> CommandPoolResetFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixCommandPoolResetFlagBits
                            [(CommandPoolResetFlagBits, String)]
showTableCommandPoolResetFlagBits
                            String
conNameCommandPoolResetFlagBits
                            (\(CommandPoolResetFlagBits 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 CommandPoolResetFlagBits where
  readPrec :: ReadPrec CommandPoolResetFlagBits
readPrec = String
-> [(CommandPoolResetFlagBits, String)]
-> String
-> (Flags -> CommandPoolResetFlagBits)
-> ReadPrec CommandPoolResetFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixCommandPoolResetFlagBits
                          [(CommandPoolResetFlagBits, String)]
showTableCommandPoolResetFlagBits
                          String
conNameCommandPoolResetFlagBits
                          Flags -> CommandPoolResetFlagBits
CommandPoolResetFlagBits