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

data RawTCollection

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

instance () => FPtr (TCollection) where
        type Raw TCollection = RawTCollection
        get_fptr :: TCollection -> Ptr (Raw TCollection)
get_fptr (TCollection Ptr RawTCollection
ptr) = Ptr (Raw TCollection)
Ptr RawTCollection
ptr
        cast_fptr_to_obj :: Ptr (Raw TCollection) -> TCollection
cast_fptr_to_obj = Ptr (Raw TCollection) -> TCollection
Ptr RawTCollection -> TCollection
TCollection