module Foreign.Hoppy.Generator.Std (
ValueConversion (..),
mod_std,
c_string,
) where
import Foreign.Hoppy.Generator.Spec
import Foreign.Hoppy.Generator.Std.String (c_string)
import Foreign.Hoppy.Generator.Std.Wstring (c_wstring)
{-# ANN module "HLint: ignore Use camelCase" #-}
data ValueConversion =
ConvertPtr
| ConvertValue
deriving (ValueConversion
ValueConversion -> ValueConversion -> Bounded ValueConversion
forall a. a -> a -> Bounded a
maxBound :: ValueConversion
$cmaxBound :: ValueConversion
minBound :: ValueConversion
$cminBound :: ValueConversion
Bounded, Int -> ValueConversion
ValueConversion -> Int
ValueConversion -> [ValueConversion]
ValueConversion -> ValueConversion
ValueConversion -> ValueConversion -> [ValueConversion]
ValueConversion
-> ValueConversion -> ValueConversion -> [ValueConversion]
(ValueConversion -> ValueConversion)
-> (ValueConversion -> ValueConversion)
-> (Int -> ValueConversion)
-> (ValueConversion -> Int)
-> (ValueConversion -> [ValueConversion])
-> (ValueConversion -> ValueConversion -> [ValueConversion])
-> (ValueConversion -> ValueConversion -> [ValueConversion])
-> (ValueConversion
-> ValueConversion -> ValueConversion -> [ValueConversion])
-> Enum ValueConversion
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: ValueConversion
-> ValueConversion -> ValueConversion -> [ValueConversion]
$cenumFromThenTo :: ValueConversion
-> ValueConversion -> ValueConversion -> [ValueConversion]
enumFromTo :: ValueConversion -> ValueConversion -> [ValueConversion]
$cenumFromTo :: ValueConversion -> ValueConversion -> [ValueConversion]
enumFromThen :: ValueConversion -> ValueConversion -> [ValueConversion]
$cenumFromThen :: ValueConversion -> ValueConversion -> [ValueConversion]
enumFrom :: ValueConversion -> [ValueConversion]
$cenumFrom :: ValueConversion -> [ValueConversion]
fromEnum :: ValueConversion -> Int
$cfromEnum :: ValueConversion -> Int
toEnum :: Int -> ValueConversion
$ctoEnum :: Int -> ValueConversion
pred :: ValueConversion -> ValueConversion
$cpred :: ValueConversion -> ValueConversion
succ :: ValueConversion -> ValueConversion
$csucc :: ValueConversion -> ValueConversion
Enum, ValueConversion -> ValueConversion -> Bool
(ValueConversion -> ValueConversion -> Bool)
-> (ValueConversion -> ValueConversion -> Bool)
-> Eq ValueConversion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ValueConversion -> ValueConversion -> Bool
$c/= :: ValueConversion -> ValueConversion -> Bool
== :: ValueConversion -> ValueConversion -> Bool
$c== :: ValueConversion -> ValueConversion -> Bool
Eq, Eq ValueConversion
Eq ValueConversion
-> (ValueConversion -> ValueConversion -> Ordering)
-> (ValueConversion -> ValueConversion -> Bool)
-> (ValueConversion -> ValueConversion -> Bool)
-> (ValueConversion -> ValueConversion -> Bool)
-> (ValueConversion -> ValueConversion -> Bool)
-> (ValueConversion -> ValueConversion -> ValueConversion)
-> (ValueConversion -> ValueConversion -> ValueConversion)
-> Ord ValueConversion
ValueConversion -> ValueConversion -> Bool
ValueConversion -> ValueConversion -> Ordering
ValueConversion -> ValueConversion -> ValueConversion
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 :: ValueConversion -> ValueConversion -> ValueConversion
$cmin :: ValueConversion -> ValueConversion -> ValueConversion
max :: ValueConversion -> ValueConversion -> ValueConversion
$cmax :: ValueConversion -> ValueConversion -> ValueConversion
>= :: ValueConversion -> ValueConversion -> Bool
$c>= :: ValueConversion -> ValueConversion -> Bool
> :: ValueConversion -> ValueConversion -> Bool
$c> :: ValueConversion -> ValueConversion -> Bool
<= :: ValueConversion -> ValueConversion -> Bool
$c<= :: ValueConversion -> ValueConversion -> Bool
< :: ValueConversion -> ValueConversion -> Bool
$c< :: ValueConversion -> ValueConversion -> Bool
compare :: ValueConversion -> ValueConversion -> Ordering
$ccompare :: ValueConversion -> ValueConversion -> Ordering
$cp1Ord :: Eq ValueConversion
Ord, Int -> ValueConversion -> ShowS
[ValueConversion] -> ShowS
ValueConversion -> String
(Int -> ValueConversion -> ShowS)
-> (ValueConversion -> String)
-> ([ValueConversion] -> ShowS)
-> Show ValueConversion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ValueConversion] -> ShowS
$cshowList :: [ValueConversion] -> ShowS
show :: ValueConversion -> String
$cshow :: ValueConversion -> String
showsPrec :: Int -> ValueConversion -> ShowS
$cshowsPrec :: Int -> ValueConversion -> ShowS
Show)
mod_std :: Module
mod_std :: Module
mod_std = HasCallStack =>
Module -> StateT Module (Either String) () -> Module
Module -> StateT Module (Either String) () -> Module
moduleModify' (String -> String -> String -> Module
makeModule String
"std" String
"std.hpp" String
"std.cpp") (StateT Module (Either String) () -> Module)
-> StateT Module (Either String) () -> Module
forall a b. (a -> b) -> a -> b
$
[Export] -> StateT Module (Either String) ()
forall (m :: * -> *).
(MonadError String m, MonadState Module m) =>
[Export] -> m ()
moduleAddExports
[ Class -> Export
forall a. Exportable a => a -> Export
Export Class
c_string
, Class -> Export
forall a. Exportable a => a -> Export
Export Class
c_wstring
]