| 20955 | |
| 20956 | template <typename Fx> |
| 20957 | int dump(lua_Writer writer, void* userdata_pointer_, bool strip, Fx&& on_error) const { |
| 20958 | this->push(); |
| 20959 | auto ppn = stack::push_popper_n<false>(this->lua_state(), 1); |
| 20960 | int r = lua_dump(this->lua_state(), writer, userdata_pointer_, strip ? 1 : 0); |
| 20961 | if (r != 0) { |
| 20962 | return on_error(this->lua_state(), r, writer, userdata_pointer_, strip); |
| 20963 | } |
| 20964 | return r; |
| 20965 | } |
| 20966 | |
| 20967 | int dump(lua_Writer writer, void* userdata_pointer_, bool strip = false) const { |
| 20968 | return dump(writer, userdata_pointer_, strip, &dump_pass_on_error); |