Skip to content

Commit e3aa215

Browse files
authored
Add perfect forwarding to make_iterator calls (#3860)
1 parent 1b27b74 commit e3aa215

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

include/pybind11/pybind11.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2403,7 +2403,8 @@ template <return_value_policy Policy = return_value_policy::reference_internal,
24032403
typename Type,
24042404
typename... Extra>
24052405
iterator make_iterator(Type &value, Extra &&...extra) {
2406-
return make_iterator<Policy>(std::begin(value), std::end(value), extra...);
2406+
return make_iterator<Policy>(
2407+
std::begin(value), std::end(value), std::forward<Extra>(extra)...);
24072408
}
24082409

24092410
/// Makes an iterator over the keys (`.first`) of a stl map-like container supporting
@@ -2412,7 +2413,8 @@ template <return_value_policy Policy = return_value_policy::reference_internal,
24122413
typename Type,
24132414
typename... Extra>
24142415
iterator make_key_iterator(Type &value, Extra &&...extra) {
2415-
return make_key_iterator<Policy>(std::begin(value), std::end(value), extra...);
2416+
return make_key_iterator<Policy>(
2417+
std::begin(value), std::end(value), std::forward<Extra>(extra)...);
24162418
}
24172419

24182420
/// Makes an iterator over the values (`.second`) of a stl map-like container supporting
@@ -2421,7 +2423,8 @@ template <return_value_policy Policy = return_value_policy::reference_internal,
24212423
typename Type,
24222424
typename... Extra>
24232425
iterator make_value_iterator(Type &value, Extra &&...extra) {
2424-
return make_value_iterator<Policy>(std::begin(value), std::end(value), extra...);
2426+
return make_value_iterator<Policy>(
2427+
std::begin(value), std::end(value), std::forward<Extra>(extra)...);
24252428
}
24262429

24272430
template <typename InputType, typename OutputType>

0 commit comments

Comments
 (0)