1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-12-12 22:43:07 +00:00

Use string_view in components/fx

This commit is contained in:
Evil Eye 2025-08-16 13:49:07 +02:00
parent cf3d0b7dd3
commit 55c72ecb29
4 changed files with 13 additions and 13 deletions

View file

@ -120,7 +120,7 @@ namespace Fx
return mLastJumpBlock; return mLastJumpBlock;
} }
[[noreturn]] void Lexer::error(const std::string& msg) [[noreturn]] void Lexer::error(std::string_view msg)
{ {
throw LexerException(std::format("Line {} Col {}. {}", mLine + 1, mColumn, msg)); throw LexerException(std::format("Line {} Col {}. {}", mLine + 1, mColumn, msg));
} }

View file

@ -46,7 +46,7 @@ namespace Fx
Block getLastJumpBlock() const; Block getLastJumpBlock() const;
[[noreturn]] void error(const std::string& msg); [[noreturn]] void error(std::string_view msg);
private: private:
void drop(); void drop();

View file

@ -95,10 +95,10 @@ namespace Fx
return std::format("\n#line {}\n{}\n", block.line + 1, block.content); return std::format("\n#line {}\n{}\n", block.line + 1, block.content);
} }
Technique::UniformMap::iterator Technique::findUniform(const std::string& name) Technique::UniformMap::iterator Technique::findUniform(std::string_view name)
{ {
return std::find_if(mDefinedUniforms.begin(), mDefinedUniforms.end(), return std::find_if(mDefinedUniforms.begin(), mDefinedUniforms.end(),
[&name](const auto& uniform) { return uniform->mName == name; }); [=](const auto& uniform) { return uniform->mName == name; });
} }
bool Technique::compile() bool Technique::compile()
@ -201,7 +201,7 @@ namespace Fx
return isDirty; return isDirty;
} }
[[noreturn]] void Technique::error(const std::string& msg) [[noreturn]] void Technique::error(std::string_view msg)
{ {
mLexer->error(msg); mLexer->error(msg);
} }
@ -405,7 +405,7 @@ namespace Fx
template <class T> template <class T>
void Technique::parseSampler() void Technique::parseSampler()
{ {
if (findUniform(std::string(mBlockName)) != mDefinedUniforms.end()) if (findUniform(mBlockName) != mDefinedUniforms.end())
error(std::format("redeclaration of uniform '{}'", mBlockName)); error(std::format("redeclaration of uniform '{}'", mBlockName));
ProxyTextureData proxy; ProxyTextureData proxy;
@ -530,7 +530,7 @@ namespace Fx
template <class SrcT, class T> template <class SrcT, class T>
void Technique::parseUniform() void Technique::parseUniform()
{ {
if (findUniform(std::string(mBlockName)) != mDefinedUniforms.end()) if (findUniform(mBlockName) != mDefinedUniforms.end())
error(std::format("redeclaration of uniform '{}'", mBlockName)); error(std::format("redeclaration of uniform '{}'", mBlockName));
std::shared_ptr<Types::UniformBase> uniform = std::make_shared<Types::UniformBase>(); std::shared_ptr<Types::UniformBase> uniform = std::make_shared<Types::UniformBase>();
@ -671,7 +671,7 @@ namespace Fx
} }
template <class T> template <class T>
void Technique::expect(const std::string& err) void Technique::expect(std::string_view err)
{ {
mToken = mLexer->next(); mToken = mLexer->next();
if (!std::holds_alternative<T>(mToken)) if (!std::holds_alternative<T>(mToken))
@ -684,7 +684,7 @@ namespace Fx
} }
template <class T, class T2> template <class T, class T2>
void Technique::expect(const std::string& err) void Technique::expect(std::string_view err)
{ {
mToken = mLexer->next(); mToken = mLexer->next();
if (!std::holds_alternative<T>(mToken) && !std::holds_alternative<T2>(mToken)) if (!std::holds_alternative<T>(mToken) && !std::holds_alternative<T2>(mToken))

View file

@ -172,7 +172,7 @@ namespace Fx
std::string getLastError() const { return mLastError; } std::string getLastError() const { return mLastError; }
UniformMap::iterator findUniform(const std::string& name); UniformMap::iterator findUniform(std::string_view name);
bool getDynamic() const { return mDynamic; } bool getDynamic() const { return mDynamic; }
@ -183,17 +183,17 @@ namespace Fx
bool getInternal() const { return mInternal; } bool getInternal() const { return mInternal; }
private: private:
[[noreturn]] void error(const std::string& msg); [[noreturn]] void error(std::string_view msg);
void clear(); void clear();
std::string_view asLiteral() const; std::string_view asLiteral() const;
template <class T> template <class T>
void expect(const std::string& err = ""); void expect(std::string_view err = {});
template <class T, class T2> template <class T, class T2>
void expect(const std::string& err = ""); void expect(std::string_view err = {});
template <class T> template <class T>
bool isNext(); bool isNext();