Skip to content

Commit

Permalink
mem_fun_ptr store ptr actor by value
Browse files Browse the repository at this point in the history
Fixes hard to avoid use-after-scope bugs (tests already have them).
Storing ptr actor also strips one level of indirection and is an optimization.
  • Loading branch information
Kojoley committed Mar 21, 2020
1 parent 9fab3c7 commit 8194d72
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@

#include BOOST_PHOENIX_ITERATE()

Object const& obj;
Object obj;
MemPtr ptr;

};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
>::make(obj, ptr, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
}
Object const& obj;
Object obj;
MemPtr ptr;
};
struct make_mem_fun_ptr_gen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
>::make(obj, ptr, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18);
}
Object const& obj;
Object obj;
MemPtr ptr;
};
struct make_mem_fun_ptr_gen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
>::make(obj, ptr, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28);
}
Object const& obj;
Object obj;
MemPtr ptr;
};
struct make_mem_fun_ptr_gen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38
>::make(obj, ptr, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38);
}
Object const& obj;
Object obj;
MemPtr ptr;
};
struct make_mem_fun_ptr_gen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,7 @@
, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48
>::make(obj, ptr, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48);
}
Object const& obj;
Object obj;
MemPtr ptr;
};
struct make_mem_fun_ptr_gen
Expand Down

0 comments on commit 8194d72

Please sign in to comment.