NAME

Data::BitStream::BLVec - An XS-wrapper implementation of Data::BitStream

SYNOPSIS

use Data::BitStream::BLVec;
my $stream = Data::BitStream::BLVec->new;
$stream->put_gamma($_) for (1 .. 20);
$stream->rewind_for_read;
my @values = $stream->get_gamma(-1);

DESCRIPTION

An implementation of Data::BitStream. See the documentation for that module for many more examples, and Data::BitStream::Base for the API. This document only describes the unique features of this implementation, which is of limited value to people purely using Data::BitStream.

This implementation points everything to the implementations in Data::BitStream::XS where possible. This gives the majority of the performance benefit of the XS module, while (1) transparently applying the speedup through the Data::BitStream package, and (2) allowing all the Moo/Mouse/Moose extensions and extra roles to be used while still retaining high performance at the core.

This is the default Data::BitStream implementation if Data::BitStream::XS is installed.

DATA

_vec

A private Data::BitStream::XS object.

CLASS METHODS

after erase
after rewind
after read_open
after write_open
after write_close

Applies the appropriate behavior to the XS object.

read
write
put_string
read_string
to_raw
put_raw
from_raw
put_stream

These methods have custom implementations.

The following codes have get_ and put_ methods:

unary
unary1
gamma
delta
omega
fib
fibgen
levenstein
evenrodeh
gammagolomb
expgolomb
baer
boldivigna
comma
blocktaboo
goldbach_g1
goldbach_g2
binword
golomb
rice
arice
startstepstop
startstop

ROLES

The following roles are included.

Data::BitStream::Code::Base
Data::BitStream::Code::Gamma
Data::BitStream::Code::Delta
Data::BitStream::Code::Omega
Data::BitStream::Code::Levenstein
Data::BitStream::Code::EvenRodeh
Data::BitStream::Code::Fibonacci
Data::BitStream::Code::Golomb
Data::BitStream::Code::Rice
Data::BitStream::Code::GammaGolomb
Data::BitStream::Code::ExponentialGolomb
Data::BitStream::Code::Baer
Data::BitStream::Code::BoldiVigna
Data::BitStream::Code::ARice
Data::BitStream::Code::Additive
Data::BitStream::Code::Comma
Data::BitStream::Code::Taboo
Data::BitStream::Code::StartStop

SEE ALSO

Data::BitStream
Data::BitStream::XS
Data::BitStream::Base
Data::BitStream::WordVec

AUTHORS

Dana Jacobsen <dana@acm.org>

COPYRIGHT

Copyright 2011-2012 by Dana Jacobsen <dana@acm.org>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.