haskell-gi-0.23.0: Generate Haskell bindings for GObject Introspection capable libraries
Safe HaskellSafe
LanguageHaskell2010

Data.GI.CodeGen.Type

Description

An abstraction for representing type constructors. This is a very simplified version of Typeable, which we don't use directly to avoid compatibility headaches.

Synopsis

Documentation

data Type Source #

This type represents the types found in GObject Introspection interfaces: the types of constants, arguments, etc.

Constructors

TBasicType BasicType 
TError

GError

TVariant

GVariant

TParamSpec

GParamSpec

TCArray Bool Int Int Type

Zero terminated, Array Fixed Size, Array Length, Element Type

TGArray Type

GArray

TPtrArray Type

GPtrArray

TByteArray

GByteArray

TGList Type

GList

TGSList Type

GSList

TGHash Type Type

GHashTable

TGClosure (Maybe Type)

GClosure containing the given API (if known)

TInterface Name

A reference to some API in the GIR

Instances

Instances details
Eq Type Source # 
Instance details

Defined in Data.GI.GIR.BasicTypes

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Ord Type Source # 
Instance details

Defined in Data.GI.GIR.BasicTypes

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

(>=) :: Type -> Type -> Bool #

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Show Type Source # 
Instance details

Defined in Data.GI.GIR.BasicTypes

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

data BasicType Source #

Basic types. These are generally trivial to marshal, and the GIR assumes that they are defined.

Constructors

TBoolean

gboolean

TInt

gint

TUInt

guint

TLong

glong

TULong

gulong

TInt8

gint8

TUInt8

guint8

TInt16

gint16

TUInt16

guint16

TInt32

gint32

TUInt32

guint32

TInt64

gint64

TUInt64

guint64

TFloat

gfloat

TDouble

gdouble

TUniChar

gunichar

TGType

GType

TUTF8

gchar*, encoded as UTF-8

TFileName

gchar*, encoding a filename

TPtr

gpointer

TIntPtr

gintptr

TUIntPtr

guintptr

data TypeRep Source #

A fully applied type.

Instances

Instances details
Eq TypeRep Source # 
Instance details

Defined in Data.GI.CodeGen.Type

Methods

(==) :: TypeRep -> TypeRep -> Bool #

(/=) :: TypeRep -> TypeRep -> Bool #

con :: Text -> [TypeRep] -> TypeRep Source #

Type constructor applied to the given types.

con0 :: Text -> TypeRep Source #

A shorthand for a type constructor taking no arguments.

typeShow :: TypeRep -> Text Source #

Give a valid Haskell source representation of the given TypeRep.

typeConName :: TypeRep -> Text Source #

Return a textual representation of the type constructor for the given TypeRep.

io :: TypeRep -> TypeRep Source #

Embed in the IO monad.

ptr :: TypeRep -> TypeRep Source #

A Ptr to the type.

funptr :: TypeRep -> TypeRep Source #

A FunPtr to the type.

maybeT :: TypeRep -> TypeRep Source #

Embed in the Maybe monad.