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
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_
andput_
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
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.