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

conNameBufferViewCreateFlags :: String
conNameBufferViewCreateFlags :: String
conNameBufferViewCreateFlags = String
"BufferViewCreateFlags"

enumPrefixBufferViewCreateFlags :: String
enumPrefixBufferViewCreateFlags :: String
enumPrefixBufferViewCreateFlags = String
""

showTableBufferViewCreateFlags :: [(BufferViewCreateFlags, String)]
showTableBufferViewCreateFlags :: [(BufferViewCreateFlags, String)]
showTableBufferViewCreateFlags = []

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