From 0d18248665853bdab8335cc6d6f805ee1a2601a4 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 20 Feb 2022 20:01:02 +0800 Subject: [PATCH] mgrLM // Dealing with Namespace Pollusion. --- .../Modules/LangModelRelated/mgrLangModel.mm | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Source/Modules/LangModelRelated/mgrLangModel.mm b/Source/Modules/LangModelRelated/mgrLangModel.mm index e3e9b868..2564a8e5 100644 --- a/Source/Modules/LangModelRelated/mgrLangModel.mm +++ b/Source/Modules/LangModelRelated/mgrLangModel.mm @@ -22,16 +22,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR TH #import "vChewing-Swift.h" #import "LMConsolidator.h" -using namespace std; -using namespace vChewing; - static const int kUserOverrideModelCapacity = 500; static const double kObservedOverrideHalflife = 5400.0; -static LMInstantiator gLangModelCHT; -static LMInstantiator gLangModelCHS; -static UserOverrideModel gUserOverrideModelCHT(kUserOverrideModelCapacity, kObservedOverrideHalflife); -static UserOverrideModel gUserOverrideModelCHS(kUserOverrideModelCapacity, kObservedOverrideHalflife); +static vChewing::LMInstantiator gLangModelCHT; +static vChewing::LMInstantiator gLangModelCHS; +static vChewing::UserOverrideModel gUserOverrideModelCHT(kUserOverrideModelCapacity, kObservedOverrideHalflife); +static vChewing::UserOverrideModel gUserOverrideModelCHS(kUserOverrideModelCapacity, kObservedOverrideHalflife); static NSString *const kUserDataTemplateName = @"template-data"; static NSString *const kUserAssDataTemplateName = @"template-data"; @@ -41,7 +38,7 @@ static NSString *const kTemplateExtension = @".txt"; @implementation mgrLangModel -static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, LMInstantiator &lm) +static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, vChewing::LMInstantiator &lm) { Class cls = NSClassFromString(@"ctlInputMethod"); NSString *dataPath = [[NSBundle bundleForClass:cls] pathForResource:filenameWithoutExtension ofType:@"txt"]; @@ -210,7 +207,7 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, LMInstan + (BOOL)checkIfUserPhraseExist:(NSString *)userPhrase inputMode:(InputMode)mode key:(NSString *)key NS_SWIFT_NAME(checkIfUserPhraseExist(userPhrase:mode:key:)) { string unigramKey = string(key.UTF8String); - vector unigrams = [mode isEqualToString:imeModeCHT] ? gLangModelCHT.unigramsForKey(unigramKey): gLangModelCHS.unigramsForKey(unigramKey); + vector unigrams = [mode isEqualToString:imeModeCHT] ? gLangModelCHT.unigramsForKey(unigramKey): gLangModelCHS.unigramsForKey(unigramKey); string userPhraseString = string(userPhrase.UTF8String); for (auto unigram: unigrams) { if (unigram.keyValue.value == userPhraseString) { @@ -269,7 +266,7 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, LMInstan [writeFile closeFile]; // We enforce the format consolidation here, since the pragma header will let the UserPhraseLM bypasses the consolidating process on load. - LMConsolidator::ConsolidateContent([path UTF8String], Preferences.shouldAutoSortUserPhrasesAndExclListOnLoad, false); + vChewing::LMConsolidator::ConsolidateContent([path UTF8String], Preferences.shouldAutoSortUserPhrasesAndExclListOnLoad, false); // We use FSEventStream to monitor the change of the user phrase folder, // so we don't have to load data here unless FSEventStream is disabled by user. @@ -317,12 +314,12 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, LMInstan return [[NSBundle bundleForClass:cls] pathForResource:@"char-kanji-cns" ofType:@"txt"]; } - + (LMInstantiator *)lmCHT + + (vChewing::LMInstantiator *)lmCHT { return &gLangModelCHT; } -+ (LMInstantiator *)lmCHS ++ (vChewing::LMInstantiator *)lmCHS { return &gLangModelCHS; }