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

data RawTPCON

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

instance () => FPtr (TPCON) where
        type Raw TPCON = RawTPCON
        get_fptr :: TPCON -> Ptr (Raw TPCON)
get_fptr (TPCON Ptr RawTPCON
ptr) = Ptr (Raw TPCON)
Ptr RawTPCON
ptr
        cast_fptr_to_obj :: Ptr (Raw TPCON) -> TPCON
cast_fptr_to_obj = Ptr (Raw TPCON) -> TPCON
Ptr RawTPCON -> TPCON
TPCON