ivory-0.1.0.7: Safe embedded C programming.

Safe HaskellNone
LanguageHaskell2010

Ivory.Language.Struct

Contents

Synopsis

Documentation

newtype StructDef sym Source #

Constructors

StructDef 

Fields

type family StructName (a :: Area *) :: Symbol Source #

Instances

type StructName (Struct * sym) Source # 
type StructName (Struct * sym) = sym

class (IvoryArea (Struct sym), ASymbol sym) => IvoryStruct sym where Source #

Minimal complete definition

structDef

Methods

structDef :: StructDef sym Source #

newtype Label sym field Source #

Struct field labels.

Constructors

Label 

Fields

Instances

Eq (Label sym field) Source # 

Methods

(==) :: Label sym field -> Label sym field -> Bool #

(/=) :: Label sym field -> Label sym field -> Bool #

(~>) :: forall ref s sym field. (IvoryStruct sym, IvoryRef ref, IvoryExpr (ref s (Struct sym)), IvoryExpr (ref s field)) => ref s (Struct sym) -> Label sym field -> ref s field Source #

Label indexing in a structure.

Orphan instances

(IvoryStruct sym, ASymbol sym) => IvoryArea (Struct * sym) Source # 

Methods

ivoryArea :: Proxy (Area *) (Struct * sym) -> Type Source #