[#BloombergLP-bslalg-HashTableImpUtil-extractKey]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/HashTableImpUtil.adoc[HashTableImpUtil]::extractKey
:relfileprefix: ../../../
:mrdocs:

Return a reference providing non&hyphen;modifiable access to the key (of type `KEY&lowbar;CONFIG&colon;&colon;KeyType`) held by the specified `link`&period; The behavior is undefined unless `link` refers to a node of type `BidirectionalNode&lt;KEY&lowbar;CONFIG&colon;&colon;ValueType&gt;`&period; `KEY&lowbar;CONFIG` shall be a namespace providing the type names `KeyType` and `ValueType`, as well as a function that can be called as if it had the following signature&colon; &grave; const KeyType&amp; extractKey(const ValueType&amp; obj)&semi; &grave;

== Synopsis

Declared in `&lt;bslalg&lowbar;hashtableimputil&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class KEY&lowbar;CONFIG&gt;
static
HashTableImpUtil&lowbar;ExtractKeyResult&lt;KEY&lowbar;CONFIG&gt;::Type
extractKey(xref:BloombergLP/bslalg/BidirectionalLink.adoc[BidirectionalLink]* link);
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
