{-# language CPP #-}
module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags  (PipelineColorBlendStateCreateFlags(..)) 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)
-- | VkPipelineColorBlendStateCreateFlags - Reserved for future use
--
-- = Description
--
-- 'PipelineColorBlendStateCreateFlags' is a bitmask type for setting a
-- mask, but is currently reserved for future use.
--
-- = See Also
--
-- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'
newtype PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlags Flags
  deriving newtype (PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
(PipelineColorBlendStateCreateFlags
 -> PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> Bool)
-> Eq PipelineColorBlendStateCreateFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c/= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
== :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c== :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
Eq, Eq PipelineColorBlendStateCreateFlags
Eq PipelineColorBlendStateCreateFlags =>
(PipelineColorBlendStateCreateFlags
 -> PipelineColorBlendStateCreateFlags -> Ordering)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags)
-> Ord PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Ordering
PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
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 :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$cmin :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
max :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$cmax :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
>= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c>= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
> :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c> :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
<= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c<= :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
< :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
$c< :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Bool
compare :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Ordering
$ccompare :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> Ordering
$cp1Ord :: Eq PipelineColorBlendStateCreateFlags
Ord, Ptr b -> Int -> IO PipelineColorBlendStateCreateFlags
Ptr b -> Int -> PipelineColorBlendStateCreateFlags -> IO ()
Ptr PipelineColorBlendStateCreateFlags
-> IO PipelineColorBlendStateCreateFlags
Ptr PipelineColorBlendStateCreateFlags
-> Int -> IO PipelineColorBlendStateCreateFlags
Ptr PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags -> IO ()
Ptr PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> IO ()
PipelineColorBlendStateCreateFlags -> Int
(PipelineColorBlendStateCreateFlags -> Int)
-> (PipelineColorBlendStateCreateFlags -> Int)
-> (Ptr PipelineColorBlendStateCreateFlags
    -> Int -> IO PipelineColorBlendStateCreateFlags)
-> (Ptr PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags -> IO ())
-> (forall b.
    Ptr b -> Int -> IO PipelineColorBlendStateCreateFlags)
-> (forall b.
    Ptr b -> Int -> PipelineColorBlendStateCreateFlags -> IO ())
-> (Ptr PipelineColorBlendStateCreateFlags
    -> IO PipelineColorBlendStateCreateFlags)
-> (Ptr PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags -> IO ())
-> Storable PipelineColorBlendStateCreateFlags
forall b. Ptr b -> Int -> IO PipelineColorBlendStateCreateFlags
forall b.
Ptr b -> Int -> PipelineColorBlendStateCreateFlags -> 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 PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> IO ()
$cpoke :: Ptr PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags -> IO ()
peek :: Ptr PipelineColorBlendStateCreateFlags
-> IO PipelineColorBlendStateCreateFlags
$cpeek :: Ptr PipelineColorBlendStateCreateFlags
-> IO PipelineColorBlendStateCreateFlags
pokeByteOff :: Ptr b -> Int -> PipelineColorBlendStateCreateFlags -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> PipelineColorBlendStateCreateFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO PipelineColorBlendStateCreateFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineColorBlendStateCreateFlags
pokeElemOff :: Ptr PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags -> IO ()
$cpokeElemOff :: Ptr PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags -> IO ()
peekElemOff :: Ptr PipelineColorBlendStateCreateFlags
-> Int -> IO PipelineColorBlendStateCreateFlags
$cpeekElemOff :: Ptr PipelineColorBlendStateCreateFlags
-> Int -> IO PipelineColorBlendStateCreateFlags
alignment :: PipelineColorBlendStateCreateFlags -> Int
$calignment :: PipelineColorBlendStateCreateFlags -> Int
sizeOf :: PipelineColorBlendStateCreateFlags -> Int
$csizeOf :: PipelineColorBlendStateCreateFlags -> Int
Storable, PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags
-> Zero PipelineColorBlendStateCreateFlags
forall a. a -> Zero a
zero :: PipelineColorBlendStateCreateFlags
$czero :: PipelineColorBlendStateCreateFlags
Zero, Eq PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags
Eq PipelineColorBlendStateCreateFlags =>
(PipelineColorBlendStateCreateFlags
 -> PipelineColorBlendStateCreateFlags
 -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> PipelineColorBlendStateCreateFlags
-> (Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags -> Int -> Bool)
-> (PipelineColorBlendStateCreateFlags -> Maybe Int)
-> (PipelineColorBlendStateCreateFlags -> Int)
-> (PipelineColorBlendStateCreateFlags -> Bool)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags
    -> Int -> PipelineColorBlendStateCreateFlags)
-> (PipelineColorBlendStateCreateFlags -> Int)
-> Bits PipelineColorBlendStateCreateFlags
Int -> PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags -> Bool
PipelineColorBlendStateCreateFlags -> Int
PipelineColorBlendStateCreateFlags -> Maybe Int
PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags -> Int -> Bool
PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
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 :: PipelineColorBlendStateCreateFlags -> Int
$cpopCount :: PipelineColorBlendStateCreateFlags -> Int
rotateR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$crotateR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
rotateL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$crotateL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
unsafeShiftR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cunsafeShiftR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
shiftR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cshiftR :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
unsafeShiftL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cunsafeShiftL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
shiftL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cshiftL :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
isSigned :: PipelineColorBlendStateCreateFlags -> Bool
$cisSigned :: PipelineColorBlendStateCreateFlags -> Bool
bitSize :: PipelineColorBlendStateCreateFlags -> Int
$cbitSize :: PipelineColorBlendStateCreateFlags -> Int
bitSizeMaybe :: PipelineColorBlendStateCreateFlags -> Maybe Int
$cbitSizeMaybe :: PipelineColorBlendStateCreateFlags -> Maybe Int
testBit :: PipelineColorBlendStateCreateFlags -> Int -> Bool
$ctestBit :: PipelineColorBlendStateCreateFlags -> Int -> Bool
complementBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$ccomplementBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
clearBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cclearBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
setBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$csetBit :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
bit :: Int -> PipelineColorBlendStateCreateFlags
$cbit :: Int -> PipelineColorBlendStateCreateFlags
zeroBits :: PipelineColorBlendStateCreateFlags
$czeroBits :: PipelineColorBlendStateCreateFlags
rotate :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$crotate :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
shift :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
$cshift :: PipelineColorBlendStateCreateFlags
-> Int -> PipelineColorBlendStateCreateFlags
complement :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$ccomplement :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
xor :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$cxor :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
.|. :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$c.|. :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
.&. :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$c.&. :: PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
-> PipelineColorBlendStateCreateFlags
$cp1Bits :: Eq PipelineColorBlendStateCreateFlags
Bits)



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