{-# 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