{-# 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
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
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
Ord, Ptr CommandPoolResetFlagBits -> IO CommandPoolResetFlagBits
Ptr CommandPoolResetFlagBits -> Int -> IO CommandPoolResetFlagBits
Ptr CommandPoolResetFlagBits
-> Int -> CommandPoolResetFlagBits -> IO ()
Ptr CommandPoolResetFlagBits -> CommandPoolResetFlagBits -> IO ()
CommandPoolResetFlagBits -> Int
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 :: forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CommandPoolResetFlagBits -> IO ()
peekByteOff :: forall b. 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
forall a. a -> Zero a
zero :: CommandPoolResetFlagBits
$czero :: CommandPoolResetFlagBits
Zero, Eq CommandPoolResetFlagBits
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
Bits, Bits 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
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 =
    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" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

instance Read CommandPoolResetFlagBits where
  readPrec :: ReadPrec CommandPoolResetFlagBits
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixCommandPoolResetFlagBits
      [(CommandPoolResetFlagBits, String)]
showTableCommandPoolResetFlagBits
      String
conNameCommandPoolResetFlagBits
      Flags -> CommandPoolResetFlagBits
CommandPoolResetFlagBits