{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,
  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,
  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}
module HROOT.Hist.TH2Poly.RawType where
import Foreign.Ptr
import FFICXX.Runtime.Cast

data RawTH2Poly

newtype TH2Poly = TH2Poly (Ptr RawTH2Poly)
                    deriving (TH2Poly -> TH2Poly -> Bool
(TH2Poly -> TH2Poly -> Bool)
-> (TH2Poly -> TH2Poly -> Bool) -> Eq TH2Poly
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TH2Poly -> TH2Poly -> Bool
== :: TH2Poly -> TH2Poly -> Bool
$c/= :: TH2Poly -> TH2Poly -> Bool
/= :: TH2Poly -> TH2Poly -> Bool
Eq, Eq TH2Poly
Eq TH2Poly
-> (TH2Poly -> TH2Poly -> Ordering)
-> (TH2Poly -> TH2Poly -> Bool)
-> (TH2Poly -> TH2Poly -> Bool)
-> (TH2Poly -> TH2Poly -> Bool)
-> (TH2Poly -> TH2Poly -> Bool)
-> (TH2Poly -> TH2Poly -> TH2Poly)
-> (TH2Poly -> TH2Poly -> TH2Poly)
-> Ord TH2Poly
TH2Poly -> TH2Poly -> Bool
TH2Poly -> TH2Poly -> Ordering
TH2Poly -> TH2Poly -> TH2Poly
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
$ccompare :: TH2Poly -> TH2Poly -> Ordering
compare :: TH2Poly -> TH2Poly -> Ordering
$c< :: TH2Poly -> TH2Poly -> Bool
< :: TH2Poly -> TH2Poly -> Bool
$c<= :: TH2Poly -> TH2Poly -> Bool
<= :: TH2Poly -> TH2Poly -> Bool
$c> :: TH2Poly -> TH2Poly -> Bool
> :: TH2Poly -> TH2Poly -> Bool
$c>= :: TH2Poly -> TH2Poly -> Bool
>= :: TH2Poly -> TH2Poly -> Bool
$cmax :: TH2Poly -> TH2Poly -> TH2Poly
max :: TH2Poly -> TH2Poly -> TH2Poly
$cmin :: TH2Poly -> TH2Poly -> TH2Poly
min :: TH2Poly -> TH2Poly -> TH2Poly
Ord, Int -> TH2Poly -> ShowS
[TH2Poly] -> ShowS
TH2Poly -> String
(Int -> TH2Poly -> ShowS)
-> (TH2Poly -> String) -> ([TH2Poly] -> ShowS) -> Show TH2Poly
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TH2Poly -> ShowS
showsPrec :: Int -> TH2Poly -> ShowS
$cshow :: TH2Poly -> String
show :: TH2Poly -> String
$cshowList :: [TH2Poly] -> ShowS
showList :: [TH2Poly] -> ShowS
Show)

instance () => FPtr (TH2Poly) where
        type Raw TH2Poly = RawTH2Poly
        get_fptr :: TH2Poly -> Ptr (Raw TH2Poly)
get_fptr (TH2Poly Ptr RawTH2Poly
ptr) = Ptr (Raw TH2Poly)
Ptr RawTH2Poly
ptr
        cast_fptr_to_obj :: Ptr (Raw TH2Poly) -> TH2Poly
cast_fptr_to_obj = Ptr (Raw TH2Poly) -> TH2Poly
Ptr RawTH2Poly -> TH2Poly
TH2Poly