{-# language CPP #-}
-- No documentation found for Chapter "CommandPoolTrimFlags"
module Vulkan.Core11.Enums.CommandPoolTrimFlags  (CommandPoolTrimFlags(..)) 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)
-- | VkCommandPoolTrimFlags - Reserved for future use
--
-- = Description
--
-- 'CommandPoolTrimFlags' 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_maintenance1.trimCommandPool',
-- 'Vulkan.Extensions.VK_KHR_maintenance1.trimCommandPoolKHR'
newtype CommandPoolTrimFlags = CommandPoolTrimFlags Flags
  deriving newtype (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
(CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> Eq CommandPoolTrimFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
== :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
$c/= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
/= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
Eq, Eq CommandPoolTrimFlags
Eq CommandPoolTrimFlags =>
(CommandPoolTrimFlags -> CommandPoolTrimFlags -> Ordering)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags
    -> CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags
    -> CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> Ord CommandPoolTrimFlags
CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
CommandPoolTrimFlags -> CommandPoolTrimFlags -> Ordering
CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
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 :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Ordering
compare :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Ordering
$c< :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
< :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
$c<= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
<= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
$c> :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
> :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
$c>= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
>= :: CommandPoolTrimFlags -> CommandPoolTrimFlags -> Bool
$cmax :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
max :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
$cmin :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
min :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
Ord, Ptr CommandPoolTrimFlags -> IO CommandPoolTrimFlags
Ptr CommandPoolTrimFlags -> Int -> IO CommandPoolTrimFlags
Ptr CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags -> IO ()
Ptr CommandPoolTrimFlags -> CommandPoolTrimFlags -> IO ()
CommandPoolTrimFlags -> Int
(CommandPoolTrimFlags -> Int)
-> (CommandPoolTrimFlags -> Int)
-> (Ptr CommandPoolTrimFlags -> Int -> IO CommandPoolTrimFlags)
-> (Ptr CommandPoolTrimFlags
    -> Int -> CommandPoolTrimFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO CommandPoolTrimFlags)
-> (forall b. Ptr b -> Int -> CommandPoolTrimFlags -> IO ())
-> (Ptr CommandPoolTrimFlags -> IO CommandPoolTrimFlags)
-> (Ptr CommandPoolTrimFlags -> CommandPoolTrimFlags -> IO ())
-> Storable CommandPoolTrimFlags
forall b. Ptr b -> Int -> IO CommandPoolTrimFlags
forall b. Ptr b -> Int -> CommandPoolTrimFlags -> 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 :: CommandPoolTrimFlags -> Int
sizeOf :: CommandPoolTrimFlags -> Int
$calignment :: CommandPoolTrimFlags -> Int
alignment :: CommandPoolTrimFlags -> Int
$cpeekElemOff :: Ptr CommandPoolTrimFlags -> Int -> IO CommandPoolTrimFlags
peekElemOff :: Ptr CommandPoolTrimFlags -> Int -> IO CommandPoolTrimFlags
$cpokeElemOff :: Ptr CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags -> IO ()
pokeElemOff :: Ptr CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CommandPoolTrimFlags
peekByteOff :: forall b. Ptr b -> Int -> IO CommandPoolTrimFlags
$cpokeByteOff :: forall b. Ptr b -> Int -> CommandPoolTrimFlags -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> CommandPoolTrimFlags -> IO ()
$cpeek :: Ptr CommandPoolTrimFlags -> IO CommandPoolTrimFlags
peek :: Ptr CommandPoolTrimFlags -> IO CommandPoolTrimFlags
$cpoke :: Ptr CommandPoolTrimFlags -> CommandPoolTrimFlags -> IO ()
poke :: Ptr CommandPoolTrimFlags -> CommandPoolTrimFlags -> IO ()
Storable, CommandPoolTrimFlags
CommandPoolTrimFlags -> Zero CommandPoolTrimFlags
forall a. a -> Zero a
$czero :: CommandPoolTrimFlags
zero :: CommandPoolTrimFlags
Zero, Eq CommandPoolTrimFlags
CommandPoolTrimFlags
Eq CommandPoolTrimFlags =>
(CommandPoolTrimFlags
 -> CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags
    -> CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags
    -> CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> CommandPoolTrimFlags
-> (Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> Bool)
-> (CommandPoolTrimFlags -> Maybe Int)
-> (CommandPoolTrimFlags -> Int)
-> (CommandPoolTrimFlags -> Bool)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags)
-> (CommandPoolTrimFlags -> Int)
-> Bits CommandPoolTrimFlags
Int -> CommandPoolTrimFlags
CommandPoolTrimFlags -> Bool
CommandPoolTrimFlags -> Int
CommandPoolTrimFlags -> Maybe Int
CommandPoolTrimFlags -> CommandPoolTrimFlags
CommandPoolTrimFlags -> Int -> Bool
CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
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.&. :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
.&. :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
$c.|. :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
.|. :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
$cxor :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
xor :: CommandPoolTrimFlags
-> CommandPoolTrimFlags -> CommandPoolTrimFlags
$ccomplement :: CommandPoolTrimFlags -> CommandPoolTrimFlags
complement :: CommandPoolTrimFlags -> CommandPoolTrimFlags
$cshift :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
shift :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$crotate :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
rotate :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$czeroBits :: CommandPoolTrimFlags
zeroBits :: CommandPoolTrimFlags
$cbit :: Int -> CommandPoolTrimFlags
bit :: Int -> CommandPoolTrimFlags
$csetBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
setBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$cclearBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
clearBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$ccomplementBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
complementBit :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$ctestBit :: CommandPoolTrimFlags -> Int -> Bool
testBit :: CommandPoolTrimFlags -> Int -> Bool
$cbitSizeMaybe :: CommandPoolTrimFlags -> Maybe Int
bitSizeMaybe :: CommandPoolTrimFlags -> Maybe Int
$cbitSize :: CommandPoolTrimFlags -> Int
bitSize :: CommandPoolTrimFlags -> Int
$cisSigned :: CommandPoolTrimFlags -> Bool
isSigned :: CommandPoolTrimFlags -> Bool
$cshiftL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
shiftL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$cunsafeShiftL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
unsafeShiftL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$cshiftR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
shiftR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$cunsafeShiftR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
unsafeShiftR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$crotateL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
rotateL :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$crotateR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
rotateR :: CommandPoolTrimFlags -> Int -> CommandPoolTrimFlags
$cpopCount :: CommandPoolTrimFlags -> Int
popCount :: CommandPoolTrimFlags -> Int
Bits, Bits CommandPoolTrimFlags
Bits CommandPoolTrimFlags =>
(CommandPoolTrimFlags -> Int)
-> (CommandPoolTrimFlags -> Int)
-> (CommandPoolTrimFlags -> Int)
-> FiniteBits CommandPoolTrimFlags
CommandPoolTrimFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: CommandPoolTrimFlags -> Int
finiteBitSize :: CommandPoolTrimFlags -> Int
$ccountLeadingZeros :: CommandPoolTrimFlags -> Int
countLeadingZeros :: CommandPoolTrimFlags -> Int
$ccountTrailingZeros :: CommandPoolTrimFlags -> Int
countTrailingZeros :: CommandPoolTrimFlags -> Int
FiniteBits)

conNameCommandPoolTrimFlags :: String
conNameCommandPoolTrimFlags :: String
conNameCommandPoolTrimFlags = String
"CommandPoolTrimFlags"

enumPrefixCommandPoolTrimFlags :: String
enumPrefixCommandPoolTrimFlags :: String
enumPrefixCommandPoolTrimFlags = String
""

showTableCommandPoolTrimFlags :: [(CommandPoolTrimFlags, String)]
showTableCommandPoolTrimFlags :: [(CommandPoolTrimFlags, String)]
showTableCommandPoolTrimFlags = []

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