Skip to content

Commit 6d5d4e7

Browse files
blackteadummytoday
andauthored
Move object in pop method of List. (#3116)
* Move item instead of copy. * Make Clang 3.6 happy. Co-authored-by: c99 <[email protected]>
1 parent 9626483 commit 6d5d4e7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

include/pybind11/stl_bind.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ void vector_modifiers(enable_if_t<is_copy_constructible<typename Vector::value_t
191191
[](Vector &v) {
192192
if (v.empty())
193193
throw index_error();
194-
T t = v.back();
194+
T t = std::move(v.back());
195195
v.pop_back();
196196
return t;
197197
},
@@ -201,8 +201,8 @@ void vector_modifiers(enable_if_t<is_copy_constructible<typename Vector::value_t
201201
cl.def("pop",
202202
[wrap_i](Vector &v, DiffType i) {
203203
i = wrap_i(i, v.size());
204-
T t = v[(SizeType) i];
205-
v.erase(v.begin() + i);
204+
T t = std::move(v[(SizeType) i]);
205+
v.erase(std::next(v.begin(), i));
206206
return t;
207207
},
208208
arg("i"),

0 commit comments

Comments
 (0)