{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Tree.TChain.RawType where import Foreign.Ptr import FFICXX.Runtime.Cast data RawTChain newtype TChain = TChain (Ptr RawTChain) deriving (TChain -> TChain -> Bool (TChain -> TChain -> Bool) -> (TChain -> TChain -> Bool) -> Eq TChain forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: TChain -> TChain -> Bool == :: TChain -> TChain -> Bool $c/= :: TChain -> TChain -> Bool /= :: TChain -> TChain -> Bool Eq, Eq TChain Eq TChain -> (TChain -> TChain -> Ordering) -> (TChain -> TChain -> Bool) -> (TChain -> TChain -> Bool) -> (TChain -> TChain -> Bool) -> (TChain -> TChain -> Bool) -> (TChain -> TChain -> TChain) -> (TChain -> TChain -> TChain) -> Ord TChain TChain -> TChain -> Bool TChain -> TChain -> Ordering TChain -> TChain -> TChain 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 :: TChain -> TChain -> Ordering compare :: TChain -> TChain -> Ordering $c< :: TChain -> TChain -> Bool < :: TChain -> TChain -> Bool $c<= :: TChain -> TChain -> Bool <= :: TChain -> TChain -> Bool $c> :: TChain -> TChain -> Bool > :: TChain -> TChain -> Bool $c>= :: TChain -> TChain -> Bool >= :: TChain -> TChain -> Bool $cmax :: TChain -> TChain -> TChain max :: TChain -> TChain -> TChain $cmin :: TChain -> TChain -> TChain min :: TChain -> TChain -> TChain Ord, Int -> TChain -> ShowS [TChain] -> ShowS TChain -> String (Int -> TChain -> ShowS) -> (TChain -> String) -> ([TChain] -> ShowS) -> Show TChain forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> TChain -> ShowS showsPrec :: Int -> TChain -> ShowS $cshow :: TChain -> String show :: TChain -> String $cshowList :: [TChain] -> ShowS showList :: [TChain] -> ShowS Show) instance () => FPtr (TChain) where type Raw TChain = RawTChain get_fptr :: TChain -> Ptr (Raw TChain) get_fptr (TChain Ptr RawTChain ptr) = Ptr (Raw TChain) Ptr RawTChain ptr cast_fptr_to_obj :: Ptr (Raw TChain) -> TChain cast_fptr_to_obj = Ptr (Raw TChain) -> TChain Ptr RawTChain -> TChain TChain