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

data RawTBranch

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

instance () => FPtr (TBranch) where
        type Raw TBranch = RawTBranch
        get_fptr :: TBranch -> Ptr (Raw TBranch)
get_fptr (TBranch Ptr RawTBranch
ptr) = Ptr (Raw TBranch)
Ptr RawTBranch
ptr
        cast_fptr_to_obj :: Ptr (Raw TBranch) -> TBranch
cast_fptr_to_obj = Ptr (Raw TBranch) -> TBranch
Ptr RawTBranch -> TBranch
TBranch