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

module HROOT.Core.TROOT.RawType where


import Foreign.ForeignPtr
import FFICXX.Runtime.Cast  

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