Lines Matching refs:std

40     MoveOnlyInt(int v) : value{std::move(v)} { print_created(this, value); }
41 MoveOnlyInt(MoveOnlyInt &&m) { print_move_created(this, m.value); std::swap(value, m.value); }
42 MoveOnlyInt &operator=(MoveOnlyInt &&m) { print_move_assigned(this, m.value); std::swap(value, m.value); return *this; }
52 MoveOrCopyInt(int v) : value{std::move(v)} { print_created(this, value); }
53 MoveOrCopyInt(MoveOrCopyInt &&m) { print_move_created(this, m.value); std::swap(value, m.value); }
54 MoveOrCopyInt &operator=(MoveOrCopyInt &&m) { print_move_assigned(this, m.value); std::swap(value, m.value); return *this; }
64 CopyOnlyInt(int v) : value{std::move(v)} { print_created(this, value); }
131 m.def("move_pair", [](std::pair<MoveOnlyInt, MoveOrCopyInt> p) {
134 m.def("move_tuple", [](std::tuple<MoveOnlyInt, MoveOrCopyInt, MoveOnlyInt> t) {
135 return std::get<0>(t).value + std::get<1>(t).value + std::get<2>(t).value;
137 m.def("copy_tuple", [](std::tuple<CopyOnlyInt, CopyOnlyInt> t) {
138 return std::get<0>(t).value + std::get<1>(t).value;
140 m.def("move_copy_nested", [](std::pair<MoveOnlyInt, std::pair<std::tuple<MoveOrCopyInt, CopyOnlyInt, std::tuple<MoveOnlyInt>>, MoveOrCopyInt>> x) {
141 return x.first.value + std::get<0>(x.second.first).value + std::get<1>(x.second.first).value +
142 std::get<0>(std::get<2>(x.second.first)).value + x.second.second.value;
162 m.def("move_optional", [](std::optional<MoveOnlyInt> o) {
165 m.def("move_or_copy_optional", [](std::optional<MoveOrCopyInt> o) {
168 m.def("copy_optional", [](std::optional<CopyOnlyInt> o) {
171 m.def("move_optional_tuple", [](std::optional<std::tuple<MoveOrCopyInt, MoveOnlyInt, CopyOnlyInt>> x) {
172 return std::get<0>(*x).value + std::get<1>(*x).value + std::get<2>(*x).value;