bitfield Build Status

Simple bitfields for erlang/elixir

Usage

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

## 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

$ mix test