| 3452 | typename KeyType = typename detail::iterator_key_access<Iterator>::result_type, |
| 3453 | typename... Extra> |
| 3454 | typing::Iterator<KeyType> make_key_iterator(Iterator first, Sentinel last, Extra &&...extra) { |
| 3455 | return detail::make_iterator_impl<detail::iterator_key_access<Iterator>, |
| 3456 | Policy, |
| 3457 | Iterator, |
| 3458 | Sentinel, |
| 3459 | KeyType, |
| 3460 | Extra...>(std::forward<Iterator>(first), |
| 3461 | std::forward<Sentinel>(last), |
| 3462 | std::forward<Extra>(extra)...); |
| 3463 | } |
| 3464 | |
| 3465 | /// Makes a python iterator over the values (`.second`) of a iterator over pairs from a |
| 3466 | /// first and past-the-end InputIterator. |
no outgoing calls