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).