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



type ShaderModuleCreateFlags = ShaderModuleCreateFlagBits

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