16#define ADD_DEBUG_COMMENT(out) if (enable_debug_prints) { out << "/* " << __FUNCTION__ << ":" << __LINE__ << " */\n"; }
23 this->fullyScopedName = fullyScopedParamName;
24 const std::string delimiter =
"::";
29 while ((pos = fullyScopedParamName.find(delimiter)) != std::string::npos) {
30 token = fullyScopedParamName.substr(0, pos);
31 paramGroups.push_back(token);
32 fullyScopedParamName.erase(0, pos + delimiter.length());
35 if (!fullyScopedParamName.empty())
37 this->paramOnlyName=fullyScopedParamName;
43 if (this->paramGroups.size() == 0)
46 std::string full_groupname = this->paramGroups[0];
47 for (
size_t i = 1; i < this->paramGroups.size(); i++)
48 full_groupname = full_groupname + std::string(
"::") + this->paramGroups[i];
50 return full_groupname;
55 if (this->paramGroups.size() == 0)
56 return this->paramOnlyName;
61std::string Parameter::getFullGroupOnlyVariable()
const
66 if (this->paramGroups.size() == 0)
69 std::string full_groupname = this->paramGroups[0];
70 for (
size_t i = 1; i < this->paramGroups.size(); i++)
71 full_groupname = full_groupname + std::string(
"_") + this->paramGroups[i];
73 return full_groupname;
83 if (this->paramGroups.size() == 0)
84 return this->paramOnlyName;
86 return getFullGroupOnlyVariable() + std::string(
"_") + this->paramOnlyName;
91 return this->paramOnlyName;
96 return this->paramGroups;
std::string getParamOnly() const
std::string getFullParamName() const
std::string optional_variable_name
void setFullyScopedParamName(std::string fullyScopedParamName)
std::string getFullGroupOnlyName() const
std::string getFullParamVariable() const
std::deque< std::string > getListOfGroups() const
const bool enable_debug_prints