29 [[nodiscard]]
ssize_t plurality(
long long n,
ssize_t max)
const noexcept
33 r = plurality_func(narrow_cast<int>(n % 1'000'000));
36 r =
static_cast<int>(n == 1);
38 return std::clamp(narrow_cast<ssize_t>(r),
ssize_t{0}, max - 1);
43 hilet lock = std::scoped_lock(_mutex);
45 hilet i = _languages.find(tag);
46 if (i != _languages.end()) {
47 return i->second.get();
55 hilet lock = std::scoped_lock(_mutex);
59 auto tmp = std::make_unique<language>(tag);
68 hilet lock = std::scoped_lock(_mutex);
70 auto variant_tags = variants(tags);
74 for (
hilet &tag: variant_tags) {
75 r.push_back(&find_or_create(tag));