module ClickHaskell.Primitive.TEnum where
import ClickHaskell.Primitive.Serialization
import Data.Bits (Bits)
import Data.ByteString.Builder (byteString, int8, int16LE)
import Data.ByteString.Char8 as BS8 (pack)
import Data.Int (Int8, Int16)
import Data.Typeable (Proxy (..))
import GHC.TypeLits (KnownSymbol, Symbol, symbolVal)
import Data.Binary.Get (getInt8, getInt16le)
newtype Enum8 (enums :: Symbol) = MkEnum8 Int8
deriving newtype (Int -> Enum8 enums -> ShowS
[Enum8 enums] -> ShowS
Enum8 enums -> String
(Int -> Enum8 enums -> ShowS)
-> (Enum8 enums -> String)
-> ([Enum8 enums] -> ShowS)
-> Show (Enum8 enums)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (enums :: Symbol). Int -> Enum8 enums -> ShowS
forall (enums :: Symbol). [Enum8 enums] -> ShowS
forall (enums :: Symbol). Enum8 enums -> String
$cshowsPrec :: forall (enums :: Symbol). Int -> Enum8 enums -> ShowS
showsPrec :: Int -> Enum8 enums -> ShowS
$cshow :: forall (enums :: Symbol). Enum8 enums -> String
show :: Enum8 enums -> String
$cshowList :: forall (enums :: Symbol). [Enum8 enums] -> ShowS
showList :: [Enum8 enums] -> ShowS
Show, Enum8 enums -> Enum8 enums -> Bool
(Enum8 enums -> Enum8 enums -> Bool)
-> (Enum8 enums -> Enum8 enums -> Bool) -> Eq (Enum8 enums)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Bool
$c== :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Bool
== :: Enum8 enums -> Enum8 enums -> Bool
$c/= :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Bool
/= :: Enum8 enums -> Enum8 enums -> Bool
Eq, Integer -> Enum8 enums
Enum8 enums -> Enum8 enums
Enum8 enums -> Enum8 enums -> Enum8 enums
(Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums)
-> (Integer -> Enum8 enums)
-> Num (Enum8 enums)
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
forall (enums :: Symbol). Integer -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
$c+ :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
+ :: Enum8 enums -> Enum8 enums -> Enum8 enums
$c- :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
- :: Enum8 enums -> Enum8 enums -> Enum8 enums
$c* :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
* :: Enum8 enums -> Enum8 enums -> Enum8 enums
$cnegate :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
negate :: Enum8 enums -> Enum8 enums
$cabs :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
abs :: Enum8 enums -> Enum8 enums
$csignum :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
signum :: Enum8 enums -> Enum8 enums
$cfromInteger :: forall (enums :: Symbol). Integer -> Enum8 enums
fromInteger :: Integer -> Enum8 enums
Num, Eq (Enum8 enums)
Enum8 enums
Eq (Enum8 enums) =>
(Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> Enum8 enums
-> (Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Bool)
-> (Enum8 enums -> Maybe Int)
-> (Enum8 enums -> Int)
-> (Enum8 enums -> Bool)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int -> Enum8 enums)
-> (Enum8 enums -> Int)
-> Bits (Enum8 enums)
Int -> Enum8 enums
Enum8 enums -> Bool
Enum8 enums -> Int
Enum8 enums -> Maybe Int
Enum8 enums -> Enum8 enums
Enum8 enums -> Int -> Bool
Enum8 enums -> Int -> Enum8 enums
Enum8 enums -> Enum8 enums -> Enum8 enums
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
forall (enums :: Symbol). Eq (Enum8 enums)
forall (enums :: Symbol). Enum8 enums
forall (enums :: Symbol). Int -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Bool
forall (enums :: Symbol). Enum8 enums -> Int
forall (enums :: Symbol). Enum8 enums -> Maybe Int
forall (enums :: Symbol). Enum8 enums -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Int -> Bool
forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
$c.&. :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
.&. :: Enum8 enums -> Enum8 enums -> Enum8 enums
$c.|. :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
.|. :: Enum8 enums -> Enum8 enums -> Enum8 enums
$cxor :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums -> Enum8 enums
xor :: Enum8 enums -> Enum8 enums -> Enum8 enums
$ccomplement :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
complement :: Enum8 enums -> Enum8 enums
$cshift :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
shift :: Enum8 enums -> Int -> Enum8 enums
$crotate :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
rotate :: Enum8 enums -> Int -> Enum8 enums
$czeroBits :: forall (enums :: Symbol). Enum8 enums
zeroBits :: Enum8 enums
$cbit :: forall (enums :: Symbol). Int -> Enum8 enums
bit :: Int -> Enum8 enums
$csetBit :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
setBit :: Enum8 enums -> Int -> Enum8 enums
$cclearBit :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
clearBit :: Enum8 enums -> Int -> Enum8 enums
$ccomplementBit :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
complementBit :: Enum8 enums -> Int -> Enum8 enums
$ctestBit :: forall (enums :: Symbol). Enum8 enums -> Int -> Bool
testBit :: Enum8 enums -> Int -> Bool
$cbitSizeMaybe :: forall (enums :: Symbol). Enum8 enums -> Maybe Int
bitSizeMaybe :: Enum8 enums -> Maybe Int
$cbitSize :: forall (enums :: Symbol). Enum8 enums -> Int
bitSize :: Enum8 enums -> Int
$cisSigned :: forall (enums :: Symbol). Enum8 enums -> Bool
isSigned :: Enum8 enums -> Bool
$cshiftL :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
shiftL :: Enum8 enums -> Int -> Enum8 enums
$cunsafeShiftL :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
unsafeShiftL :: Enum8 enums -> Int -> Enum8 enums
$cshiftR :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
shiftR :: Enum8 enums -> Int -> Enum8 enums
$cunsafeShiftR :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
unsafeShiftR :: Enum8 enums -> Int -> Enum8 enums
$crotateL :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
rotateL :: Enum8 enums -> Int -> Enum8 enums
$crotateR :: forall (enums :: Symbol). Enum8 enums -> Int -> Enum8 enums
rotateR :: Enum8 enums -> Int -> Enum8 enums
$cpopCount :: forall (enums :: Symbol). Enum8 enums -> Int
popCount :: Enum8 enums -> Int
Bits, Enum8 enums
Enum8 enums -> Enum8 enums -> Bounded (Enum8 enums)
forall a. a -> a -> Bounded a
forall (enums :: Symbol). Enum8 enums
$cminBound :: forall (enums :: Symbol). Enum8 enums
minBound :: Enum8 enums
$cmaxBound :: forall (enums :: Symbol). Enum8 enums
maxBound :: Enum8 enums
Bounded, Int -> Enum8 enums
Enum8 enums -> Int
Enum8 enums -> [Enum8 enums]
Enum8 enums -> Enum8 enums
Enum8 enums -> Enum8 enums -> [Enum8 enums]
Enum8 enums -> Enum8 enums -> Enum8 enums -> [Enum8 enums]
(Enum8 enums -> Enum8 enums)
-> (Enum8 enums -> Enum8 enums)
-> (Int -> Enum8 enums)
-> (Enum8 enums -> Int)
-> (Enum8 enums -> [Enum8 enums])
-> (Enum8 enums -> Enum8 enums -> [Enum8 enums])
-> (Enum8 enums -> Enum8 enums -> [Enum8 enums])
-> (Enum8 enums -> Enum8 enums -> Enum8 enums -> [Enum8 enums])
-> Enum (Enum8 enums)
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
forall (enums :: Symbol). Int -> Enum8 enums
forall (enums :: Symbol). Enum8 enums -> Int
forall (enums :: Symbol). Enum8 enums -> [Enum8 enums]
forall (enums :: Symbol). Enum8 enums -> Enum8 enums
forall (enums :: Symbol).
Enum8 enums -> Enum8 enums -> [Enum8 enums]
forall (enums :: Symbol).
Enum8 enums -> Enum8 enums -> Enum8 enums -> [Enum8 enums]
$csucc :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
succ :: Enum8 enums -> Enum8 enums
$cpred :: forall (enums :: Symbol). Enum8 enums -> Enum8 enums
pred :: Enum8 enums -> Enum8 enums
$ctoEnum :: forall (enums :: Symbol). Int -> Enum8 enums
toEnum :: Int -> Enum8 enums
$cfromEnum :: forall (enums :: Symbol). Enum8 enums -> Int
fromEnum :: Enum8 enums -> Int
$cenumFrom :: forall (enums :: Symbol). Enum8 enums -> [Enum8 enums]
enumFrom :: Enum8 enums -> [Enum8 enums]
$cenumFromThen :: forall (enums :: Symbol).
Enum8 enums -> Enum8 enums -> [Enum8 enums]
enumFromThen :: Enum8 enums -> Enum8 enums -> [Enum8 enums]
$cenumFromTo :: forall (enums :: Symbol).
Enum8 enums -> Enum8 enums -> [Enum8 enums]
enumFromTo :: Enum8 enums -> Enum8 enums -> [Enum8 enums]
$cenumFromThenTo :: forall (enums :: Symbol).
Enum8 enums -> Enum8 enums -> Enum8 enums -> [Enum8 enums]
enumFromThenTo :: Enum8 enums -> Enum8 enums -> Enum8 enums -> [Enum8 enums]
Enum)
instance KnownSymbol enums => IsChType (Enum8 enums) where
chTypeName :: String
chTypeName = String
"Enum8(" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal @enums Proxy enums
forall {k} (t :: k). Proxy t
Proxy String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"
defaultValueOfTypeName :: Enum8 enums
defaultValueOfTypeName = Enum8 enums
0
instance Serializable (Enum8 enums) where
serialize :: ProtocolRevision -> Enum8 enums -> Builder
serialize ProtocolRevision
_ (MkEnum8 Int8
i8) = Int8 -> Builder
int8 Int8
i8
deserialize :: ProtocolRevision -> Get (Enum8 enums)
deserialize ProtocolRevision
_ = Int8 -> Enum8 enums
forall (enums :: Symbol). Int8 -> Enum8 enums
MkEnum8 (Int8 -> Enum8 enums) -> Get Int8 -> Get (Enum8 enums)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Get Int8
getInt8
{-# INLINE deserialize #-}
instance ToChType (Enum8 enums) Int8 where
toChType :: Int8 -> Enum8 enums
toChType = Int8 -> Enum8 enums
forall (enums :: Symbol). Int8 -> Enum8 enums
MkEnum8
fromChType :: Enum8 enums -> Int8
fromChType (MkEnum8 Int8
i8)= Int8
i8
instance ToQueryPart (Enum8 enums) where
toQueryPart :: Enum8 enums -> Builder
toQueryPart = StrictByteString -> Builder
byteString (StrictByteString -> Builder)
-> (Enum8 enums -> StrictByteString) -> Enum8 enums -> Builder
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> StrictByteString
BS8.pack (String -> StrictByteString)
-> (Enum8 enums -> String) -> Enum8 enums -> StrictByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int8 -> String
forall a. Show a => a -> String
show (Int8 -> String) -> (Enum8 enums -> Int8) -> Enum8 enums -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall chType userType.
ToChType chType userType =>
chType -> userType
fromChType @_ @Int8
newtype Enum16 (enums :: Symbol) = MkEnum16 Int16
deriving newtype (Int -> Enum16 enums -> ShowS
[Enum16 enums] -> ShowS
Enum16 enums -> String
(Int -> Enum16 enums -> ShowS)
-> (Enum16 enums -> String)
-> ([Enum16 enums] -> ShowS)
-> Show (Enum16 enums)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (enums :: Symbol). Int -> Enum16 enums -> ShowS
forall (enums :: Symbol). [Enum16 enums] -> ShowS
forall (enums :: Symbol). Enum16 enums -> String
$cshowsPrec :: forall (enums :: Symbol). Int -> Enum16 enums -> ShowS
showsPrec :: Int -> Enum16 enums -> ShowS
$cshow :: forall (enums :: Symbol). Enum16 enums -> String
show :: Enum16 enums -> String
$cshowList :: forall (enums :: Symbol). [Enum16 enums] -> ShowS
showList :: [Enum16 enums] -> ShowS
Show, Enum16 enums -> Enum16 enums -> Bool
(Enum16 enums -> Enum16 enums -> Bool)
-> (Enum16 enums -> Enum16 enums -> Bool) -> Eq (Enum16 enums)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (enums :: Symbol). Enum16 enums -> Enum16 enums -> Bool
$c== :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums -> Bool
== :: Enum16 enums -> Enum16 enums -> Bool
$c/= :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums -> Bool
/= :: Enum16 enums -> Enum16 enums -> Bool
Eq, Integer -> Enum16 enums
Enum16 enums -> Enum16 enums
Enum16 enums -> Enum16 enums -> Enum16 enums
(Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums)
-> (Integer -> Enum16 enums)
-> Num (Enum16 enums)
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
forall (enums :: Symbol). Integer -> Enum16 enums
forall (enums :: Symbol). Enum16 enums -> Enum16 enums
forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
$c+ :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
+ :: Enum16 enums -> Enum16 enums -> Enum16 enums
$c- :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
- :: Enum16 enums -> Enum16 enums -> Enum16 enums
$c* :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
* :: Enum16 enums -> Enum16 enums -> Enum16 enums
$cnegate :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
negate :: Enum16 enums -> Enum16 enums
$cabs :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
abs :: Enum16 enums -> Enum16 enums
$csignum :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
signum :: Enum16 enums -> Enum16 enums
$cfromInteger :: forall (enums :: Symbol). Integer -> Enum16 enums
fromInteger :: Integer -> Enum16 enums
Num, Eq (Enum16 enums)
Enum16 enums
Eq (Enum16 enums) =>
(Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> Enum16 enums
-> (Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Bool)
-> (Enum16 enums -> Maybe Int)
-> (Enum16 enums -> Int)
-> (Enum16 enums -> Bool)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int -> Enum16 enums)
-> (Enum16 enums -> Int)
-> Bits (Enum16 enums)
Int -> Enum16 enums
Enum16 enums -> Bool
Enum16 enums -> Int
Enum16 enums -> Maybe Int
Enum16 enums -> Enum16 enums
Enum16 enums -> Int -> Bool
Enum16 enums -> Int -> Enum16 enums
Enum16 enums -> Enum16 enums -> Enum16 enums
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
forall (enums :: Symbol). Eq (Enum16 enums)
forall (enums :: Symbol). Enum16 enums
forall (enums :: Symbol). Int -> Enum16 enums
forall (enums :: Symbol). Enum16 enums -> Bool
forall (enums :: Symbol). Enum16 enums -> Int
forall (enums :: Symbol). Enum16 enums -> Maybe Int
forall (enums :: Symbol). Enum16 enums -> Enum16 enums
forall (enums :: Symbol). Enum16 enums -> Int -> Bool
forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
$c.&. :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
.&. :: Enum16 enums -> Enum16 enums -> Enum16 enums
$c.|. :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
.|. :: Enum16 enums -> Enum16 enums -> Enum16 enums
$cxor :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums
xor :: Enum16 enums -> Enum16 enums -> Enum16 enums
$ccomplement :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
complement :: Enum16 enums -> Enum16 enums
$cshift :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
shift :: Enum16 enums -> Int -> Enum16 enums
$crotate :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
rotate :: Enum16 enums -> Int -> Enum16 enums
$czeroBits :: forall (enums :: Symbol). Enum16 enums
zeroBits :: Enum16 enums
$cbit :: forall (enums :: Symbol). Int -> Enum16 enums
bit :: Int -> Enum16 enums
$csetBit :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
setBit :: Enum16 enums -> Int -> Enum16 enums
$cclearBit :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
clearBit :: Enum16 enums -> Int -> Enum16 enums
$ccomplementBit :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
complementBit :: Enum16 enums -> Int -> Enum16 enums
$ctestBit :: forall (enums :: Symbol). Enum16 enums -> Int -> Bool
testBit :: Enum16 enums -> Int -> Bool
$cbitSizeMaybe :: forall (enums :: Symbol). Enum16 enums -> Maybe Int
bitSizeMaybe :: Enum16 enums -> Maybe Int
$cbitSize :: forall (enums :: Symbol). Enum16 enums -> Int
bitSize :: Enum16 enums -> Int
$cisSigned :: forall (enums :: Symbol). Enum16 enums -> Bool
isSigned :: Enum16 enums -> Bool
$cshiftL :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
shiftL :: Enum16 enums -> Int -> Enum16 enums
$cunsafeShiftL :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
unsafeShiftL :: Enum16 enums -> Int -> Enum16 enums
$cshiftR :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
shiftR :: Enum16 enums -> Int -> Enum16 enums
$cunsafeShiftR :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
unsafeShiftR :: Enum16 enums -> Int -> Enum16 enums
$crotateL :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
rotateL :: Enum16 enums -> Int -> Enum16 enums
$crotateR :: forall (enums :: Symbol). Enum16 enums -> Int -> Enum16 enums
rotateR :: Enum16 enums -> Int -> Enum16 enums
$cpopCount :: forall (enums :: Symbol). Enum16 enums -> Int
popCount :: Enum16 enums -> Int
Bits, Enum16 enums
Enum16 enums -> Enum16 enums -> Bounded (Enum16 enums)
forall a. a -> a -> Bounded a
forall (enums :: Symbol). Enum16 enums
$cminBound :: forall (enums :: Symbol). Enum16 enums
minBound :: Enum16 enums
$cmaxBound :: forall (enums :: Symbol). Enum16 enums
maxBound :: Enum16 enums
Bounded, Int -> Enum16 enums
Enum16 enums -> Int
Enum16 enums -> [Enum16 enums]
Enum16 enums -> Enum16 enums
Enum16 enums -> Enum16 enums -> [Enum16 enums]
Enum16 enums -> Enum16 enums -> Enum16 enums -> [Enum16 enums]
(Enum16 enums -> Enum16 enums)
-> (Enum16 enums -> Enum16 enums)
-> (Int -> Enum16 enums)
-> (Enum16 enums -> Int)
-> (Enum16 enums -> [Enum16 enums])
-> (Enum16 enums -> Enum16 enums -> [Enum16 enums])
-> (Enum16 enums -> Enum16 enums -> [Enum16 enums])
-> (Enum16 enums -> Enum16 enums -> Enum16 enums -> [Enum16 enums])
-> Enum (Enum16 enums)
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
forall (enums :: Symbol). Int -> Enum16 enums
forall (enums :: Symbol). Enum16 enums -> Int
forall (enums :: Symbol). Enum16 enums -> [Enum16 enums]
forall (enums :: Symbol). Enum16 enums -> Enum16 enums
forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> [Enum16 enums]
forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums -> [Enum16 enums]
$csucc :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
succ :: Enum16 enums -> Enum16 enums
$cpred :: forall (enums :: Symbol). Enum16 enums -> Enum16 enums
pred :: Enum16 enums -> Enum16 enums
$ctoEnum :: forall (enums :: Symbol). Int -> Enum16 enums
toEnum :: Int -> Enum16 enums
$cfromEnum :: forall (enums :: Symbol). Enum16 enums -> Int
fromEnum :: Enum16 enums -> Int
$cenumFrom :: forall (enums :: Symbol). Enum16 enums -> [Enum16 enums]
enumFrom :: Enum16 enums -> [Enum16 enums]
$cenumFromThen :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> [Enum16 enums]
enumFromThen :: Enum16 enums -> Enum16 enums -> [Enum16 enums]
$cenumFromTo :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> [Enum16 enums]
enumFromTo :: Enum16 enums -> Enum16 enums -> [Enum16 enums]
$cenumFromThenTo :: forall (enums :: Symbol).
Enum16 enums -> Enum16 enums -> Enum16 enums -> [Enum16 enums]
enumFromThenTo :: Enum16 enums -> Enum16 enums -> Enum16 enums -> [Enum16 enums]
Enum)
instance KnownSymbol enums => IsChType (Enum16 enums) where
chTypeName :: String
chTypeName = String
"Enum16(" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal @enums Proxy enums
forall {k} (t :: k). Proxy t
Proxy String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
")"
defaultValueOfTypeName :: Enum16 enums
defaultValueOfTypeName = Enum16 enums
0
instance Serializable (Enum16 enums) where
serialize :: ProtocolRevision -> Enum16 enums -> Builder
serialize ProtocolRevision
_ (MkEnum16 Int16
i16) = Int16 -> Builder
int16LE Int16
i16
deserialize :: ProtocolRevision -> Get (Enum16 enums)
deserialize ProtocolRevision
_ = Int16 -> Enum16 enums
forall (enums :: Symbol). Int16 -> Enum16 enums
MkEnum16 (Int16 -> Enum16 enums) -> Get Int16 -> Get (Enum16 enums)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Get Int16
getInt16le
{-# INLINE deserialize #-}
instance ToChType (Enum16 enums) Int16 where
toChType :: Int16 -> Enum16 enums
toChType = Int16 -> Enum16 enums
forall (enums :: Symbol). Int16 -> Enum16 enums
MkEnum16
fromChType :: Enum16 enums -> Int16
fromChType (MkEnum16 Int16
i16) = Int16
i16
instance ToQueryPart (Enum16 enums) where
toQueryPart :: Enum16 enums -> Builder
toQueryPart = StrictByteString -> Builder
byteString (StrictByteString -> Builder)
-> (Enum16 enums -> StrictByteString) -> Enum16 enums -> Builder
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> StrictByteString
BS8.pack (String -> StrictByteString)
-> (Enum16 enums -> String) -> Enum16 enums -> StrictByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int16 -> String
forall a. Show a => a -> String
show (Int16 -> String)
-> (Enum16 enums -> Int16) -> Enum16 enums -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall chType userType.
ToChType chType userType =>
chType -> userType
fromChType @_ @Int16