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

data RawTArray

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

instance () => FPtr (TArray) where
        type Raw TArray = RawTArray
        get_fptr :: TArray -> Ptr (Raw TArray)
get_fptr (TArray Ptr RawTArray
ptr) = Ptr (Raw TArray)
Ptr RawTArray
ptr
        cast_fptr_to_obj :: Ptr (Raw TArray) -> TArray
cast_fptr_to_obj = Ptr (Raw TArray) -> TArray
Ptr RawTArray -> TArray
TArray