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