mirror of https://github.com/OpenTTD/OpenTTD
Codechange: use std::string_view for GetNextParameterString
parent
398524e49a
commit
4476ce804d
|
@ -1238,16 +1238,9 @@ static void FormatString(StringBuilder &builder, std::string_view str_arg, Strin
|
||||||
builder += _openttd_revision;
|
builder += _openttd_revision;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCC_RAW_STRING_POINTER: { // {RAW_STRING}
|
case SCC_RAW_STRING_POINTER: // {RAW_STRING}
|
||||||
const char *raw_string = args.GetNextParameterString();
|
FormatString(builder, args.GetNextParameterString(), args);
|
||||||
/* raw_string can be nullptr. */
|
|
||||||
if (raw_string == nullptr) {
|
|
||||||
builder += "(invalid RAW_STRING parameter)";
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
FormatString(builder, raw_string, args);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case SCC_STRING: {// {STRING}
|
case SCC_STRING: {// {STRING}
|
||||||
StringID string_id = args.GetNextParameter<StringID>();
|
StringID string_id = args.GetNextParameter<StringID>();
|
||||||
|
|
|
@ -112,12 +112,12 @@ public:
|
||||||
* will be read.
|
* will be read.
|
||||||
* @return The next parameter's value.
|
* @return The next parameter's value.
|
||||||
*/
|
*/
|
||||||
const char *GetNextParameterString()
|
std::string_view GetNextParameterString()
|
||||||
{
|
{
|
||||||
struct visitor {
|
struct visitor {
|
||||||
const char *operator()(const std::monostate &) { throw std::out_of_range("Attempt to read uninitialised parameter as string"); }
|
std::string_view operator()(const std::monostate &) { throw std::out_of_range("Attempt to read uninitialised parameter as string"); }
|
||||||
const char *operator()(const uint64_t &) { throw std::out_of_range("Attempt to read integer parameter as string"); }
|
std::string_view operator()(const uint64_t &) { throw std::out_of_range("Attempt to read integer parameter as string"); }
|
||||||
const char *operator()(const std::string &arg) { return arg.c_str(); }
|
std::string_view operator()(const std::string &arg) { return arg; }
|
||||||
};
|
};
|
||||||
|
|
||||||
const auto ¶m = this->GetNextParameterReference();
|
const auto ¶m = this->GetNextParameterReference();
|
||||||
|
|
Loading…
Reference in New Issue