{-# language CPP #-}
module Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits ( PeerMemoryFeatureFlagBits( PEER_MEMORY_FEATURE_COPY_SRC_BIT
, PEER_MEMORY_FEATURE_COPY_DST_BIT
, PEER_MEMORY_FEATURE_GENERIC_SRC_BIT
, PEER_MEMORY_FEATURE_GENERIC_DST_BIT
, ..
)
, PeerMemoryFeatureFlags
) where
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Vulkan.Core10.BaseType (Flags)
import Vulkan.Zero (Zero)
newtype PeerMemoryFeatureFlagBits = PeerMemoryFeatureFlagBits Flags
deriving newtype (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
(PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> Eq PeerMemoryFeatureFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c/= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
== :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c== :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
Eq, Eq PeerMemoryFeatureFlagBits
Eq PeerMemoryFeatureFlagBits =>
(PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> Ordering)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> Ord PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Ordering
PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
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 :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$cmin :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
max :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$cmax :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
>= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c>= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
> :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c> :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
<= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c<= :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
< :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
$c< :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Bool
compare :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Ordering
$ccompare :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> Ordering
$cp1Ord :: Eq PeerMemoryFeatureFlagBits
Ord, Ptr b -> Int -> IO PeerMemoryFeatureFlagBits
Ptr b -> Int -> PeerMemoryFeatureFlagBits -> IO ()
Ptr PeerMemoryFeatureFlagBits -> IO PeerMemoryFeatureFlagBits
Ptr PeerMemoryFeatureFlagBits
-> Int -> IO PeerMemoryFeatureFlagBits
Ptr PeerMemoryFeatureFlagBits
-> Int -> PeerMemoryFeatureFlagBits -> IO ()
Ptr PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> IO ()
PeerMemoryFeatureFlagBits -> Int
(PeerMemoryFeatureFlagBits -> Int)
-> (PeerMemoryFeatureFlagBits -> Int)
-> (Ptr PeerMemoryFeatureFlagBits
-> Int -> IO PeerMemoryFeatureFlagBits)
-> (Ptr PeerMemoryFeatureFlagBits
-> Int -> PeerMemoryFeatureFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO PeerMemoryFeatureFlagBits)
-> (forall b. Ptr b -> Int -> PeerMemoryFeatureFlagBits -> IO ())
-> (Ptr PeerMemoryFeatureFlagBits -> IO PeerMemoryFeatureFlagBits)
-> (Ptr PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> IO ())
-> Storable PeerMemoryFeatureFlagBits
forall b. Ptr b -> Int -> IO PeerMemoryFeatureFlagBits
forall b. Ptr b -> Int -> PeerMemoryFeatureFlagBits -> 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 PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> IO ()
$cpoke :: Ptr PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits -> IO ()
peek :: Ptr PeerMemoryFeatureFlagBits -> IO PeerMemoryFeatureFlagBits
$cpeek :: Ptr PeerMemoryFeatureFlagBits -> IO PeerMemoryFeatureFlagBits
pokeByteOff :: Ptr b -> Int -> PeerMemoryFeatureFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PeerMemoryFeatureFlagBits -> IO ()
peekByteOff :: Ptr b -> Int -> IO PeerMemoryFeatureFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PeerMemoryFeatureFlagBits
pokeElemOff :: Ptr PeerMemoryFeatureFlagBits
-> Int -> PeerMemoryFeatureFlagBits -> IO ()
$cpokeElemOff :: Ptr PeerMemoryFeatureFlagBits
-> Int -> PeerMemoryFeatureFlagBits -> IO ()
peekElemOff :: Ptr PeerMemoryFeatureFlagBits
-> Int -> IO PeerMemoryFeatureFlagBits
$cpeekElemOff :: Ptr PeerMemoryFeatureFlagBits
-> Int -> IO PeerMemoryFeatureFlagBits
alignment :: PeerMemoryFeatureFlagBits -> Int
$calignment :: PeerMemoryFeatureFlagBits -> Int
sizeOf :: PeerMemoryFeatureFlagBits -> Int
$csizeOf :: PeerMemoryFeatureFlagBits -> Int
Storable, PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits -> Zero PeerMemoryFeatureFlagBits
forall a. a -> Zero a
zero :: PeerMemoryFeatureFlagBits
$czero :: PeerMemoryFeatureFlagBits
Zero, Eq PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits
Eq PeerMemoryFeatureFlagBits =>
(PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> PeerMemoryFeatureFlagBits
-> (Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> Bool)
-> (PeerMemoryFeatureFlagBits -> Maybe Int)
-> (PeerMemoryFeatureFlagBits -> Int)
-> (PeerMemoryFeatureFlagBits -> Bool)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits)
-> (PeerMemoryFeatureFlagBits -> Int)
-> Bits PeerMemoryFeatureFlagBits
Int -> PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits -> Bool
PeerMemoryFeatureFlagBits -> Int
PeerMemoryFeatureFlagBits -> Maybe Int
PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits -> Int -> Bool
PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
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 :: PeerMemoryFeatureFlagBits -> Int
$cpopCount :: PeerMemoryFeatureFlagBits -> Int
rotateR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$crotateR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
rotateL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$crotateL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
unsafeShiftR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cunsafeShiftR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
shiftR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cshiftR :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
unsafeShiftL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cunsafeShiftL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
shiftL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cshiftL :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
isSigned :: PeerMemoryFeatureFlagBits -> Bool
$cisSigned :: PeerMemoryFeatureFlagBits -> Bool
bitSize :: PeerMemoryFeatureFlagBits -> Int
$cbitSize :: PeerMemoryFeatureFlagBits -> Int
bitSizeMaybe :: PeerMemoryFeatureFlagBits -> Maybe Int
$cbitSizeMaybe :: PeerMemoryFeatureFlagBits -> Maybe Int
testBit :: PeerMemoryFeatureFlagBits -> Int -> Bool
$ctestBit :: PeerMemoryFeatureFlagBits -> Int -> Bool
complementBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$ccomplementBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
clearBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cclearBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
setBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$csetBit :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
bit :: Int -> PeerMemoryFeatureFlagBits
$cbit :: Int -> PeerMemoryFeatureFlagBits
zeroBits :: PeerMemoryFeatureFlagBits
$czeroBits :: PeerMemoryFeatureFlagBits
rotate :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$crotate :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
shift :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
$cshift :: PeerMemoryFeatureFlagBits -> Int -> PeerMemoryFeatureFlagBits
complement :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$ccomplement :: PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
xor :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$cxor :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
.|. :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$c.|. :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
.&. :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$c.&. :: PeerMemoryFeatureFlagBits
-> PeerMemoryFeatureFlagBits -> PeerMemoryFeatureFlagBits
$cp1Bits :: Eq PeerMemoryFeatureFlagBits
Bits)
pattern $bPEER_MEMORY_FEATURE_COPY_SRC_BIT :: PeerMemoryFeatureFlagBits
$mPEER_MEMORY_FEATURE_COPY_SRC_BIT :: forall r.
PeerMemoryFeatureFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PEER_MEMORY_FEATURE_COPY_SRC_BIT = PeerMemoryFeatureFlagBits 0x00000001
pattern $bPEER_MEMORY_FEATURE_COPY_DST_BIT :: PeerMemoryFeatureFlagBits
$mPEER_MEMORY_FEATURE_COPY_DST_BIT :: forall r.
PeerMemoryFeatureFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PEER_MEMORY_FEATURE_COPY_DST_BIT = PeerMemoryFeatureFlagBits 0x00000002
pattern $bPEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: PeerMemoryFeatureFlagBits
$mPEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: forall r.
PeerMemoryFeatureFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = PeerMemoryFeatureFlagBits 0x00000004
pattern $bPEER_MEMORY_FEATURE_GENERIC_DST_BIT :: PeerMemoryFeatureFlagBits
$mPEER_MEMORY_FEATURE_GENERIC_DST_BIT :: forall r.
PeerMemoryFeatureFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PEER_MEMORY_FEATURE_GENERIC_DST_BIT = PeerMemoryFeatureFlagBits 0x00000008
type PeerMemoryFeatureFlags = PeerMemoryFeatureFlagBits
instance Show PeerMemoryFeatureFlagBits where
showsPrec :: Int -> PeerMemoryFeatureFlagBits -> ShowS
showsPrec p :: Int
p = \case
PEER_MEMORY_FEATURE_COPY_SRC_BIT -> String -> ShowS
showString "PEER_MEMORY_FEATURE_COPY_SRC_BIT"
PEER_MEMORY_FEATURE_COPY_DST_BIT -> String -> ShowS
showString "PEER_MEMORY_FEATURE_COPY_DST_BIT"
PEER_MEMORY_FEATURE_GENERIC_SRC_BIT -> String -> ShowS
showString "PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"
PEER_MEMORY_FEATURE_GENERIC_DST_BIT -> String -> ShowS
showString "PEER_MEMORY_FEATURE_GENERIC_DST_BIT"
PeerMemoryFeatureFlagBits x :: Flags
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "PeerMemoryFeatureFlagBits 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 PeerMemoryFeatureFlagBits where
readPrec :: ReadPrec PeerMemoryFeatureFlagBits
readPrec = ReadPrec PeerMemoryFeatureFlagBits
-> ReadPrec PeerMemoryFeatureFlagBits
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec PeerMemoryFeatureFlagBits)]
-> ReadPrec PeerMemoryFeatureFlagBits
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("PEER_MEMORY_FEATURE_COPY_SRC_BIT", PeerMemoryFeatureFlagBits -> ReadPrec PeerMemoryFeatureFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PeerMemoryFeatureFlagBits
PEER_MEMORY_FEATURE_COPY_SRC_BIT)
, ("PEER_MEMORY_FEATURE_COPY_DST_BIT", PeerMemoryFeatureFlagBits -> ReadPrec PeerMemoryFeatureFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PeerMemoryFeatureFlagBits
PEER_MEMORY_FEATURE_COPY_DST_BIT)
, ("PEER_MEMORY_FEATURE_GENERIC_SRC_BIT", PeerMemoryFeatureFlagBits -> ReadPrec PeerMemoryFeatureFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PeerMemoryFeatureFlagBits
PEER_MEMORY_FEATURE_GENERIC_SRC_BIT)
, ("PEER_MEMORY_FEATURE_GENERIC_DST_BIT", PeerMemoryFeatureFlagBits -> ReadPrec PeerMemoryFeatureFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PeerMemoryFeatureFlagBits
PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]
ReadPrec PeerMemoryFeatureFlagBits
-> ReadPrec PeerMemoryFeatureFlagBits
-> ReadPrec PeerMemoryFeatureFlagBits
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec PeerMemoryFeatureFlagBits
-> ReadPrec PeerMemoryFeatureFlagBits
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "PeerMemoryFeatureFlagBits")
Flags
v <- ReadPrec Flags -> ReadPrec Flags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Flags
forall a. Read a => ReadPrec a
readPrec
PeerMemoryFeatureFlagBits -> ReadPrec PeerMemoryFeatureFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Flags -> PeerMemoryFeatureFlagBits
PeerMemoryFeatureFlagBits Flags
v)))