{-# language CPP #-}
module Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags  (PipelineDynamicStateCreateFlags(..)) where

import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Zero (Zero)
-- | VkPipelineDynamicStateCreateFlags - Reserved for future use
--
-- = Description
--
-- 'PipelineDynamicStateCreateFlags' is a bitmask type for setting a mask,
-- but is currently reserved for future use.
--
-- = See Also
--
-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'
newtype PipelineDynamicStateCreateFlags = PipelineDynamicStateCreateFlags Flags
  deriving newtype (PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
(PipelineDynamicStateCreateFlags
 -> PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> Bool)
-> Eq PipelineDynamicStateCreateFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c/= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
== :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c== :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
Eq, Eq PipelineDynamicStateCreateFlags
Eq PipelineDynamicStateCreateFlags =>
(PipelineDynamicStateCreateFlags
 -> PipelineDynamicStateCreateFlags -> Ordering)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags)
-> Ord PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Ordering
PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
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 :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$cmin :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
max :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$cmax :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
>= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c>= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
> :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c> :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
<= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c<= :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
< :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
$c< :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Bool
compare :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Ordering
$ccompare :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> Ordering
$cp1Ord :: Eq PipelineDynamicStateCreateFlags
Ord, Ptr b -> Int -> IO PipelineDynamicStateCreateFlags
Ptr b -> Int -> PipelineDynamicStateCreateFlags -> IO ()
Ptr PipelineDynamicStateCreateFlags
-> IO PipelineDynamicStateCreateFlags
Ptr PipelineDynamicStateCreateFlags
-> Int -> IO PipelineDynamicStateCreateFlags
Ptr PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags -> IO ()
Ptr PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> IO ()
PipelineDynamicStateCreateFlags -> Int
(PipelineDynamicStateCreateFlags -> Int)
-> (PipelineDynamicStateCreateFlags -> Int)
-> (Ptr PipelineDynamicStateCreateFlags
    -> Int -> IO PipelineDynamicStateCreateFlags)
-> (Ptr PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO PipelineDynamicStateCreateFlags)
-> (forall b.
    Ptr b -> Int -> PipelineDynamicStateCreateFlags -> IO ())
-> (Ptr PipelineDynamicStateCreateFlags
    -> IO PipelineDynamicStateCreateFlags)
-> (Ptr PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags -> IO ())
-> Storable PipelineDynamicStateCreateFlags
forall b. Ptr b -> Int -> IO PipelineDynamicStateCreateFlags
forall b. Ptr b -> Int -> PipelineDynamicStateCreateFlags -> 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 PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> IO ()
$cpoke :: Ptr PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags -> IO ()
peek :: Ptr PipelineDynamicStateCreateFlags
-> IO PipelineDynamicStateCreateFlags
$cpeek :: Ptr PipelineDynamicStateCreateFlags
-> IO PipelineDynamicStateCreateFlags
pokeByteOff :: Ptr b -> Int -> PipelineDynamicStateCreateFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineDynamicStateCreateFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO PipelineDynamicStateCreateFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineDynamicStateCreateFlags
pokeElemOff :: Ptr PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags -> IO ()
$cpokeElemOff :: Ptr PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags -> IO ()
peekElemOff :: Ptr PipelineDynamicStateCreateFlags
-> Int -> IO PipelineDynamicStateCreateFlags
$cpeekElemOff :: Ptr PipelineDynamicStateCreateFlags
-> Int -> IO PipelineDynamicStateCreateFlags
alignment :: PipelineDynamicStateCreateFlags -> Int
$calignment :: PipelineDynamicStateCreateFlags -> Int
sizeOf :: PipelineDynamicStateCreateFlags -> Int
$csizeOf :: PipelineDynamicStateCreateFlags -> Int
Storable, PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags
-> Zero PipelineDynamicStateCreateFlags
forall a. a -> Zero a
zero :: PipelineDynamicStateCreateFlags
$czero :: PipelineDynamicStateCreateFlags
Zero, Eq PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags
Eq PipelineDynamicStateCreateFlags =>
(PipelineDynamicStateCreateFlags
 -> PipelineDynamicStateCreateFlags
 -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> PipelineDynamicStateCreateFlags
-> (Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags -> Int -> Bool)
-> (PipelineDynamicStateCreateFlags -> Maybe Int)
-> (PipelineDynamicStateCreateFlags -> Int)
-> (PipelineDynamicStateCreateFlags -> Bool)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags
    -> Int -> PipelineDynamicStateCreateFlags)
-> (PipelineDynamicStateCreateFlags -> Int)
-> Bits PipelineDynamicStateCreateFlags
Int -> PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags -> Bool
PipelineDynamicStateCreateFlags -> Int
PipelineDynamicStateCreateFlags -> Maybe Int
PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags -> Int -> Bool
PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
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 :: PipelineDynamicStateCreateFlags -> Int
$cpopCount :: PipelineDynamicStateCreateFlags -> Int
rotateR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$crotateR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
rotateL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$crotateL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
unsafeShiftR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cunsafeShiftR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
shiftR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cshiftR :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
unsafeShiftL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cunsafeShiftL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
shiftL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cshiftL :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
isSigned :: PipelineDynamicStateCreateFlags -> Bool
$cisSigned :: PipelineDynamicStateCreateFlags -> Bool
bitSize :: PipelineDynamicStateCreateFlags -> Int
$cbitSize :: PipelineDynamicStateCreateFlags -> Int
bitSizeMaybe :: PipelineDynamicStateCreateFlags -> Maybe Int
$cbitSizeMaybe :: PipelineDynamicStateCreateFlags -> Maybe Int
testBit :: PipelineDynamicStateCreateFlags -> Int -> Bool
$ctestBit :: PipelineDynamicStateCreateFlags -> Int -> Bool
complementBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$ccomplementBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
clearBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cclearBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
setBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$csetBit :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
bit :: Int -> PipelineDynamicStateCreateFlags
$cbit :: Int -> PipelineDynamicStateCreateFlags
zeroBits :: PipelineDynamicStateCreateFlags
$czeroBits :: PipelineDynamicStateCreateFlags
rotate :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$crotate :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
shift :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
$cshift :: PipelineDynamicStateCreateFlags
-> Int -> PipelineDynamicStateCreateFlags
complement :: PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags
$ccomplement :: PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags
xor :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$cxor :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
.|. :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$c.|. :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
.&. :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$c.&. :: PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
-> PipelineDynamicStateCreateFlags
$cp1Bits :: Eq PipelineDynamicStateCreateFlags
Bits)



