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

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
-- | VkShaderModuleCreateFlags - Reserved for future use
--
-- = Description
--
-- 'ShaderModuleCreateFlags' is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'Vulkan.Core10.Shader.ShaderModuleCreateInfo'
newtype ShaderModuleCreateFlags = ShaderModuleCreateFlags Flags
  deriving newtype (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
(ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> Eq ShaderModuleCreateFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
== :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c/= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
/= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
Eq, Eq ShaderModuleCreateFlags
Eq ShaderModuleCreateFlags =>
(ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags
    -> ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags
    -> ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> Ord ShaderModuleCreateFlags
ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering
ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
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
$ccompare :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering
compare :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering
$c< :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
< :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c<= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
<= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c> :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
> :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c>= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
>= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$cmax :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
max :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cmin :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
min :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
Ord, Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags
Ptr ShaderModuleCreateFlags -> Int -> IO ShaderModuleCreateFlags
Ptr ShaderModuleCreateFlags
-> Int -> ShaderModuleCreateFlags -> IO ()
Ptr ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> IO ()
ShaderModuleCreateFlags -> Int
(ShaderModuleCreateFlags -> Int)
-> (ShaderModuleCreateFlags -> Int)
-> (Ptr ShaderModuleCreateFlags
    -> Int -> IO ShaderModuleCreateFlags)
-> (Ptr ShaderModuleCreateFlags
    -> Int -> ShaderModuleCreateFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO ShaderModuleCreateFlags)
-> (forall b. Ptr b -> Int -> ShaderModuleCreateFlags -> IO ())
-> (Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags)
-> (Ptr ShaderModuleCreateFlags
    -> ShaderModuleCreateFlags -> IO ())
-> Storable ShaderModuleCreateFlags
forall b. Ptr b -> Int -> IO ShaderModuleCreateFlags
forall b. Ptr b -> Int -> ShaderModuleCreateFlags -> 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
$csizeOf :: ShaderModuleCreateFlags -> Int
sizeOf :: ShaderModuleCreateFlags -> Int
$calignment :: ShaderModuleCreateFlags -> Int
alignment :: ShaderModuleCreateFlags -> Int
$cpeekElemOff :: Ptr ShaderModuleCreateFlags -> Int -> IO ShaderModuleCreateFlags
peekElemOff :: Ptr ShaderModuleCreateFlags -> Int -> IO ShaderModuleCreateFlags
$cpokeElemOff :: Ptr ShaderModuleCreateFlags
-> Int -> ShaderModuleCreateFlags -> IO ()
pokeElemOff :: Ptr ShaderModuleCreateFlags
-> Int -> ShaderModuleCreateFlags -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ShaderModuleCreateFlags
peekByteOff :: forall b. Ptr b -> Int -> IO ShaderModuleCreateFlags
$cpokeByteOff :: forall b. Ptr b -> Int -> ShaderModuleCreateFlags -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ShaderModuleCreateFlags -> IO ()
$cpeek :: Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags
peek :: Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags
$cpoke :: Ptr ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> IO ()
poke :: Ptr ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> IO ()
Storable, ShaderModuleCreateFlags
ShaderModuleCreateFlags -> Zero ShaderModuleCreateFlags
forall a. a -> Zero a
$czero :: ShaderModuleCreateFlags
zero :: ShaderModuleCreateFlags
Zero, Eq ShaderModuleCreateFlags
ShaderModuleCreateFlags
Eq ShaderModuleCreateFlags =>
(ShaderModuleCreateFlags
 -> ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags
    -> ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags
    -> ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> ShaderModuleCreateFlags
-> (Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> Bool)
-> (ShaderModuleCreateFlags -> Maybe Int)
-> (ShaderModuleCreateFlags -> Int)
-> (ShaderModuleCreateFlags -> Bool)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags)
-> (ShaderModuleCreateFlags -> Int)
-> Bits ShaderModuleCreateFlags
Int -> ShaderModuleCreateFlags
ShaderModuleCreateFlags -> Bool
ShaderModuleCreateFlags -> Int
ShaderModuleCreateFlags -> Maybe Int
ShaderModuleCreateFlags -> ShaderModuleCreateFlags
ShaderModuleCreateFlags -> Int -> Bool
ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
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
$c.&. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
.&. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$c.|. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
.|. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cxor :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
xor :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$ccomplement :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags
complement :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cshift :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shift :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotate :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
rotate :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$czeroBits :: ShaderModuleCreateFlags
zeroBits :: ShaderModuleCreateFlags
$cbit :: Int -> ShaderModuleCreateFlags
bit :: Int -> ShaderModuleCreateFlags
$csetBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
setBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cclearBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
clearBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$ccomplementBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
complementBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$ctestBit :: ShaderModuleCreateFlags -> Int -> Bool
testBit :: ShaderModuleCreateFlags -> Int -> Bool
$cbitSizeMaybe :: ShaderModuleCreateFlags -> Maybe Int
bitSizeMaybe :: ShaderModuleCreateFlags -> Maybe Int
$cbitSize :: ShaderModuleCreateFlags -> Int
bitSize :: ShaderModuleCreateFlags -> Int
$cisSigned :: ShaderModuleCreateFlags -> Bool
isSigned :: ShaderModuleCreateFlags -> Bool
$cshiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cunsafeShiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
unsafeShiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cshiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cunsafeShiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
unsafeShiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotateL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
rotateL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotateR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
rotateR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cpopCount :: ShaderModuleCreateFlags -> Int
popCount :: ShaderModuleCreateFlags -> Int
Bits, Bits ShaderModuleCreateFlags
Bits ShaderModuleCreateFlags =>
(ShaderModuleCreateFlags -> Int)
-> (ShaderModuleCreateFlags -> Int)
-> (ShaderModuleCreateFlags -> Int)
-> FiniteBits ShaderModuleCreateFlags
ShaderModuleCreateFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: ShaderModuleCreateFlags -> Int
finiteBitSize :: ShaderModuleCreateFlags -> Int
$ccountLeadingZeros :: ShaderModuleCreateFlags -> Int
countLeadingZeros :: ShaderModuleCreateFlags -> Int
$ccountTrailingZeros :: ShaderModuleCreateFlags -> Int
countTrailingZeros :: ShaderModuleCreateFlags -> Int
FiniteBits)

conNameShaderModuleCreateFlags :: String
conNameShaderModuleCreateFlags :: String
conNameShaderModuleCreateFlags = String
"ShaderModuleCreateFlags"

enumPrefixShaderModuleCreateFlags :: String
enumPrefixShaderModuleCreateFlags :: String
enumPrefixShaderModuleCreateFlags = String
""

showTableShaderModuleCreateFlags :: [(ShaderModuleCreateFlags, String)]
showTableShaderModuleCreateFlags :: [(ShaderModuleCreateFlags, String)]
showTableShaderModuleCreateFlags = []

instance Show ShaderModuleCreateFlags where
  showsPrec :: Int -> ShaderModuleCreateFlags -> ShowS
showsPrec =
    String
-> [(ShaderModuleCreateFlags, String)]
-> String
-> (ShaderModuleCreateFlags -> Flags)
-> (Flags -> ShowS)
-> Int
-> ShaderModuleCreateFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixShaderModuleCreateFlags
      [(ShaderModuleCreateFlags, String)]
showTableShaderModuleCreateFlags
      String
conNameShaderModuleCreateFlags
      (\(ShaderModuleCreateFlags Flags
x) -> Flags
x)
      (\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)

instance Read ShaderModuleCreateFlags where
  readPrec :: ReadPrec ShaderModuleCreateFlags
readPrec =
    String
-> [(ShaderModuleCreateFlags, String)]
-> String
-> (Flags -> ShaderModuleCreateFlags)
-> ReadPrec ShaderModuleCreateFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixShaderModuleCreateFlags
      [(ShaderModuleCreateFlags, String)]
showTableShaderModuleCreateFlags
      String
conNameShaderModuleCreateFlags
      Flags -> ShaderModuleCreateFlags
ShaderModuleCreateFlags