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



conNamePipelineLayoutCreateFlags :: String
conNamePipelineLayoutCreateFlags :: String
conNamePipelineLayoutCreateFlags = String
"PipelineLayoutCreateFlags"

enumPrefixPipelineLayoutCreateFlags :: String
enumPrefixPipelineLayoutCreateFlags :: String
enumPrefixPipelineLayoutCreateFlags = String
""

showTablePipelineLayoutCreateFlags :: [(PipelineLayoutCreateFlags, String)]
showTablePipelineLayoutCreateFlags :: [(PipelineLayoutCreateFlags, String)]
showTablePipelineLayoutCreateFlags = []

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