{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,
  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,
  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}
module HROOT.Core.TQObject.RawType where
import Foreign.Ptr
import FFICXX.Runtime.Cast

data RawTQObject

newtype TQObject = TQObject (Ptr RawTQObject)
                     deriving (TQObject -> TQObject -> Bool
(TQObject -> TQObject -> Bool)
-> (TQObject -> TQObject -> Bool) -> Eq TQObject
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TQObject -> TQObject -> Bool
== :: TQObject -> TQObject -> Bool
$c/= :: TQObject -> TQObject -> Bool
/= :: TQObject -> TQObject -> Bool
Eq, Eq TQObject
Eq TQObject
-> (TQObject -> TQObject -> Ordering)
-> (TQObject -> TQObject -> Bool)
-> (TQObject -> TQObject -> Bool)
-> (TQObject -> TQObject -> Bool)
-> (TQObject -> TQObject -> Bool)
-> (TQObject -> TQObject -> TQObject)
-> (TQObject -> TQObject -> TQObject)
-> Ord TQObject
TQObject -> TQObject -> Bool
TQObject -> TQObject -> Ordering
TQObject -> TQObject -> TQObject
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 :: TQObject -> TQObject -> Ordering
compare :: TQObject -> TQObject -> Ordering
$c< :: TQObject -> TQObject -> Bool
< :: TQObject -> TQObject -> Bool
$c<= :: TQObject -> TQObject -> Bool
<= :: TQObject -> TQObject -> Bool
$c> :: TQObject -> TQObject -> Bool
> :: TQObject -> TQObject -> Bool
$c>= :: TQObject -> TQObject -> Bool
>= :: TQObject -> TQObject -> Bool
$cmax :: TQObject -> TQObject -> TQObject
max :: TQObject -> TQObject -> TQObject
$cmin :: TQObject -> TQObject -> TQObject
min :: TQObject -> TQObject -> TQObject
Ord, Int -> TQObject -> ShowS
[TQObject] -> ShowS
TQObject -> String
(Int -> TQObject -> ShowS)
-> (TQObject -> String) -> ([TQObject] -> ShowS) -> Show TQObject
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TQObject -> ShowS
showsPrec :: Int -> TQObject -> ShowS
$cshow :: TQObject -> String
show :: TQObject -> String
$cshowList :: [TQObject] -> ShowS
showList :: [TQObject] -> ShowS
Show)

instance () => FPtr (TQObject) where
        type Raw TQObject = RawTQObject
        get_fptr :: TQObject -> Ptr (Raw TQObject)
get_fptr (TQObject Ptr RawTQObject
ptr) = Ptr (Raw TQObject)
Ptr RawTQObject
ptr
        cast_fptr_to_obj :: Ptr (Raw TQObject) -> TQObject
cast_fptr_to_obj = Ptr (Raw TQObject) -> TQObject
Ptr RawTQObject -> TQObject
TQObject