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