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

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
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)
-- | 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
/= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c/= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
== :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$c== :: 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
min :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cmin :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
max :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cmax :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
>= :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Bool
$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
compare :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering
$ccompare :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> Ordering
$cp1Ord :: Eq ShaderModuleCreateFlags
Ord, Ptr b -> Int -> IO ShaderModuleCreateFlags
Ptr b -> Int -> ShaderModuleCreateFlags -> IO ()
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
poke :: Ptr ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> IO ()
$cpoke :: Ptr ShaderModuleCreateFlags -> ShaderModuleCreateFlags -> IO ()
peek :: Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags
$cpeek :: Ptr ShaderModuleCreateFlags -> IO ShaderModuleCreateFlags
pokeByteOff :: Ptr b -> Int -> ShaderModuleCreateFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ShaderModuleCreateFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO ShaderModuleCreateFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ShaderModuleCreateFlags
pokeElemOff :: Ptr ShaderModuleCreateFlags
-> Int -> ShaderModuleCreateFlags -> IO ()
$cpokeElemOff :: Ptr ShaderModuleCreateFlags
-> Int -> ShaderModuleCreateFlags -> IO ()
peekElemOff :: Ptr ShaderModuleCreateFlags -> Int -> IO ShaderModuleCreateFlags
$cpeekElemOff :: Ptr ShaderModuleCreateFlags -> Int -> IO ShaderModuleCreateFlags
alignment :: ShaderModuleCreateFlags -> Int
$calignment :: ShaderModuleCreateFlags -> Int
sizeOf :: ShaderModuleCreateFlags -> Int
$csizeOf :: ShaderModuleCreateFlags -> Int
Storable, ShaderModuleCreateFlags
ShaderModuleCreateFlags -> Zero ShaderModuleCreateFlags
forall a. a -> Zero a
zero :: ShaderModuleCreateFlags
$czero :: 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
popCount :: ShaderModuleCreateFlags -> Int
$cpopCount :: ShaderModuleCreateFlags -> Int
rotateR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotateR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
rotateL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotateL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
unsafeShiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cunsafeShiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cshiftR :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
unsafeShiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cunsafeShiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cshiftL :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
isSigned :: ShaderModuleCreateFlags -> Bool
$cisSigned :: ShaderModuleCreateFlags -> Bool
bitSize :: ShaderModuleCreateFlags -> Int
$cbitSize :: ShaderModuleCreateFlags -> Int
bitSizeMaybe :: ShaderModuleCreateFlags -> Maybe Int
$cbitSizeMaybe :: ShaderModuleCreateFlags -> Maybe Int
testBit :: ShaderModuleCreateFlags -> Int -> Bool
$ctestBit :: ShaderModuleCreateFlags -> Int -> Bool
complementBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$ccomplementBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
clearBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cclearBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
setBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$csetBit :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
bit :: Int -> ShaderModuleCreateFlags
$cbit :: Int -> ShaderModuleCreateFlags
zeroBits :: ShaderModuleCreateFlags
$czeroBits :: ShaderModuleCreateFlags
rotate :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$crotate :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
shift :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
$cshift :: ShaderModuleCreateFlags -> Int -> ShaderModuleCreateFlags
complement :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$ccomplement :: ShaderModuleCreateFlags -> ShaderModuleCreateFlags
xor :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cxor :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
.|. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$c.|. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
.&. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$c.&. :: ShaderModuleCreateFlags
-> ShaderModuleCreateFlags -> ShaderModuleCreateFlags
$cp1Bits :: Eq ShaderModuleCreateFlags
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
countTrailingZeros :: ShaderModuleCreateFlags -> Int
$ccountTrailingZeros :: ShaderModuleCreateFlags -> Int
countLeadingZeros :: ShaderModuleCreateFlags -> Int
$ccountLeadingZeros :: ShaderModuleCreateFlags -> Int
finiteBitSize :: ShaderModuleCreateFlags -> Int
$cfiniteBitSize :: ShaderModuleCreateFlags -> Int
$cp1FiniteBits :: Bits ShaderModuleCreateFlags
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, Show 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