[aquaskk-changes 85] CVS update: AquaSKK

Back to archive index

Tomotaka SUWA t-suw****@users*****
2005年 10月 20日 (木) 02:10:31 JST


Index: AquaSKK/SKKDictionary.cpp
diff -u AquaSKK/SKKDictionary.cpp:1.3 AquaSKK/SKKDictionary.cpp:1.4
--- AquaSKK/SKKDictionary.cpp:1.3	Thu Oct 13 23:22:35 2005
+++ AquaSKK/SKKDictionary.cpp	Thu Oct 20 02:10:31 2005
@@ -1,5 +1,5 @@
 /*
-	$Id: SKKDictionary.cpp,v 1.3 2005/10/13 14:22:35 t-suwa Exp $
+	$Id: SKKDictionary.cpp,v 1.4 2005/10/19 17:10:31 t-suwa Exp $
 	---------
 	
     MacOS X implementation of the SKK input method.
@@ -208,60 +208,54 @@
 	}
 }
 
-vector<CppCFString> SKKDictionary::findWithoutOkuri(const CppCFString& query)
-{
-	// ‘¶Ý‚µ‚È‚¯‚ê‚΋ó‚Ìvector‚ð•Ô‚·B
-	vector<CppCFString> *candidates = okuri_nasi_table[query];
-	if (candidates == NULL) // ƒGƒ“ƒgƒŠŽ©‘Ì‘¶Ý‚µ‚È‚¢‚©A‚Ü‚¾ƒp[ƒX‚³‚ê‚Ä‚¢‚È‚¢B
-	{
-		for (unsigned i = 0;i < okuri_nasi_unparsed.size();i++)
-		{
-			CppCFString line(okuri_nasi_unparsed[i].c_str(),kCFStringEncodingEUC_JP); // EUC-JP
-			if (line.startsWith(query))
-			{
-				CppCFString index;
-				vector<CppCFString> entries;
-				parseOkuriNasiEntry(line,index,entries);
-				
-				return entries;
-			}
-		}
-		
-		vector<CppCFString> empty;
-		return empty;
-	}
-	else
-	{
-		return *candidates;
+std::vector<CppCFString>
+SKKDictionary::findWithoutOkuri(const CppCFString& query) {
+    // Œ©‚‚©‚Á‚½H
+    if(okuri_nasi_table.find(query) != okuri_nasi_table.end()) {
+	return *okuri_nasi_table[query];
+    }
+
+    // ƒGƒ“ƒgƒŠŽ©‘Ì‘¶Ý‚µ‚È‚¢‚©A‚Ü‚¾ƒp[ƒX‚³‚ê‚Ä‚¢‚È‚¢
+    for(unsigned i = 0; i < okuri_nasi_unparsed.size() ; ++ i) {
+	CppCFString line(okuri_nasi_unparsed[i].c_str(), kCFStringEncodingEUC_JP); // EUC-JP	
+
+	if(line.startsWith(query)) {
+	    CppCFString index;
+	    std::vector<CppCFString> entries;
+
+	    parseOkuriNasiEntry(line, index, entries);
+
+	    return entries;
 	}
+    }
+
+    // ‘¶Ý‚µ‚È‚¯‚ê‚΋ó‚Ì vector ‚ð•Ô‚·
+    return std::vector<CppCFString>();
 }
 
-vector<OkuriganaEntry> SKKDictionary::findWithOkuri(const CppCFString& root)
-{
-	// ‘¶Ý‚µ‚È‚¯‚ê‚΋ó‚Ìvector‚ð•Ô‚·B
-	vector<OkuriganaEntry> *candidates = okuri_ari_table[root];
-	if (candidates == NULL) // ƒGƒ“ƒgƒŠŽ©‘Ì‘¶Ý‚µ‚È‚¢‚©A‚Ü‚¾ƒp[ƒX‚³‚ê‚Ä‚¢‚È‚¢B
-	{
-		for (unsigned i = 0;i < okuri_ari_unparsed.size();i++)
-		{
-			CppCFString line(okuri_ari_unparsed[i].c_str(),kCFStringEncodingEUC_JP); // EUC-JP
-			if (line.startsWith(root))
-			{
-				CppCFString index;
-				vector<OkuriganaEntry> entries;
-				parseOkuriAriEntry(line,index,entries);
-				
-				return entries;
-			}
-		}
-		
-		vector<OkuriganaEntry> empty;
-		return empty;
-	}
-	else
-	{
-		return *candidates;
+std::vector<OkuriganaEntry>
+SKKDictionary::findWithOkuri(const CppCFString& root) {
+    // Œ©‚‚©‚Á‚½H
+    if(okuri_ari_table.find(root) != okuri_ari_table.end()) {
+	return *okuri_ari_table[root];
+    }
+
+    // ƒGƒ“ƒgƒŠŽ©‘Ì‘¶Ý‚µ‚È‚¢‚©A‚Ü‚¾ƒp[ƒX‚³‚ê‚Ä‚¢‚È‚¢B
+    for(unsigned i = 0; i < okuri_ari_unparsed.size(); ++ i) {
+	CppCFString line(okuri_ari_unparsed[i].c_str(), kCFStringEncodingEUC_JP); // EUC-JP
+
+	if(line.startsWith(root)) {
+	    CppCFString index;
+	    std::vector<OkuriganaEntry> entries;
+
+	    parseOkuriAriEntry(line, index, entries);
+
+	    return entries;
 	}
+    }
+
+    // ‘¶Ý‚µ‚È‚¯‚ê‚΋ó‚Ì vector ‚ð•Ô‚·
+    return std::vector<OkuriganaEntry>();
 }
 
 vector<CppCFString> SKKDictionary::findCompletions(const CppCFString& query)


aquaskk-changes メーリングリストの案内
Back to archive index