module Database.RethinkDB.Internal.Query_Language.Builtin.Comparison (Comparison(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude as Prelude'
import qualified Data.Typeable as Prelude'
import qualified Data.Data as Prelude'
import qualified Text.ProtocolBuffers.Header as P'
data Comparison = EQ
| NE
| LT
| LE
| GT
| GE
deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)
instance P'.Mergeable Comparison
instance Prelude'.Bounded Comparison where
minBound = EQ
maxBound = GE
instance P'.Default Comparison where
defaultValue = EQ
toMaybe'Enum :: Prelude'.Int -> P'.Maybe Comparison
toMaybe'Enum 1 = Prelude'.Just EQ
toMaybe'Enum 2 = Prelude'.Just NE
toMaybe'Enum 3 = Prelude'.Just LT
toMaybe'Enum 4 = Prelude'.Just LE
toMaybe'Enum 5 = Prelude'.Just GT
toMaybe'Enum 6 = Prelude'.Just GE
toMaybe'Enum _ = Prelude'.Nothing
instance Prelude'.Enum Comparison where
fromEnum EQ = 1
fromEnum NE = 2
fromEnum LT = 3
fromEnum LE = 4
fromEnum GT = 5
fromEnum GE = 6
toEnum
= P'.fromMaybe
(Prelude'.error
"hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison")
. toMaybe'Enum
succ EQ = NE
succ NE = LT
succ LT = LE
succ LE = GT
succ GT = GE
succ _
= Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison"
pred NE = EQ
pred LT = NE
pred LE = LT
pred GT = LE
pred GE = GT
pred _
= Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison"
instance P'.Wire Comparison where
wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
wireGet 14 = P'.wireGetEnum toMaybe'Enum
wireGet ft' = P'.wireGetErr ft'
wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
wireGetPacked ft' = P'.wireGetErr ft'
instance P'.GPB Comparison
instance P'.MessageAPI msg' (msg' -> Comparison) Comparison where
getVal m' f' = f' m'
instance P'.ReflectEnum Comparison where
reflectEnum = [(1, "EQ", EQ), (2, "NE", NE), (3, "LT", LT), (4, "LE", LE), (5, "GT", GT), (6, "GE", GE)]
reflectEnumInfo _
= P'.EnumInfo
(P'.makePNF (P'.pack ".Query_Language.Builtin.Comparison") ["Database", "RethinkDB", "Internal"] ["Query_Language", "Builtin"]
"Comparison")
["Database", "RethinkDB", "Internal", "Query_Language", "Builtin", "Comparison.hs"]
[(1, "EQ"), (2, "NE"), (3, "LT"), (4, "LE"), (5, "GT"), (6, "GE")]