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

data RawTMarker

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

instance () => FPtr (TMarker) where
        type Raw TMarker = RawTMarker
        get_fptr :: TMarker -> Ptr (Raw TMarker)
get_fptr (TMarker Ptr RawTMarker
ptr) = Ptr (Raw TMarker)
Ptr RawTMarker
ptr
        cast_fptr_to_obj :: Ptr (Raw TMarker) -> TMarker
cast_fptr_to_obj = Ptr (Raw TMarker) -> TMarker
Ptr RawTMarker -> TMarker
TMarker