| 18686 | |
| 18687 | template <typename Fx> |
| 18688 | int dump(lua_Writer writer, void* userdata, bool strip, Fx&& on_error) const { |
| 18689 | this->push(); |
| 18690 | auto ppn = stack::push_popper_n<false>(this->lua_state(), 1); |
| 18691 | int r = lua_dump(this->lua_state(), writer, userdata, strip ? 1 : 0); |
| 18692 | if (r != 0) { |
| 18693 | return on_error(this->lua_state(), r, writer, userdata, strip); |
| 18694 | } |
| 18695 | return r; |
| 18696 | } |
| 18697 | |
| 18698 | int dump(lua_Writer writer, void* userdata, bool strip = false) const { |
| 18699 | return dump(writer, userdata, strip, &dump_pass_on_error); |