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

_vec

A private scalar holding the data as a vector.

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

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

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.