mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Introduce std::string_view
into wider use (#14368)
This commit is contained in:
parent
fa47af737f
commit
6ca214fefc
74 changed files with 501 additions and 456 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue