{-# language CPP #-}
-- No documentation found for Chapter "SpaceVelocityFlags"
module OpenXR.Core10.Enums.SpaceVelocityFlags  (SpaceVelocityFlags(..)) where

import OpenXR.Internal.Utils (enumReadPrec)
import OpenXR.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import OpenXR.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 OpenXR.Core10.FundamentalTypes (Flags64)
-- | XrSpaceVelocityFlags - Space velocity flags
--
-- = Description
--
-- where the flags have the following meaning:
--
-- == Flag Descriptions
--
-- = See Also
--
-- 'OpenXR.Extensions.XR_EXT_hand_tracking.HandJointVelocityEXT',
-- 'OpenXR.Core10.Space.SpaceVelocity'
newtype SpaceVelocityFlags = SpaceVelocityFlags Flags64
  deriving newtype (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
(SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> Eq SpaceVelocityFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c/= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
== :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c== :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
Eq, Eq SpaceVelocityFlags
Eq SpaceVelocityFlags =>
(SpaceVelocityFlags -> SpaceVelocityFlags -> Ordering)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags)
-> Ord SpaceVelocityFlags
SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
SpaceVelocityFlags -> SpaceVelocityFlags -> Ordering
SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
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 :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$cmin :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
max :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$cmax :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
>= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c>= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
> :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c> :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
<= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c<= :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
< :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
$c< :: SpaceVelocityFlags -> SpaceVelocityFlags -> Bool
compare :: SpaceVelocityFlags -> SpaceVelocityFlags -> Ordering
$ccompare :: SpaceVelocityFlags -> SpaceVelocityFlags -> Ordering
$cp1Ord :: Eq SpaceVelocityFlags
Ord, Ptr b -> Int -> IO SpaceVelocityFlags
Ptr b -> Int -> SpaceVelocityFlags -> IO ()
Ptr SpaceVelocityFlags -> IO SpaceVelocityFlags
Ptr SpaceVelocityFlags -> Int -> IO SpaceVelocityFlags
Ptr SpaceVelocityFlags -> Int -> SpaceVelocityFlags -> IO ()
Ptr SpaceVelocityFlags -> SpaceVelocityFlags -> IO ()
SpaceVelocityFlags -> Int
(SpaceVelocityFlags -> Int)
-> (SpaceVelocityFlags -> Int)
-> (Ptr SpaceVelocityFlags -> Int -> IO SpaceVelocityFlags)
-> (Ptr SpaceVelocityFlags -> Int -> SpaceVelocityFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO SpaceVelocityFlags)
-> (forall b. Ptr b -> Int -> SpaceVelocityFlags -> IO ())
-> (Ptr SpaceVelocityFlags -> IO SpaceVelocityFlags)
-> (Ptr SpaceVelocityFlags -> SpaceVelocityFlags -> IO ())
-> Storable SpaceVelocityFlags
forall b. Ptr b -> Int -> IO SpaceVelocityFlags
forall b. Ptr b -> Int -> SpaceVelocityFlags -> 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 SpaceVelocityFlags -> SpaceVelocityFlags -> IO ()
$cpoke :: Ptr SpaceVelocityFlags -> SpaceVelocityFlags -> IO ()
peek :: Ptr SpaceVelocityFlags -> IO SpaceVelocityFlags
$cpeek :: Ptr SpaceVelocityFlags -> IO SpaceVelocityFlags
pokeByteOff :: Ptr b -> Int -> SpaceVelocityFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SpaceVelocityFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO SpaceVelocityFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SpaceVelocityFlags
pokeElemOff :: Ptr SpaceVelocityFlags -> Int -> SpaceVelocityFlags -> IO ()
$cpokeElemOff :: Ptr SpaceVelocityFlags -> Int -> SpaceVelocityFlags -> IO ()
peekElemOff :: Ptr SpaceVelocityFlags -> Int -> IO SpaceVelocityFlags
$cpeekElemOff :: Ptr SpaceVelocityFlags -> Int -> IO SpaceVelocityFlags
alignment :: SpaceVelocityFlags -> Int
$calignment :: SpaceVelocityFlags -> Int
sizeOf :: SpaceVelocityFlags -> Int
$csizeOf :: SpaceVelocityFlags -> Int
Storable, SpaceVelocityFlags
SpaceVelocityFlags -> Zero SpaceVelocityFlags
forall a. a -> Zero a
zero :: SpaceVelocityFlags
$czero :: SpaceVelocityFlags
Zero, Eq SpaceVelocityFlags
SpaceVelocityFlags
Eq SpaceVelocityFlags =>
(SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> SpaceVelocityFlags
-> (Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> Bool)
-> (SpaceVelocityFlags -> Maybe Int)
-> (SpaceVelocityFlags -> Int)
-> (SpaceVelocityFlags -> Bool)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int -> SpaceVelocityFlags)
-> (SpaceVelocityFlags -> Int)
-> Bits SpaceVelocityFlags
Int -> SpaceVelocityFlags
SpaceVelocityFlags -> Bool
SpaceVelocityFlags -> Int
SpaceVelocityFlags -> Maybe Int
SpaceVelocityFlags -> SpaceVelocityFlags
SpaceVelocityFlags -> Int -> Bool
SpaceVelocityFlags -> Int -> SpaceVelocityFlags
SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
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 :: SpaceVelocityFlags -> Int
$cpopCount :: SpaceVelocityFlags -> Int
rotateR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$crotateR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
rotateL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$crotateL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
unsafeShiftR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cunsafeShiftR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
shiftR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cshiftR :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
unsafeShiftL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cunsafeShiftL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
shiftL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cshiftL :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
isSigned :: SpaceVelocityFlags -> Bool
$cisSigned :: SpaceVelocityFlags -> Bool
bitSize :: SpaceVelocityFlags -> Int
$cbitSize :: SpaceVelocityFlags -> Int
bitSizeMaybe :: SpaceVelocityFlags -> Maybe Int
$cbitSizeMaybe :: SpaceVelocityFlags -> Maybe Int
testBit :: SpaceVelocityFlags -> Int -> Bool
$ctestBit :: SpaceVelocityFlags -> Int -> Bool
complementBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$ccomplementBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
clearBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cclearBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
setBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$csetBit :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
bit :: Int -> SpaceVelocityFlags
$cbit :: Int -> SpaceVelocityFlags
zeroBits :: SpaceVelocityFlags
$czeroBits :: SpaceVelocityFlags
rotate :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$crotate :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
shift :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
$cshift :: SpaceVelocityFlags -> Int -> SpaceVelocityFlags
complement :: SpaceVelocityFlags -> SpaceVelocityFlags
$ccomplement :: SpaceVelocityFlags -> SpaceVelocityFlags
xor :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$cxor :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
.|. :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$c.|. :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
.&. :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$c.&. :: SpaceVelocityFlags -> SpaceVelocityFlags -> SpaceVelocityFlags
$cp1Bits :: Eq SpaceVelocityFlags
Bits, Bits SpaceVelocityFlags
Bits SpaceVelocityFlags =>
(SpaceVelocityFlags -> Int)
-> (SpaceVelocityFlags -> Int)
-> (SpaceVelocityFlags -> Int)
-> FiniteBits SpaceVelocityFlags
SpaceVelocityFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: SpaceVelocityFlags -> Int
$ccountTrailingZeros :: SpaceVelocityFlags -> Int
countLeadingZeros :: SpaceVelocityFlags -> Int
$ccountLeadingZeros :: SpaceVelocityFlags -> Int
finiteBitSize :: SpaceVelocityFlags -> Int
$cfiniteBitSize :: SpaceVelocityFlags -> Int
$cp1FiniteBits :: Bits SpaceVelocityFlags
FiniteBits)



conNameSpaceVelocityFlags :: String
conNameSpaceVelocityFlags :: String
conNameSpaceVelocityFlags = "SpaceVelocityFlags"

enumPrefixSpaceVelocityFlags :: String
enumPrefixSpaceVelocityFlags :: String
enumPrefixSpaceVelocityFlags = ""

showTableSpaceVelocityFlags :: [(SpaceVelocityFlags, String)]
showTableSpaceVelocityFlags :: [(SpaceVelocityFlags, String)]
showTableSpaceVelocityFlags = []

instance Show SpaceVelocityFlags where
  showsPrec :: Int -> SpaceVelocityFlags -> ShowS
showsPrec = String
-> [(SpaceVelocityFlags, String)]
-> String
-> (SpaceVelocityFlags -> Flags64)
-> (Flags64 -> ShowS)
-> Int
-> SpaceVelocityFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixSpaceVelocityFlags
                            [(SpaceVelocityFlags, String)]
showTableSpaceVelocityFlags
                            String
conNameSpaceVelocityFlags
                            (\(SpaceVelocityFlags x :: Flags64
x) -> Flags64
x)
                            (\x :: Flags64
x -> String -> ShowS
showString "0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags64
x)

instance Read SpaceVelocityFlags where
  readPrec :: ReadPrec SpaceVelocityFlags
readPrec =
    String
-> [(SpaceVelocityFlags, String)]
-> String
-> (Flags64 -> SpaceVelocityFlags)
-> ReadPrec SpaceVelocityFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixSpaceVelocityFlags [(SpaceVelocityFlags, String)]
showTableSpaceVelocityFlags String
conNameSpaceVelocityFlags Flags64 -> SpaceVelocityFlags
SpaceVelocityFlags