Name:             enumset
Version:          0.0.5
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Category:         Data, Foreign
Synopsis:         Sets of enumeration values represented by machine words
Description:
  With this package you can create a type safe interface to flag sets.
  It is intended for interfacing to C libraries via FFI,
  where Word8, Word16, or Word32 types are commonly used to store bit vectors.
  E.g. the type @EnumSet Word16 Ordering@
  represents a flag set stored in a Word16
  that supports the flags @LT@, @EQ@, @GT@.
  .
  This package is similar to the @bitset@ package and
  the @Data.Edison.Coll.EnumSet@ module in the @edison@ package,
  however our implementation allows you to choose the embedding type
  and thus the maximum size of the set.
  .
  See also @data-flags@ and @Data.EnumSet@ in @enummapset@.
Cabal-Version:    >=1.10
Tested-With:      GHC==7.4.2, GHC==7.6.3, GHC==8.4.4, GHC==8.6.5
Build-Type:       Simple

Source-Repository this
  Tag:         0.0.5
  Type:        darcs
  Location:    http://code.haskell.org/~thielema/enumset/

Source-Repository head
  Type:        darcs
  Location:    http://code.haskell.org/~thielema/enumset/

Library
  Default-Language: Haskell98
  Build-Depends:
    data-accessor >=0.2.1 && <0.3,
    storable-record >=0.0.1 && <0.1,
    semigroups >=0.1 && <1.0,
    base >=4 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Data.EnumBitSet
    Data.EnumSet
    Data.EnumSet.PackedEnum
    Data.FlagSet
    Data.FlagSet.PackedRecord
  Other-Modules:
    Data.EnumSet.Utility