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

data RawTArrayF

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

instance () => FPtr (TArrayF) where
        type Raw TArrayF = RawTArrayF
        get_fptr :: TArrayF -> Ptr (Raw TArrayF)
get_fptr (TArrayF Ptr RawTArrayF
ptr) = Ptr (Raw TArrayF)
Ptr RawTArrayF
ptr
        cast_fptr_to_obj :: Ptr (Raw TArrayF) -> TArrayF
cast_fptr_to_obj = Ptr (Raw TArrayF) -> TArrayF
Ptr RawTArrayF -> TArrayF
TArrayF