blob: d1972a62215e720aec6c92b0cad25d7e71776bfe [file] [log] [blame]
#include <BaSyx/submodel/simple/common/LangStringSet.h>
#include <BaSyx/shared/types.h>
namespace basyx {
namespace submodel {
namespace simple {
const std::string empty_string{};
LangStringSet::LangStringSet()
{
};
LangStringSet::LangStringSet(const std::string & languageCode, const std::string & langString)
{
this->langStrings.emplace(languageCode, langString);
};
LangStringSet::langCodeSet_t LangStringSet::getLanguageCodes() const
{
LangStringSet::langCodeSet_t langCodes;
for (auto & langCode : this->langStrings)
langCodes.insert(langCode.first);
return langCodes;
};
LangStringSet::LangStringSet(std::initializer_list<LangStringSet::langStringMap_t::value_type> il)
{
for (const auto & entry : il)
this->add(entry.first, entry.second);
}
const std::string & LangStringSet::get(const std::string & languageCode) const
{
if (this->langStrings.find(languageCode) != langStrings.end()) {
return langStrings.at(languageCode);
}
return empty_string;
};
void LangStringSet::add(const std::string & languageCode, const std::string & langString)
{
this->langStrings.emplace(languageCode, langString);
};
bool LangStringSet::empty() const noexcept
{
return this->langStrings.empty();
}
}
}
}