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



conNameInstanceCreateFlags :: String
conNameInstanceCreateFlags :: String
conNameInstanceCreateFlags = "InstanceCreateFlags"

enumPrefixInstanceCreateFlags :: String
enumPrefixInstanceCreateFlags :: String
enumPrefixInstanceCreateFlags = ""

showTableInstanceCreateFlags :: [(InstanceCreateFlags, String)]
showTableInstanceCreateFlags :: [(InstanceCreateFlags, String)]
showTableInstanceCreateFlags = []

instance Show InstanceCreateFlags where
  showsPrec :: Int -> InstanceCreateFlags -> ShowS
showsPrec = String
-> [(InstanceCreateFlags, String)]
-> String
-> (InstanceCreateFlags -> Flags)
-> (Flags -> ShowS)
-> Int
-> InstanceCreateFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixInstanceCreateFlags
                            [(InstanceCreateFlags, String)]
showTableInstanceCreateFlags
                            String
conNameInstanceCreateFlags
                            (\(InstanceCreateFlags 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 InstanceCreateFlags where
  readPrec :: ReadPrec InstanceCreateFlags
readPrec = String
-> [(InstanceCreateFlags, String)]
-> String
-> (Flags -> InstanceCreateFlags)
-> ReadPrec InstanceCreateFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixInstanceCreateFlags
                          [(InstanceCreateFlags, String)]
showTableInstanceCreateFlags
                          String
conNameInstanceCreateFlags
                          Flags -> InstanceCreateFlags
InstanceCreateFlags