README.md

bitfield [![Build Status](https://travis-ci.org/camshaft/bitfield.erl.png)](https://travis-ci.org/camshaft/bitfield.erl)
========

Simple bitfields for erlang/elixir

Usage
-----

### Erlang

```erlang
%% Create a list of fields
Enum = [<<"name">>, <<"age">>, <<"email">>, <<"address">>, <<"friends">>].

%% Fields to be enabled
Enabled = [<<"name">>, <<"address">>].

Packed = bitfield:pack(Enabled, Enum).
%% => <<144>>

Unpacked = bitfield:unpack(Packed, Enum).
%% => [<<"name">>, <<"address">>]
```

### Elixir

```elixir
## Create a list of fields
enum = ["name", "age", "email", "address", "friends"].

## Fields to be enabled
enabled = ["name", "address"].

packed = Bitfield.pack(enabled, enum).
## => <<144>>

unpacked = Bitfield.unpack(packed, enum).
## => ["name", "address"]
```

Tests
-----

```sh
$ mix test
```