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

instance Read CommandPoolTrimFlags where
  readPrec :: ReadPrec CommandPoolTrimFlags
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixCommandPoolTrimFlags
      [(CommandPoolTrimFlags, String)]
showTableCommandPoolTrimFlags
      String
conNameCommandPoolTrimFlags
      Flags -> CommandPoolTrimFlags
CommandPoolTrimFlags