module HROOT.Core.TArrayL.Implementation where
import FFICXX.Runtime.Cast
import HROOT.Core.TArrayL.RawType
import HROOT.Core.TArrayL.FFI
import HROOT.Core.TArrayL.Interface
import HROOT.Core.TArrayL.Cast
import HROOT.Core.TArray.RawType
import HROOT.Core.TArray.Cast
import HROOT.Core.TArray.Interface
import HROOT.Core.Deletable.RawType
import HROOT.Core.Deletable.Cast
import HROOT.Core.Deletable.Interface
import Data.Word
import Foreign.C
import Foreign.Ptr
import Foreign.ForeignPtr
import System.IO.Unsafe
instance ITArrayL TArrayL where
instance ITArray TArrayL where
instance IDeletable TArrayL where
delete = xform0 c_tarrayl_delete
instance ITArrayL (Exist TArrayL) where
instance ITArray (Exist TArrayL) where
instance IDeletable (Exist TArrayL) where
delete (ETArrayL x) = delete x
instance FPtr (Exist TArrayL) where
type Raw (Exist TArrayL) = RawTArrayL
get_fptr (ETArrayL obj) = castForeignPtr (get_fptr obj)
cast_fptr_to_obj fptr = ETArrayL (cast_fptr_to_obj (fptr :: ForeignPtr RawTArrayL) :: TArrayL)