Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Tree::Binary::Dictionary
A dictionary API to a binary tree

Tree::Binary::Dictionary - A dictionary API to a binary tree


NAME

Tree::Binary::Dictionary - A dictionary API to a binary tree


DESCRIPTION

A simple class to provide a dictionary style API to a binary tree of data.

This can provide a useful alternative to a long-lived hash in long running daemons and processes.


SYNOPSIS

use Tree::Binary::Dictionary;

my $dictionary = Tree::Binary::Dictionary->new;

# populate $dictionary->add(aaaa => ``One''); $dictionary->add(cccc => ``Three''); $dictionary->add(dddd => ``Four''); $dictionary->add(eeee => ``Five''); $dictionary->add(foo => ``Foo''); $dictionary->add(bar => ``quuz'');

# interact $dictionary->exists('bar'); $dictionary->get('eeee'); $dictionary->delete('cccc');

# hash stuff my %hash = $dictionary->to_hash; my @values = $dictionary->values; my @keys = $dictionary->keys;

# for long running processes $dictionary->rebuild();


METHODS

new - constructor

my $dictionary = Tree::Binary::Dictionary->new (cache => 0);

Instantiates and returns a new dictionary object.

Optional arguments are cache, which will re-use internal objects and structures rather than rebuilding them as required. Default is 1 / True.

rebuild

$dictionary->rebuild();

Rebuilds the internal binary tree to reduce wasteful memory use

add

my $added = $dictionary->add(bar => ``quuz'');

Adds new key and value in dictionary object, returns true on success, warns and returns 0 on duplicate key or other failure.

set

my $set = $dictionary->set(bar => 'quuuz');

Sets key and value in dictionary object, returns true on success, 0 on error.

This will add a new key and value if the key is new, or update the value of an existing key

exists

$dictionary->exists('bar');

get

my $value = $dictionary->get('eeee');

delete

my $deleted = $dictionary->delete('cccc');

to_hash

my %hash = $dictionary->to_hash;

returns a hash populated from the dictionary

values

my @values = $dictionary->values;

returns dictionary values as an array

keys

my @keys = $dictionary->keys;

returns dictionary keys as an array

count

my $count = $dictionary->count

returns the number of entries in the dictionary


SEE ALSO

Tree::Binary


AUTHOR

aaron trevena, <teejay@droogs.org>


COPYRIGHT AND LICENSE

Copyright (C) 2006 by Aaron Trevena

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy