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