From e6a2b47b87a6428f59034ac2d65edc98b1df16e9 Mon Sep 17 00:00:00 2001 From: yanyiwu Date: Sat, 26 Mar 2016 01:16:44 +0800 Subject: [PATCH] hange the return value of KeywordExtractor::Extract from bool to void --- ChangeLog.md | 5 +++++ include/cppjieba/KeywordExtractor.hpp | 10 +++------- test/demo.cpp | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 733feec..3a587f8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,10 @@ # CppJieba ChangeLog +## next version + ++ Change Jieba::Locate to be static function. ++ Change the return value of KeywordExtractor::Extract from bool to void. + ## v4.5.3 + Upgrade limonp to v0.6.0 diff --git a/include/cppjieba/KeywordExtractor.hpp b/include/cppjieba/KeywordExtractor.hpp index e8cf18c..20e7b74 100644 --- a/include/cppjieba/KeywordExtractor.hpp +++ b/include/cppjieba/KeywordExtractor.hpp @@ -38,18 +38,15 @@ class KeywordExtractor { ~KeywordExtractor() { } - bool Extract(const string& sentence, vector& keywords, size_t topN) const { + void Extract(const string& sentence, vector& keywords, size_t topN) const { vector > topWords; - if (!Extract(sentence, topWords, topN)) { - return false; - } + Extract(sentence, topWords, topN); for (size_t i = 0; i < topWords.size(); i++) { keywords.push_back(topWords[i].first); } - return true; } - bool Extract(const string& sentence, vector >& keywords, size_t topN) const { + void Extract(const string& sentence, vector >& keywords, size_t topN) const { vector words; segment_.Cut(sentence, words); @@ -81,7 +78,6 @@ class KeywordExtractor { topN = min(topN, keywords.size()); partial_sort(keywords.begin(), keywords.begin() + topN, keywords.end(), Compare); keywords.resize(topN); - return true; } private: void LoadIdfDict(const string& idfPath) { diff --git a/test/demo.cpp b/test/demo.cpp index b352d52..77194ba 100644 --- a/test/demo.cpp +++ b/test/demo.cpp @@ -43,7 +43,7 @@ int main(int argc, char** argv) { cout << "[demo] Locate Words" << endl; vector loc_words; jieba.Cut("南京市长江大桥", words, true); - jieba.Locate(words, loc_words); + cppjieba::Jieba::Locate(words, loc_words); for (size_t i = 0; i < loc_words.size(); i++) { cout << loc_words[i].word << ", " << loc_words[i].begin