{-# language CPP #-}
-- No documentation found for Chapter "PrivateDataSlotCreateFlagBits"
module Vulkan.Core13.Enums.PrivateDataSlotCreateFlagBits  ( PrivateDataSlotCreateFlags
                                                          , PrivateDataSlotCreateFlagBits(..)
                                                          ) 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 PrivateDataSlotCreateFlags = PrivateDataSlotCreateFlagBits

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



conNamePrivateDataSlotCreateFlagBits :: String
conNamePrivateDataSlotCreateFlagBits :: String
conNamePrivateDataSlotCreateFlagBits = String
"PrivateDataSlotCreateFlagBits"

enumPrefixPrivateDataSlotCreateFlagBits :: String
enumPrefixPrivateDataSlotCreateFlagBits :: String
enumPrefixPrivateDataSlotCreateFlagBits = String
""

showTablePrivateDataSlotCreateFlagBits :: [(PrivateDataSlotCreateFlagBits, String)]
showTablePrivateDataSlotCreateFlagBits :: [(PrivateDataSlotCreateFlagBits, String)]
showTablePrivateDataSlotCreateFlagBits = []

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