本文整理汇总了C++中Item::CodePoints方法的典型用法代码示例。如果您正苦于以下问题:C++ Item::CodePoints方法的具体用法?C++ Item::CodePoints怎么用?C++ Item::CodePoints使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Item
的用法示例。
在下文中一共展示了Item::CodePoints方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_decomposition_mapping
Parser::cps_key Parser::get_decomposition_mapping (const Item & item) {
auto & str=item.Get();
if (
(str.size()==0) ||
(str[0]=='<')
) return cps.Add();
auto dcm=item.CodePoints();
if (!dcm) throw std::runtime_error("Bad decomposition mapping in UnicodeData.txt");
return cps.Add(std::move(*dcm));
}
示例2:
static std::optional<CodePoint::Type> get_simple_case_mapping (const Item & i) {
auto mapping=i.CodePoints();
if (!mapping) bad_case_mapping();
switch (mapping->size()) {
case 0:
return std::optional<CodePoint::Type>{};
case 1:
return (*mapping)[0];
default:
bad_case_mapping();
}
}
示例3: get_folding
void CasingParser::get_folding (Entry & entry, const Item & item, bool turkic) {
// Get the code points
auto mapping=item.CodePoints();
if (!mapping) throw std::runtime_error("Expected code points");
if (turkic) {
auto mapping_key=cps.Add(std::move(*mapping));
casings.Add(
entry.Folding,
Casing{
get_tr(),
mapping_key
}
);
casings.Add(
entry.Folding,
Casing{
get_az(),
mapping_key
}
);
} else {
add_casing(
entry.Folding,
std::optional<conds_key>{},
std::move(*mapping)
);
}
}