module Data.SpirV.Reflect.Enums.SpirvDim where

import Data.SpirV.Reflect.Enums.Common

newtype Dim = Dim Int32
  deriving newtype (Dim -> Dim -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Dim -> Dim -> Bool
$c/= :: Dim -> Dim -> Bool
== :: Dim -> Dim -> Bool
$c== :: Dim -> Dim -> Bool
Eq, Eq Dim
Dim -> Dim -> Bool
Dim -> Dim -> Ordering
Dim -> Dim -> Dim
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 :: Dim -> Dim -> Dim
$cmin :: Dim -> Dim -> Dim
max :: Dim -> Dim -> Dim
$cmax :: Dim -> Dim -> Dim
>= :: Dim -> Dim -> Bool
$c>= :: Dim -> Dim -> Bool
> :: Dim -> Dim -> Bool
$c> :: Dim -> Dim -> Bool
<= :: Dim -> Dim -> Bool
$c<= :: Dim -> Dim -> Bool
< :: Dim -> Dim -> Bool
$c< :: Dim -> Dim -> Bool
compare :: Dim -> Dim -> Ordering
$ccompare :: Dim -> Dim -> Ordering
Ord, Int -> Dim -> ShowS
[Dim] -> ShowS
Dim -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Dim] -> ShowS
$cshowList :: [Dim] -> ShowS
show :: Dim -> String
$cshow :: Dim -> String
showsPrec :: Int -> Dim -> ShowS
$cshowsPrec :: Int -> Dim -> ShowS
Show, Int -> Dim
Dim -> Int
Dim -> [Dim]
Dim -> Dim
Dim -> Dim -> [Dim]
Dim -> Dim -> Dim -> [Dim]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: Dim -> Dim -> Dim -> [Dim]
$cenumFromThenTo :: Dim -> Dim -> Dim -> [Dim]
enumFromTo :: Dim -> Dim -> [Dim]
$cenumFromTo :: Dim -> Dim -> [Dim]
enumFromThen :: Dim -> Dim -> [Dim]
$cenumFromThen :: Dim -> Dim -> [Dim]
enumFrom :: Dim -> [Dim]
$cenumFrom :: Dim -> [Dim]
fromEnum :: Dim -> Int
$cfromEnum :: Dim -> Int
toEnum :: Int -> Dim
$ctoEnum :: Int -> Dim
pred :: Dim -> Dim
$cpred :: Dim -> Dim
succ :: Dim -> Dim
$csucc :: Dim -> Dim
Enum, Dim
forall a. a -> a -> Bounded a
maxBound :: Dim
$cmaxBound :: Dim
minBound :: Dim
$cminBound :: Dim
Bounded)

pattern Dim1D :: Dim
pattern $bDim1D :: Dim
$mDim1D :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
Dim1D = Dim 0

pattern Dim2D :: Dim
pattern $bDim2D :: Dim
$mDim2D :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
Dim2D = Dim 1

pattern Dim3D :: Dim
pattern $bDim3D :: Dim
$mDim3D :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
Dim3D = Dim 2

pattern DimCube :: Dim
pattern $bDimCube :: Dim
$mDimCube :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
DimCube = Dim 3

pattern DimRect :: Dim
pattern $bDimRect :: Dim
$mDimRect :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
DimRect = Dim 4

pattern DimBuffer :: Dim
pattern $bDimBuffer :: Dim
$mDimBuffer :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
DimBuffer = Dim 5

pattern DimSubpassData :: Dim
pattern $bDimSubpassData :: Dim
$mDimSubpassData :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
DimSubpassData = Dim 6

pattern DimMax :: Dim
pattern $bDimMax :: Dim
$mDimMax :: forall {r}. Dim -> ((# #) -> r) -> ((# #) -> r) -> r
DimMax = Dim 0x7fffffff