{-# 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