Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/core/StarLuaConverters.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/core/StarLuaConverters.hpp')
-rw-r--r--source/core/StarLuaConverters.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/core/StarLuaConverters.hpp b/source/core/StarLuaConverters.hpp
index eb06e35..72ab763 100644
--- a/source/core/StarLuaConverters.hpp
+++ b/source/core/StarLuaConverters.hpp
@@ -11,6 +11,23 @@
namespace Star {
+template <typename T>
+struct LuaConverter<LuaNullTermWrapper<T>> : LuaConverter<T> {
+ static LuaValue from(LuaEngine& engine, LuaNullTermWrapper<T>&& v) {
+ auto enforcer = engine.nullTerminate();
+ return LuaConverter<T>::from(std::forward<T>(v));
+ }
+
+ static LuaValue from(LuaEngine& engine, LuaNullTermWrapper<T> const& v) {
+ auto enforcer = engine.nullTerminate();
+ return LuaConverter<T>::from(v);
+ }
+
+ static LuaNullTermWrapper<T> to(LuaEngine& engine, LuaValue const& v) {
+ return LuaConverter<T>::to(v);
+ }
+};
+
template <typename T1, typename T2>
struct LuaConverter<pair<T1, T2>> {
static LuaValue from(LuaEngine& engine, pair<T1, T2>&& v) {