mirror of
https://github.com/luanti-org/luanti.git
synced 2025-11-08 11:05:28 +01:00
Introduce std::string_view into wider use (#14368)
This commit is contained in:
@@ -19,6 +19,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string_view>
|
||||
|
||||
extern "C" {
|
||||
#include <lua.h>
|
||||
}
|
||||
@@ -27,23 +29,22 @@ class LuaHelper
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
* Read a value using a template type T from Lua State L and index
|
||||
*
|
||||
* Read a value using a template type T from Lua state L at index
|
||||
*
|
||||
* @tparam T type to read from Lua
|
||||
* @param L Lua state
|
||||
* @param index Lua Index to read
|
||||
* @param index Lua index to read
|
||||
* @return read value from Lua
|
||||
*/
|
||||
template <typename T>
|
||||
static T readParam(lua_State *L, int index);
|
||||
|
||||
/**
|
||||
* Read a value using a template type T from Lua State L and index
|
||||
* Read a value using a template type T from Lua state L at index
|
||||
*
|
||||
* @tparam T type to read from Lua
|
||||
* @param L Lua state
|
||||
* @param index Lua Index to read
|
||||
* @param index Lua index to read
|
||||
* @param default_value default value to apply if nil
|
||||
* @return read value from Lua or default value if nil
|
||||
*/
|
||||
@@ -53,3 +54,18 @@ protected:
|
||||
return lua_isnoneornil(L, index) ? default_value : readParam<T>(L, index);
|
||||
}
|
||||
};
|
||||
|
||||
// (only declared for documentation purposes:)
|
||||
|
||||
/**
|
||||
* Read a string from Lua state L at index without copying it.
|
||||
*
|
||||
* Note that the returned string view is only valid as long as the value is on
|
||||
* the stack and has not been modified. Be careful.
|
||||
*
|
||||
* @param L Lua state
|
||||
* @param index Lua index to read
|
||||
* @return string view
|
||||
*/
|
||||
template <>
|
||||
std::string_view LuaHelper::readParam(lua_State *L, int index);
|
||||
|
||||
Reference in New Issue
Block a user