{-# 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
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
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
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
forall a. a -> Zero a
zero :: BufferViewCreateFlags
$czero :: BufferViewCreateFlags
Zero, Eq BufferViewCreateFlags
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
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 =
    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" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

instance Read BufferViewCreateFlags where
  readPrec :: ReadPrec BufferViewCreateFlags
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixBufferViewCreateFlags
      [(BufferViewCreateFlags, String)]
showTableBufferViewCreateFlags
      String
conNameBufferViewCreateFlags
      Flags -> BufferViewCreateFlags
BufferViewCreateFlags