| 18320 | |
| 18321 | template <typename Fx> |
| 18322 | int dump(lua_Writer writer, void* userdata, bool strip, Fx&& on_error) const { |
| 18323 | this->push(); |
| 18324 | auto ppn = stack::push_popper_n<false>(this->lua_state(), 1); |
| 18325 | int r = lua_dump(this->lua_state(), writer, userdata, strip ? 1 : 0); |
| 18326 | if (r != 0) { |
| 18327 | return on_error(this->lua_state(), r, writer, userdata, strip); |
| 18328 | } |
| 18329 | return r; |
| 18330 | } |
| 18331 | |
| 18332 | int dump(lua_Writer writer, void* userdata, bool strip = false) const { |
| 18333 | return dump(writer, userdata, strip, &dump_throw_on_error); |