{-# 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 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)
import Vulkan.Zero (Zero)
-- | VkBufferViewCreateFlags - Reserved for future use
--
-- = Description
--
-- 'BufferViewCreateFlags' is a bitmask type for setting a mask, but is
-- currently reserved for future use.
--
-- = See Also
--
-- '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
$cp1Ord :: Eq BufferViewCreateFlags
Ord, Ptr b -> Int -> IO BufferViewCreateFlags
Ptr b -> Int -> BufferViewCreateFlags -> IO ()
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 :: Ptr b -> Int -> BufferViewCreateFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> BufferViewCreateFlags -> IO ()
peekByteOff :: 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
$cp1Bits :: Eq 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
$cp1FiniteBits :: Bits BufferViewCreateFlags
FiniteBits)



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

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

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 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 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