{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module STD.CppString.RawType where import Foreign.Ptr import FFICXX.Runtime.Cast data RawCppString newtype CppString = CppString (Ptr RawCppString) deriving (CppString -> CppString -> Bool (CppString -> CppString -> Bool) -> (CppString -> CppString -> Bool) -> Eq CppString forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: CppString -> CppString -> Bool == :: CppString -> CppString -> Bool $c/= :: CppString -> CppString -> Bool /= :: CppString -> CppString -> Bool Eq, Eq CppString Eq CppString -> (CppString -> CppString -> Ordering) -> (CppString -> CppString -> Bool) -> (CppString -> CppString -> Bool) -> (CppString -> CppString -> Bool) -> (CppString -> CppString -> Bool) -> (CppString -> CppString -> CppString) -> (CppString -> CppString -> CppString) -> Ord CppString CppString -> CppString -> Bool CppString -> CppString -> Ordering CppString -> CppString -> CppString 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 :: CppString -> CppString -> Ordering compare :: CppString -> CppString -> Ordering $c< :: CppString -> CppString -> Bool < :: CppString -> CppString -> Bool $c<= :: CppString -> CppString -> Bool <= :: CppString -> CppString -> Bool $c> :: CppString -> CppString -> Bool > :: CppString -> CppString -> Bool $c>= :: CppString -> CppString -> Bool >= :: CppString -> CppString -> Bool $cmax :: CppString -> CppString -> CppString max :: CppString -> CppString -> CppString $cmin :: CppString -> CppString -> CppString min :: CppString -> CppString -> CppString Ord, Int -> CppString -> ShowS [CppString] -> ShowS CppString -> String (Int -> CppString -> ShowS) -> (CppString -> String) -> ([CppString] -> ShowS) -> Show CppString forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> CppString -> ShowS showsPrec :: Int -> CppString -> ShowS $cshow :: CppString -> String show :: CppString -> String $cshowList :: [CppString] -> ShowS showList :: [CppString] -> ShowS Show) instance () => FPtr (CppString) where type Raw CppString = RawCppString get_fptr :: CppString -> Ptr (Raw CppString) get_fptr (CppString Ptr RawCppString ptr) = Ptr (Raw CppString) Ptr RawCppString ptr cast_fptr_to_obj :: Ptr (Raw CppString) -> CppString cast_fptr_to_obj = Ptr (Raw CppString) -> CppString Ptr RawCppString -> CppString CppString