Exemplo n.º 1
0
void SKKDictionaryKeeper::Complete(SKKCompletionHelper& helper) {
    pthread::lock scope(condition_);

    if(!ready()) return;

    typedef std::pair<SKKDictionaryEntryIterator, SKKDictionaryEntryIterator> EntryRange;

    SKKDictionaryEntryContainer& container = file_.OkuriNasi();
    std::string query = eucj_from_utf8(helper.Entry());
    EntryRange range = std::equal_range(container.begin(), container.end(),
                                        query, CompareFunctor((unsigned)query.size()));

    for(SKKDictionaryEntryIterator iter = range.first; iter != range.second; ++ iter) {
        std::string completion = utf8_from_eucj(iter->first);

        helper.Add(completion);

        if(!helper.CanContinue()) return;
    }
}
Exemplo n.º 2
0
void SetList::sortByKey()
{
    qSort(begin(), end(), CompareFunctor());
}