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

data RawTSeqCollection

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

instance () => FPtr (TSeqCollection) where
        type Raw TSeqCollection = RawTSeqCollection
        get_fptr :: TSeqCollection -> Ptr (Raw TSeqCollection)
get_fptr (TSeqCollection Ptr RawTSeqCollection
ptr) = Ptr (Raw TSeqCollection)
Ptr RawTSeqCollection
ptr
        cast_fptr_to_obj :: Ptr (Raw TSeqCollection) -> TSeqCollection
cast_fptr_to_obj = Ptr (Raw TSeqCollection) -> TSeqCollection
Ptr RawTSeqCollection -> TSeqCollection
TSeqCollection