c-storable-deriving

Derivation of C-like Storable Instances


Keywords
foreign, library, Propose Tags, Index, Foreign.CStorable, c-storable-deriving-0.1.3.tar.gz, browse, Package description, Package maintainers, MatthewMaurer, edit package information
License
BSD-3-Clause
Install
cabal install c-storable-deriving-0.1.3

Documentation

c-storable-deriving

This library is intended to make generating C-like storable instances from datatypes easy.

Example

{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}

import GHC.Generics (Generic(..))
import Foreign (Storable(..))
import Foreign.CStorable (CStorable(..))

-- | a two-dimensional point.
-- Compatible with both OSX's @CGPoint@ and Window's @POINT@.
data Point = Point
 { x :: Double
 , y :: Double
 } deriving (Generic, CStorable)

instance Storable Point where
 peek      = cPeek
 poke      = cPoke
 alignment = cAlignment
 sizeOf    = cSizeOf

See the haddocks for further details: Foreign.CStorable