dont use pass by const reference for small types in func arguments

macos_ci_fix
Kindi 1 year ago
parent dd61caa96d
commit db287b2bc6

@ -7,14 +7,14 @@ namespace
{
constexpr std::string_view UTF8PATT = "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*"; // %z is deprecated in Lua5.2
constexpr uint32_t MAXUTF = 0x7FFFFFFFu;
constexpr uint32_t MAXUNICODE = 0x10FFFFu;
//constexpr uint32_t MAXUNICODE = 0x10FFFFu;
inline bool isNilOrNone(const sol::stack_proxy arg)
{
return (arg.get_type() == sol::type::lua_nil || arg.get_type() == sol::type::none);
}
inline double getInteger(const sol::stack_proxy arg, const size_t& n, const std::string_view& name)
inline double getInteger(const sol::stack_proxy arg, const size_t n, const std::string_view name)
{
double integer;
if (!arg.is<double>())
@ -28,14 +28,14 @@ namespace
return integer;
}
inline void relativePosition(int64_t& pos, const size_t& len)
inline void relativePosition(int64_t& pos, const size_t len)
{
if (pos < 0)
pos = std::max<int64_t>(0, pos + len + 1);
}
// returns: first - character pos in bytes, second - character codepoint
std::pair<int64_t, int64_t> decodeNextUTF8Character(const std::string_view& s, std::vector<int64_t>& pos_byte)
std::pair<int64_t, int64_t> decodeNextUTF8Character(const std::string_view s, std::vector<int64_t>& pos_byte)
{
const int64_t pos = pos_byte.back() - 1;
const unsigned char ch = static_cast<unsigned char>(s[pos]);
@ -123,7 +123,7 @@ namespace LuaUtf8
utf8["len"] = [](const std::string_view& s,
const sol::variadic_args args) -> std::variant<size_t, std::pair<sol::object, int64_t>> {
size_t len = s.size();
const size_t len = s.size();
int64_t iv = isNilOrNone(args[0]) ? 1 : getInteger(args[0], 2, "len");
int64_t fv = isNilOrNone(args[1]) ? -1 : getInteger(args[1], 3, "len");

Loading…
Cancel
Save