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