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

data RawTHStack

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

instance () => FPtr (THStack) where
        type Raw THStack = RawTHStack
        get_fptr :: THStack -> Ptr (Raw THStack)
get_fptr (THStack Ptr RawTHStack
ptr) = Ptr (Raw THStack)
Ptr RawTHStack
ptr
        cast_fptr_to_obj :: Ptr (Raw THStack) -> THStack
cast_fptr_to_obj = Ptr (Raw THStack) -> THStack
Ptr RawTHStack -> THStack
THStack