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

instance () => FPtr (CppString) where
        type Raw CppString = RawCppString
        get_fptr :: CppString -> Ptr (Raw CppString)
get_fptr (CppString Ptr RawCppString
ptr) = Ptr RawCppString
ptr
        cast_fptr_to_obj :: Ptr (Raw CppString) -> CppString
cast_fptr_to_obj = Ptr RawCppString -> CppString
CppString