Change hash_table to support a comparator type different from the
authorcrowl <crowl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)
committercrowl <crowl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)
commitc580da876e6aea7485467ca8e3d19377ecba4fc7
tree723cd03031244c4befb8e0f3f168067dec16d361
parent2e8d2f3202c34da752b421f1f78edff2325503e9
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192823 138bc75d-0d04-0410-961f-82ee72b054a4
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