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

data RawTArrayC

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

instance () => FPtr (TArrayC) where
        type Raw TArrayC = RawTArrayC
        get_fptr :: TArrayC -> Ptr (Raw TArrayC)
get_fptr (TArrayC Ptr RawTArrayC
ptr) = Ptr (Raw TArrayC)
Ptr RawTArrayC
ptr
        cast_fptr_to_obj :: Ptr (Raw TArrayC) -> TArrayC
cast_fptr_to_obj = Ptr (Raw TArrayC) -> TArrayC
Ptr RawTArrayC -> TArrayC
TArrayC