NAME
Data::BitStream::MinimalVec - A minimal implementation of Data::BitStream
SYNOPSIS
use Data::BitStream::MinimalVec;
my $stream = Data::BitStream::MinimalVec->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 uses a Perl vec
to store the data, and shows basically the minimal work required to get an implementation working. Everything else is provided by the base class. It is slow, and Data::BitStream::WordVec is recommended for real work.
DATA
CLASS METHODS
- _vecref
-
Retrieves a reference to the private vector.
- after erase
-
Sets the private vector to the empty string
''
. - read
- write
-
These methods have custom implementations.
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::StartStop
SEE ALSO
AUTHORS
Dana Jacobsen <dana@acm.org>
COPYRIGHT
Copyright 2011 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.