instance Show PipelineDynamicStateCreateFlags where
  showsPrec :: Int -> PipelineDynamicStateCreateFlags -> ShowS
showsPrec p :: Int
p = \case
    PipelineDynamicStateCreateFlags x :: Flags
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "PipelineDynamicStateCreateFlags 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 PipelineDynamicStateCreateFlags where
  readPrec :: ReadPrec PipelineDynamicStateCreateFlags
readPrec = ReadPrec PipelineDynamicStateCreateFlags
-> ReadPrec PipelineDynamicStateCreateFlags
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec PipelineDynamicStateCreateFlags)]
-> ReadPrec PipelineDynamicStateCreateFlags
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose []
                     ReadPrec PipelineDynamicStateCreateFlags
-> ReadPrec PipelineDynamicStateCreateFlags
-> ReadPrec PipelineDynamicStateCreateFlags
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                     Int
-> ReadPrec PipelineDynamicStateCreateFlags
-> ReadPrec PipelineDynamicStateCreateFlags
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
                       Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "PipelineDynamicStateCreateFlags")
                       Flags
v <- ReadPrec Flags -> ReadPrec Flags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Flags
forall a. Read a => ReadPrec a
readPrec
                       PipelineDynamicStateCreateFlags
-> ReadPrec PipelineDynamicStateCreateFlags
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Flags -> PipelineDynamicStateCreateFlags
PipelineDynamicStateCreateFlags Flags
v)))