Safe Haskell | None |
---|
- integral :: IntType -> Type
- floating :: FloatType -> Type
- simplePtr :: Type -> Type
- size_tType :: Type
- ptrDiffType :: Type
- boolType :: Type
- voidType :: Type
- voidPtr :: Type
- constVoidPtr :: Type
- charPtr :: Type
- constCharPtr :: Type
- stringType :: Type
- valistType :: Type
- isIntegralType :: Type -> Bool
- isFloatingType :: Type -> Bool
- isPointerType :: Type -> Bool
- isScalarType :: Type -> Bool
- isFunctionType :: Type -> Bool
- typeQuals :: Type -> TypeQuals
- typeQualsUpd :: (TypeQuals -> TypeQuals) -> Type -> Type
- typeAttrs :: Type -> Attributes
- typeAttrsUpd :: (Attributes -> Attributes) -> Type -> Type
- baseType :: Type -> Type
- derefTypeDef :: Type -> Type
- deepDerefTypeDef :: Type -> Type
- canonicalType :: Type -> Type
- getIntType :: Flags CIntFlag -> IntType
- getFloatType :: String -> FloatType
Constructors
The type returned by sizeof (size_t). For now, this is just int
.
The type of pointer differences (ptrdiff_t). For now, this is just int
.
A const
-qualified void
pointer.
A const
-qualified char
pointer.
The type of a constant string.
The builtin type of variable-length argument lists.
Classifiers
isIntegralType :: Type -> BoolSource
Check whether a type is an integral type. This includes enum
types. This function does not attempt to resolve typedef
types.
isFloatingType :: Type -> BoolSource
Check whether a type is a floating-point numeric type. This
function does not attempt to resolve typedef
types.
isPointerType :: Type -> BoolSource
Check whether a type is an pointer type. This includes array
types. This function does not attempt to resolve typedef
types.
isScalarType :: Type -> BoolSource
Check whether a type is a scalar type. Scalar types include arithmetic types and pointer types.
isFunctionType :: Type -> BoolSource
return True
if the given type is a function type
Result is undefined in the presence of undefined typeDefs
typeAttrs :: Type -> AttributesSource
Return the attributes of a type.
typeAttrsUpd :: (Attributes -> Attributes) -> Type -> TypeSource
baseType :: Type -> TypeSource
Return the base type of a pointer or array type. It is an error to call this function with a type that is not in one of those two categories.
derefTypeDef :: Type -> TypeSource
resolve typedefs, if possible
deepDerefTypeDef :: Type -> TypeSource
Attempt to remove all references to typedef
types from a given type.
Note that this does not dereference the types of structure or union
fields, so there are still cases where further dereferencing is
needed.
canonicalType :: Type -> TypeSource
Other utilities
getIntType :: Flags CIntFlag -> IntTypeSource