From b6b334dd16bd8557a07e535df4f06e80b2d23808 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Thu, 6 Jan 2022 15:29:05 -0800 Subject: [PATCH] Update reference docs for `extract()` to include heterogeneous overload --- doc/ref.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/ref.php b/doc/ref.php index ac52d331..21b824e3 100644 --- a/doc/ref.php +++ b/doc/ref.php @@ -953,6 +953,38 @@ EOL; + + + + K&& + + node_type + + Removes an element with key equivalent to k. + + This overload only participates in overload resolution if Hash::is_transparent + and Pred::is_transparent are valid member typedefs and neither iterator + nor const_iterator are implicitly convertible from K. The library + assumes that Hash is callable with both K and Key and + that Pred is transparent. This enables heterogeneous lookup which avoids the cost of + instantiating an instance of the Key type. + + + + A node_type owning the element if found, otherwise an empty node_type. + + + Only throws an exception if it is thrown by hasher or key_equal. + + + + In C++17 a node extracted using this method can be inserted into a compatible , + but that is not supported yet. + + + node_type&&