{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, 
             FlexibleInstances, TypeSynonymInstances, 
             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}

module HROOT.Class.TChain.RawType where


-- import Foreign.Ptr
import Foreign.ForeignPtr
-- import Foreign.Marshal.Array

import HROOT.TypeCast  

data RawTChain
newtype TChain = TChain (ForeignPtr RawTChain) deriving (Eq, Ord, Show)
instance FPtr TChain where
   type Raw TChain = RawTChain
   get_fptr (TChain fptr) = fptr
   cast_fptr_to_obj = TChain