NAME

Meta::Ds::Ohash - Ordered hash data structure.

COPYRIGHT

Copyright (C) 2001 Mark Veltzer; All rights reserved.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.

DETAILS

MANIFEST: Ohash.pm PROJECT: meta

SYNOPSIS

package foo; use Meta::Ds::Ohash qw();

DESCRIPTION

This is an object which is a hash table which can also give you a random element.

EXPORTS

new($) insert($$$) remove($$) elem($$) keyx($$) valx($$) print($$) get_elem_number($$)

FUNCTION DOCUMENTATION

new($)

Gives you a new Ohash object.

insert($$$)

Inserts an element into the hash. This just does a Hash insert and updates the list if the hash was actually inserted.

remove($$)

Remove an element from the hash. This just calls the Meta::Ds::Hash remove and removes the element from the list if it was successful.

elem($$)

This returns a specific element in the hash.

keyx($$)

This returns the key with the specified number.

valx($$)

This returns the value with the specified number.

print($$)

This will print the Ohash object to the specified file for you.

get_elem_number($$)

This method will give you the sequential number of an element in the ordered hash.

BUGS

None.

AUTHOR

Mark Veltzer <mark2776@yahoo.com>

HISTORY

start of revision info 1 Mon Jan 1 16:38:12 2001 MV initial code brought in 2 Tue Jan 2 06:08:54 2001 MV bring databases on line 3 Thu Jan 4 13:36:17 2001 MV ok. This is for real 4 Sat Jan 6 11:39:39 2001 MV make quality checks on perl code 5 Sat Jan 6 17:14:09 2001 MV more perl checks 6 Tue Jan 9 18:15:19 2001 MV check that all uses have qw 7 Tue Jan 9 19:29:31 2001 MV fix todo items look in pod documentation 8 Tue Jan 9 22:40:39 2001 MV add enumerated types to options 9 Wed Jan 10 12:05:55 2001 MV more on tests/more checks to perl 10 Thu Jan 11 09:43:58 2001 MV fix all tests change 11 Fri Jan 12 15:53:19 2001 MV change new methods to have prototypes 12 Sun Jan 28 02:34:56 2001 MV perl code quality 13 Sun Jan 28 13:51:26 2001 MV more perl quality 14 Tue Jan 30 03:03:17 2001 MV more perl quality 15 Sat Feb 3 23:41:08 2001 MV perl documentation 16 Mon Feb 5 03:21:02 2001 MV more perl quality 17 Tue Feb 6 01:04:52 2001 MV perl qulity code 18 Tue Feb 6 07:02:13 2001 MV more perl code quality 19 Tue Feb 6 22:19:51 2001 MV revision change end of revision info

SEE ALSO

Nothing.

TODO

-add/subtract a hash.

-read/write a hash from a file.

-get a list from a hash.

-get a set from a hash.

-get a hash from a list.

-get a hash from a set.

-insert an element and make sure that he wasnt there.

-remove an element and make sure that he was there.

-add a limitation on the types of objects going into the hash (they must be inheritors from some kind of object).