The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.