X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/0d3126b51031578f051af3f38ed73b8e4e6a18bf..cea081452750a357baae9edf2764dcd4f3b78ca9:/include/stg/module_settings.h diff --git a/include/stg/module_settings.h b/include/stg/module_settings.h index b94de10c..a4de4539 100644 --- a/include/stg/module_settings.h +++ b/include/stg/module_settings.h @@ -1,55 +1,64 @@ - /* - $Revision: 1.5 $ - $Date: 2010/03/04 11:49:52 $ - $Author: faust $ - */ +#pragma once -#ifndef MODULE_SETTINGS_H -#define MODULE_SETTINGS_H - -#include // strcasecmp #include #include +#include // strcasecmp + +namespace STG +{ //----------------------------------------------------------------------------- -struct PARAM_VALUE +struct ParamValue { - PARAM_VALUE() {} - PARAM_VALUE(const std::string& p, const std::vector& vs) + ParamValue() = default; + ParamValue(const std::string& p, const std::vector& vs) noexcept : param(p), value(vs) {} - PARAM_VALUE(const std::string& p, const std::vector& vs, const std::vector& ss) + ParamValue(const std::string& p, const std::vector& vs, const std::vector& ss) noexcept : param(p), value(vs), sections(ss) {} - bool operator==(const PARAM_VALUE & rhs) const - { return !strcasecmp(param.c_str(), rhs.param.c_str()); } - bool operator<(const PARAM_VALUE & rhs) const - { return strcasecmp(param.c_str(), rhs.param.c_str()) < 0; } + ParamValue(const ParamValue&) = default; + ParamValue& operator=(const ParamValue&) = default; + ParamValue(ParamValue&&) = default; + ParamValue& operator=(ParamValue&&) = default; + + bool operator==(const ParamValue & rhs) const noexcept + { return !strcasecmp(param.c_str(), rhs.param.c_str()); } + + bool operator<(const ParamValue & rhs) const noexcept + { return strcasecmp(param.c_str(), rhs.param.c_str()) < 0; } std::string param; std::vector value; - std::vector sections; + std::vector sections; }; //----------------------------------------------------------------------------- -struct MODULE_SETTINGS +struct ModuleSettings { - MODULE_SETTINGS() {} - MODULE_SETTINGS(const std::string& name, const std::vector& params) + ModuleSettings() = default; + ModuleSettings(const std::string& name, const std::vector& params) noexcept : moduleName(name), moduleParams(params) {} - bool operator==(const MODULE_SETTINGS & rhs) const - { return !strcasecmp(moduleName.c_str(), rhs.moduleName.c_str()); } - bool operator<(const MODULE_SETTINGS & rhs) const - { return strcasecmp(moduleName.c_str(), rhs.moduleName.c_str()) < 0; } + ModuleSettings(const ModuleSettings&) = default; + ModuleSettings& operator=(const ModuleSettings&) = default; + ModuleSettings(ModuleSettings&&) = default; + ModuleSettings& operator=(ModuleSettings&&) = default; + + bool operator==(const ModuleSettings & rhs) const noexcept + { return !strcasecmp(moduleName.c_str(), rhs.moduleName.c_str()); } - std::string moduleName; - std::vector moduleParams; + bool operator<(const ModuleSettings & rhs) const noexcept + { return strcasecmp(moduleName.c_str(), rhs.moduleName.c_str()) < 0; } + + std::string moduleName; + std::vector moduleParams; }; //----------------------------------------------------------------------------- -#endif + +}