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



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