diff options
| author | 2023-01-29 06:53:43 +1100 | |
|---|---|---|
| committer | 2023-01-29 06:53:43 +1100 | |
| commit | eaa43879cd2ae2e4c7bf7d685e8650a32277eea7 (patch) | |
| tree | 598d9eab839851d279ab68cdbdf778ad4f3cf38a /src/osd/modules/render/bgfx/chainreader.cpp | |
| parent | 5671484fc87fc11b536a0b0f6cb0efb1e680d489 (diff) | |
render/bgfx: Got rid of a lot of unnecessary object copying during setup.
Diffstat (limited to 'src/osd/modules/render/bgfx/chainreader.cpp')
| -rw-r--r-- | src/osd/modules/render/bgfx/chainreader.cpp | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/src/osd/modules/render/bgfx/chainreader.cpp b/src/osd/modules/render/bgfx/chainreader.cpp index 7d92c641695..7e890682a60 100644 --- a/src/osd/modules/render/bgfx/chainreader.cpp +++ b/src/osd/modules/render/bgfx/chainreader.cpp @@ -8,21 +8,20 @@ #include "chainreader.h" -#include <string> -#include <vector> -#include <map> - #include "chain.h" +#include "chainentryreader.h" #include "chainmanager.h" -#include "sliderreader.h" +#include "parameter.h" #include "paramreader.h" -#include "chainentryreader.h" -#include "targetreader.h" -#include "targetmanager.h" #include "slider.h" -#include "parameter.h" +#include "sliderreader.h" +#include "targetmanager.h" +#include "targetreader.h" + +#include <vector> +#include <map> -bgfx_chain* chain_reader::read_from_value(const Value& value, std::string prefix, chain_manager& chains, uint32_t screen_index, uint16_t user_prescale, uint16_t max_prescale_size) +bgfx_chain* chain_reader::read_from_value(const Value& value, const std::string &prefix, chain_manager& chains, uint32_t screen_index, uint16_t user_prescale, uint16_t max_prescale_size) { if (!validate_parameters(value, prefix)) { @@ -121,19 +120,28 @@ bgfx_chain* chain_reader::read_from_value(const Value& value, std::string prefix } } - return new bgfx_chain(name, author, transform, chains.targets(), sliders, parameters, entries, target_list, screen_index); + return new bgfx_chain( + std::move(name), + std::move(author), + transform, + chains.targets(), + std::move(sliders), + std::move(parameters), + std::move(entries), + std::move(target_list), + screen_index); } -bool chain_reader::validate_parameters(const Value& value, std::string prefix) +bool chain_reader::validate_parameters(const Value& value, const std::string &prefix) { - if (!READER_CHECK(value.HasMember("name"), (prefix + "Must have string value 'name'\n").c_str())) return false; - if (!READER_CHECK(value["name"].IsString(), (prefix + "Value 'name' must be a string\n").c_str())) return false; - if (!READER_CHECK(value.HasMember("author"), (prefix + "Must have string value 'author'\n").c_str())) return false; - if (!READER_CHECK(value["author"].IsString(), (prefix + "Value 'author' must be a string\n").c_str())) return false; - if (!READER_CHECK(value.HasMember("passes"), (prefix + "Must have array value 'passes'\n").c_str())) return false; - if (!READER_CHECK(value["passes"].IsArray(), (prefix + "Value 'passes' must be an array\n").c_str())) return false; - if (!READER_CHECK(!value.HasMember("sliders") || value["sliders"].IsArray(), (prefix + "Value 'sliders' must be an array\n").c_str())) return false; - if (!READER_CHECK(!value.HasMember("parameters") || value["parameters"].IsArray(), (prefix + "Value 'parameters' must be an array\n").c_str())) return false; - if (!READER_CHECK(!value.HasMember("targets") || value["targets"].IsArray(), (prefix + "Value 'targets' must be an array\n").c_str())) return false; + if (!READER_CHECK(value.HasMember("name"), "%sMust have string value 'name'\n", prefix)) return false; + if (!READER_CHECK(value["name"].IsString(), "%sValue 'name' must be a string\n", prefix)) return false; + if (!READER_CHECK(value.HasMember("author"), "%sMust have string value 'author'\n", prefix)) return false; + if (!READER_CHECK(value["author"].IsString(), "%sValue 'author' must be a string\n", prefix)) return false; + if (!READER_CHECK(value.HasMember("passes"), "%sMust have array value 'passes'\n", prefix)) return false; + if (!READER_CHECK(value["passes"].IsArray(), "%sValue 'passes' must be an array\n", prefix)) return false; + if (!READER_CHECK(!value.HasMember("sliders") || value["sliders"].IsArray(), "%sValue 'sliders' must be an array\n", prefix)) return false; + if (!READER_CHECK(!value.HasMember("parameters") || value["parameters"].IsArray(), "%sValue 'parameters' must be an array\n", prefix)) return false; + if (!READER_CHECK(!value.HasMember("targets") || value["targets"].IsArray(), "%sValue 'targets' must be an array\n", prefix)) return false; return true; } |
