{-# language CPP #-}
-- No documentation found for Chapter "ShaderModuleCreateFlagBits"
module Vulkan.Core10.Enums.ShaderModuleCreateFlagBits  ( ShaderModuleCreateFlags
                                                       , ShaderModuleCreateFlagBits(..)
                                                       ) where

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
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)
import Vulkan.Zero (Zero)
type ShaderModuleCreateFlags = ShaderModuleCreateFlagBits

-- 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, Bits ShaderModuleCreateFlagBits
Bits ShaderModuleCreateFlagBits =>
(ShaderModuleCreateFlagBits -> Int)
-> (ShaderModuleCreateFlagBits -> Int)
-> (ShaderModuleCreateFlagBits -> Int)
-> FiniteBits ShaderModuleCreateFlagBits
ShaderModuleCreateFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ShaderModuleCreateFlagBits -> Int
$ccountTrailingZeros :: ShaderModuleCreateFlagBits -> Int
countLeadingZeros :: ShaderModuleCreateFlagBits -> Int
$ccountLeadingZeros :: ShaderModuleCreateFlagBits -> Int
finiteBitSize :: ShaderModuleCreateFlagBits -> Int
$cfiniteBitSize :: ShaderModuleCreateFlagBits -> Int
$cp1FiniteBits :: Bits ShaderModuleCreateFlagBits
FiniteBits)



conNameShaderModuleCreateFlagBits :: String
conNameShaderModuleCreateFlagBits :: String
conNameShaderModuleCreateFlagBits = "ShaderModuleCreateFlagBits"

enumPrefixShaderModuleCreateFlagBits :: String
enumPrefixShaderModuleCreateFlagBits :: String
enumPrefixShaderModuleCreateFlagBits = ""

showTableShaderModuleCreateFlagBits :: [(ShaderModuleCreateFlagBits, String)]
showTableShaderModuleCreateFlagBits :: [(ShaderModuleCreateFlagBits, String)]
showTableShaderModuleCreateFlagBits = []

instance Show ShaderModuleCreateFlagBits where
  showsPrec :: Int -> ShaderModuleCreateFlagBits -> ShowS
showsPrec = String
-> [(ShaderModuleCreateFlagBits, String)]
-> String
-> (ShaderModuleCreateFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> ShaderModuleCreateFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixShaderModuleCreateFlagBits
                            [(ShaderModuleCreateFlagBits, String)]
showTableShaderModuleCreateFlagBits
                            String
conNameShaderModuleCreateFlagBits
                            (\(ShaderModuleCreateFlagBits x :: Flags
x) -> Flags
x)
                            (\x :: Flags
x -> String -> ShowS
showString "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 = String
-> [(ShaderModuleCreateFlagBits, String)]
-> String
-> (Flags -> ShaderModuleCreateFlagBits)
-> ReadPrec ShaderModuleCreateFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixShaderModuleCreateFlagBits
                          [(ShaderModuleCreateFlagBits, String)]
showTableShaderModuleCreateFlagBits
                          String
conNameShaderModuleCreateFlagBits
                          Flags -> ShaderModuleCreateFlagBits
ShaderModuleCreateFlagBits