{-# language CPP #-}
-- No documentation found for Chapter "SpaceLocationFlags"
module OpenXR.Core10.Enums.SpaceLocationFlags  (SpaceLocationFlags(..)) 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)
-- | XrSpaceLocationFlags - Space location flags
--
-- = Description
--
-- where the flags have the following meaning:
--
-- == Flag Descriptions
--
-- = See Also
--
-- 'OpenXR.Extensions.XR_EXT_hand_tracking.HandJointLocationEXT',
-- 'OpenXR.Core10.Space.SpaceLocation'
newtype SpaceLocationFlags = SpaceLocationFlags Flags64
  deriving newtype (SpaceLocationFlags -> SpaceLocationFlags -> Bool
(SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> Eq SpaceLocationFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c/= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
== :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c== :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
Eq, Eq SpaceLocationFlags
Eq SpaceLocationFlags =>
(SpaceLocationFlags -> SpaceLocationFlags -> Ordering)
-> (SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags)
-> (SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags)
-> Ord SpaceLocationFlags
SpaceLocationFlags -> SpaceLocationFlags -> Bool
SpaceLocationFlags -> SpaceLocationFlags -> Ordering
SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
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 :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$cmin :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
max :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$cmax :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
>= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c>= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
> :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c> :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
<= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c<= :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
< :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
$c< :: SpaceLocationFlags -> SpaceLocationFlags -> Bool
compare :: SpaceLocationFlags -> SpaceLocationFlags -> Ordering
$ccompare :: SpaceLocationFlags -> SpaceLocationFlags -> Ordering
$cp1Ord :: Eq SpaceLocationFlags
Ord, Ptr b -> Int -> IO SpaceLocationFlags
Ptr b -> Int -> SpaceLocationFlags -> IO ()
Ptr SpaceLocationFlags -> IO SpaceLocationFlags
Ptr SpaceLocationFlags -> Int -> IO SpaceLocationFlags
Ptr SpaceLocationFlags -> Int -> SpaceLocationFlags -> IO ()
Ptr SpaceLocationFlags -> SpaceLocationFlags -> IO ()
SpaceLocationFlags -> Int
(SpaceLocationFlags -> Int)
-> (SpaceLocationFlags -> Int)
-> (Ptr SpaceLocationFlags -> Int -> IO SpaceLocationFlags)
-> (Ptr SpaceLocationFlags -> Int -> SpaceLocationFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO SpaceLocationFlags)
-> (forall b. Ptr b -> Int -> SpaceLocationFlags -> IO ())
-> (Ptr SpaceLocationFlags -> IO SpaceLocationFlags)
-> (Ptr SpaceLocationFlags -> SpaceLocationFlags -> IO ())
-> Storable SpaceLocationFlags
forall b. Ptr b -> Int -> IO SpaceLocationFlags
forall b. Ptr b -> Int -> SpaceLocationFlags -> 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 SpaceLocationFlags -> SpaceLocationFlags -> IO ()
$cpoke :: Ptr SpaceLocationFlags -> SpaceLocationFlags -> IO ()
peek :: Ptr SpaceLocationFlags -> IO SpaceLocationFlags
$cpeek :: Ptr SpaceLocationFlags -> IO SpaceLocationFlags
pokeByteOff :: Ptr b -> Int -> SpaceLocationFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SpaceLocationFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO SpaceLocationFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SpaceLocationFlags
pokeElemOff :: Ptr SpaceLocationFlags -> Int -> SpaceLocationFlags -> IO ()
$cpokeElemOff :: Ptr SpaceLocationFlags -> Int -> SpaceLocationFlags -> IO ()
peekElemOff :: Ptr SpaceLocationFlags -> Int -> IO SpaceLocationFlags
$cpeekElemOff :: Ptr SpaceLocationFlags -> Int -> IO SpaceLocationFlags
alignment :: SpaceLocationFlags -> Int
$calignment :: SpaceLocationFlags -> Int
sizeOf :: SpaceLocationFlags -> Int
$csizeOf :: SpaceLocationFlags -> Int
Storable, SpaceLocationFlags
SpaceLocationFlags -> Zero SpaceLocationFlags
forall a. a -> Zero a
zero :: SpaceLocationFlags
$czero :: SpaceLocationFlags
Zero, Eq SpaceLocationFlags
SpaceLocationFlags
Eq SpaceLocationFlags =>
(SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags)
-> (SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags)
-> (SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags)
-> (SpaceLocationFlags -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> SpaceLocationFlags
-> (Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> Bool)
-> (SpaceLocationFlags -> Maybe Int)
-> (SpaceLocationFlags -> Int)
-> (SpaceLocationFlags -> Bool)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int -> SpaceLocationFlags)
-> (SpaceLocationFlags -> Int)
-> Bits SpaceLocationFlags
Int -> SpaceLocationFlags
SpaceLocationFlags -> Bool
SpaceLocationFlags -> Int
SpaceLocationFlags -> Maybe Int
SpaceLocationFlags -> SpaceLocationFlags
SpaceLocationFlags -> Int -> Bool
SpaceLocationFlags -> Int -> SpaceLocationFlags
SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
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 :: SpaceLocationFlags -> Int
$cpopCount :: SpaceLocationFlags -> Int
rotateR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$crotateR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
rotateL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$crotateL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
unsafeShiftR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cunsafeShiftR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
shiftR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cshiftR :: SpaceLocationFlags -> Int -> SpaceLocationFlags
unsafeShiftL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cunsafeShiftL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
shiftL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cshiftL :: SpaceLocationFlags -> Int -> SpaceLocationFlags
isSigned :: SpaceLocationFlags -> Bool
$cisSigned :: SpaceLocationFlags -> Bool
bitSize :: SpaceLocationFlags -> Int
$cbitSize :: SpaceLocationFlags -> Int
bitSizeMaybe :: SpaceLocationFlags -> Maybe Int
$cbitSizeMaybe :: SpaceLocationFlags -> Maybe Int
testBit :: SpaceLocationFlags -> Int -> Bool
$ctestBit :: SpaceLocationFlags -> Int -> Bool
complementBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$ccomplementBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
clearBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cclearBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
setBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$csetBit :: SpaceLocationFlags -> Int -> SpaceLocationFlags
bit :: Int -> SpaceLocationFlags
$cbit :: Int -> SpaceLocationFlags
zeroBits :: SpaceLocationFlags
$czeroBits :: SpaceLocationFlags
rotate :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$crotate :: SpaceLocationFlags -> Int -> SpaceLocationFlags
shift :: SpaceLocationFlags -> Int -> SpaceLocationFlags
$cshift :: SpaceLocationFlags -> Int -> SpaceLocationFlags
complement :: SpaceLocationFlags -> SpaceLocationFlags
$ccomplement :: SpaceLocationFlags -> SpaceLocationFlags
xor :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$cxor :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
.|. :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$c.|. :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
.&. :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$c.&. :: SpaceLocationFlags -> SpaceLocationFlags -> SpaceLocationFlags
$cp1Bits :: Eq SpaceLocationFlags
Bits, Bits SpaceLocationFlags
Bits SpaceLocationFlags =>
(SpaceLocationFlags -> Int)
-> (SpaceLocationFlags -> Int)
-> (SpaceLocationFlags -> Int)
-> FiniteBits SpaceLocationFlags
SpaceLocationFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: SpaceLocationFlags -> Int
$ccountTrailingZeros :: SpaceLocationFlags -> Int
countLeadingZeros :: SpaceLocationFlags -> Int
$ccountLeadingZeros :: SpaceLocationFlags -> Int
finiteBitSize :: SpaceLocationFlags -> Int
$cfiniteBitSize :: SpaceLocationFlags -> Int
$cp1FiniteBits :: Bits SpaceLocationFlags
FiniteBits)



conNameSpaceLocationFlags :: String
conNameSpaceLocationFlags :: String
conNameSpaceLocationFlags = "SpaceLocationFlags"

enumPrefixSpaceLocationFlags :: String
enumPrefixSpaceLocationFlags :: String
enumPrefixSpaceLocationFlags = ""

showTableSpaceLocationFlags :: [(SpaceLocationFlags, String)]
showTableSpaceLocationFlags :: [(SpaceLocationFlags, String)]
showTableSpaceLocationFlags = []

instance Show SpaceLocationFlags where
  showsPrec :: Int -> SpaceLocationFlags -> ShowS
showsPrec = String
-> [(SpaceLocationFlags, String)]
-> String
-> (SpaceLocationFlags -> Flags64)
-> (Flags64 -> ShowS)
-> Int
-> SpaceLocationFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixSpaceLocationFlags
                            [(SpaceLocationFlags, String)]
showTableSpaceLocationFlags
                            String
conNameSpaceLocationFlags
                            (\(SpaceLocationFlags 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 SpaceLocationFlags where
  readPrec :: ReadPrec SpaceLocationFlags
readPrec =
    String
-> [(SpaceLocationFlags, String)]
-> String
-> (Flags64 -> SpaceLocationFlags)
-> ReadPrec SpaceLocationFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixSpaceLocationFlags [(SpaceLocationFlags, String)]
showTableSpaceLocationFlags String
conNameSpaceLocationFlags Flags64 -> SpaceLocationFlags
SpaceLocationFlags