{-# language CPP #-}
-- No documentation found for Chapter "CommandPoolResetFlagBits"
module Vulkan.Core10.Enums.CommandPoolResetFlagBits  ( CommandPoolResetFlags
                                                     , CommandPoolResetFlagBits( COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
                                                                               , ..
                                                                               )
                                                     ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
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
$c== :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
== :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$c/= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
/= :: 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
$ccompare :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Ordering
compare :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Ordering
$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
>= :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> Bool
$cmax :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
max :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cmin :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
min :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
Ord, 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
$csizeOf :: CommandPoolResetFlagBits -> Int
sizeOf :: CommandPoolResetFlagBits -> Int
$calignment :: CommandPoolResetFlagBits -> Int
alignment :: CommandPoolResetFlagBits -> Int
$cpeekElemOff :: Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
peekElemOff :: Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
$cpokeElemOff :: Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
pokeElemOff :: Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CommandPoolResetFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO CommandPoolResetFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
$cpeek :: Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
peek :: Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
$cpoke :: Ptr CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
poke :: Ptr CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
Storable, CommandPoolResetFlagBits
CommandPoolResetFlagBits -> Zero CommandPoolResetFlagBits
forall a. a -> Zero a
$czero :: CommandPoolResetFlagBits
zero :: 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
$c.&. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
.&. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$c.|. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
.|. :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cxor :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
xor :: CommandPoolResetFlagBits
-> CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$ccomplement :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits
complement :: CommandPoolResetFlagBits -> CommandPoolResetFlagBits
$cshift :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shift :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotate :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
rotate :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$czeroBits :: CommandPoolResetFlagBits
zeroBits :: CommandPoolResetFlagBits
$cbit :: Int -> CommandPoolResetFlagBits
bit :: Int -> CommandPoolResetFlagBits
$csetBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
setBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cclearBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
clearBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$ccomplementBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
complementBit :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$ctestBit :: CommandPoolResetFlagBits -> Int -> Bool
testBit :: CommandPoolResetFlagBits -> Int -> Bool
$cbitSizeMaybe :: CommandPoolResetFlagBits -> Maybe Int
bitSizeMaybe :: CommandPoolResetFlagBits -> Maybe Int
$cbitSize :: CommandPoolResetFlagBits -> Int
bitSize :: CommandPoolResetFlagBits -> Int
$cisSigned :: CommandPoolResetFlagBits -> Bool
isSigned :: CommandPoolResetFlagBits -> Bool
$cshiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cunsafeShiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
unsafeShiftL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cshiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
shiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cunsafeShiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
unsafeShiftR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotateL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
rotateL :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$crotateR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
rotateR :: CommandPoolResetFlagBits -> Int -> CommandPoolResetFlagBits
$cpopCount :: CommandPoolResetFlagBits -> Int
popCount :: CommandPoolResetFlagBits -> Int
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
$cfiniteBitSize :: CommandPoolResetFlagBits -> Int
finiteBitSize :: CommandPoolResetFlagBits -> Int
$ccountLeadingZeros :: CommandPoolResetFlagBits -> Int
countLeadingZeros :: CommandPoolResetFlagBits -> Int
$ccountTrailingZeros :: CommandPoolResetFlagBits -> Int
countTrailingZeros :: CommandPoolResetFlagBits -> Int
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 -> ((# #) -> r) -> ((# #) -> 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 => 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