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

data RawTROOT

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

instance () => FPtr (TROOT) where
        type Raw TROOT = RawTROOT
        get_fptr :: TROOT -> Ptr (Raw TROOT)
get_fptr (TROOT Ptr RawTROOT
ptr) = Ptr (Raw TROOT)
Ptr RawTROOT
ptr
        cast_fptr_to_obj :: Ptr (Raw TROOT) -> TROOT
cast_fptr_to_obj = Ptr (Raw TROOT) -> TROOT
Ptr RawTROOT -> TROOT
TROOT