Change hash_table to support a comparator type different from the value type stored...
authorLawrence Crowl <crowl@google.com>
Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)
committerLawrence Crowl <crowl@gcc.gnu.org>
Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)
commit5831a5f0a8393c05a6da99f9a5995ffc7aa6b8ca
tree723cd03031244c4befb8e0f3f168067dec16d361
parent2257bc19401e4dfd76f199fa40c0aa6c3bfdc612
Change hash_table to support a comparator type different from the value type stored in the hash table.

Change hash_table to support a comparator type different from the
value type stored in the hash table.  The 'find' functions now may
take a different type from the value type.  This requires introducing
a second typedef into the Descriptor conceptual type.  Change the
Descriptor concept to use typedefs value_type and compare_type instead
of T.  Change all users to match.

Add usage documentation to hash-table.h.

Tested on x86-64.

Index: gcc/ChangeLog

2012-10-25  Lawrence Crowl  <crowl@google.com>

* hash-table.h: Add usage documentation.
(template struct typed_free_remove): Clarify documentation.
Rename template parameter.
(struct typed_noop_remove): Likewise.
(descriptor concept): Change typedef T to value_type.
Add typedef compare_type.  Use more precise template parameter name,
Descriptor instead of Descr.  Update users to match.
(struct hash_table): Change 'find' parameters to use compare_type
instead of the value type.

From-SVN: r192823
13 files changed:
gcc/ChangeLog
gcc/alloc-pool.c
gcc/cfg.c
gcc/coverage.c
gcc/dse.c
gcc/hash-table.h
gcc/java/jcf-io.c
gcc/objc/objc-act.c
gcc/tree-ssa-coalesce.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-tail-merge.c
gcc/tree-ssa-threadupdate.c
gcc/valtrack.h