*/
+/** @file src/language_tag.cc
+ * @brief LanguageTag class
+ */
+
+
#include "compose.hpp"
#include "dcp_assert.h"
#include "exceptions.h"
}
}
- return optional<LanguageTag::SubtagData>();
+ return {};
}
throw LanguageTagError("No language set up");
}
- string s = _language->subtag();
+ auto s = _language->subtag();
if (_script) {
s += "-" + _script->subtag();
d += language->description;
if (_script) {
- optional<SubtagData> script = get_subtag_data (SubtagType::SCRIPT, _script->subtag());
+ auto script = get_subtag_data (SubtagType::SCRIPT, _script->subtag());
DCP_ASSERT (script);
d += " written using the " + script->description + " script";
}
if (_region) {
- optional<SubtagData> region = get_subtag_data (SubtagType::REGION, _region->subtag());
+ auto region = get_subtag_data (SubtagType::REGION, _region->subtag());
DCP_ASSERT (region);
d += " for " + region->description;
}
for (auto const& i: _extlangs) {
- optional<SubtagData> extlang = get_subtag_data (SubtagType::EXTLANG, i.subtag());
+ auto extlang = get_subtag_data (SubtagType::EXTLANG, i.subtag());
DCP_ASSERT (extlang);
d += ", " + extlang->description;
}
return "Extended";
}
- return "";
+ return {};
}
bool
return find_in_list(extlang_list, subtag);
}
- return optional<LanguageTag::SubtagData>();
+ return {};
}
optional<string>
LanguageTag::get_subtag_description (LanguageTag::SubtagType type, string subtag)
{
- optional<SubtagData> data = get_subtag_data (type, subtag);
+ auto data = get_subtag_data (type, subtag);
if (!data) {
- return optional<string>();
+ return {};
}
return data->description;
void
load_language_tag_list (boost::filesystem::path tags_directory, string name, vector<LanguageTag::SubtagData>& list)
{
- FILE* f = fopen_boost (tags_directory / name, "r");
+ auto f = fopen_boost (tags_directory / name, "r");
if (!f) {
throw FileError ("Could not open tags file", tags_directory / name, errno);
}