亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? phonetic.cpp

?? unix/linux下拼寫檢查程序源碼
?? CPP
字號:
// Copyright 2000 by Kevin Atkinson under the terms of the LGPL#include "language.hpp"#include "phonetic.hpp"#include "phonet.hpp"#include "file_util.hpp"#include "file_data_util.hpp"#include "clone_ptr-t.hpp"#include <vector>namespace aspeller {    class GenericSoundslike : public Soundslike {  private:    const Language * lang;  public:    GenericSoundslike(const Language * l) : lang(l) {}    PosibErr<void> setup() {return no_err;}        Soundslike * clone() const {return new GenericSoundslike(*this);}    void assign(const Soundslike * other) {      *this = *static_cast<const GenericSoundslike *>(other);    }     String soundslike_chars() const {      bool chars_set[256] = {0};      String     chars_list;      for (int i = 0; i != 256; ++i) 	{	  char c = lang->to_sl(static_cast<char>(i));	  if (c) chars_set[static_cast<unsigned char>(c)] = true;	}      for (int i = 0; i != 256; ++i) 	{	  if (chars_set[i]) 	    chars_list += static_cast<char>(i);	}      return chars_list;    }    String to_soundslike(ParmString str) const     {      String new_word;      char prev = '\0';      char cur;            for (const char * i = str; *i != '\0'; ++i) {	cur = lang->to_sl(*i);	if (cur != '\0' && cur != prev) new_word += lang->to_sl(*i);	prev = cur;      }            return new_word;    }    const char * name () const {      return "generic";    }    const char * version() const {      return "1.0";    }  };  class NoSoundslike : public Soundslike {  private:    const Language * lang;  public:    NoSoundslike(const Language * l) : lang(l) {}    PosibErr<void> setup() {return no_err;}        Soundslike * clone() const {return new NoSoundslike(*this);}    void assign(const Soundslike * other) {      *this = *static_cast<const NoSoundslike *>(other);    }     String soundslike_chars() const {      bool chars_set[256] = {0};      String     chars_list;      for (int i = 0; i != 256; ++i)       {	char c = static_cast<char>(i);	if (lang->is_alpha(c) || lang->special(c).any())	  chars_set[static_cast<unsigned char>(lang->to_stripped(c))] = true;      }      for (int i = 0; i != 256; ++i)       {	if (chars_set[i]) 	  chars_list += static_cast<char>(i);      }      return chars_list;    }    String to_soundslike(ParmString str) const     {      String new_word;      new_word.reserve(str.size());            for (const char * i = str; *i != '\0'; ++i) 	new_word += lang->to_stripped(*i);            return new_word;    }    const char * name() const {      return "none";    }    const char * version() const {      return "1.0";    }  };  class PhonetSoundslike : public Soundslike {    const Language * lang;    ClonePtr<PhonetParms> phonet_parms;      public:    Soundslike * clone() const {return new PhonetSoundslike(*this);}    void assign(const Soundslike * other) {      *this = *static_cast<const PhonetSoundslike *>(other);    }    PhonetSoundslike(const Language * l) : lang(l) {}    PosibErr<void> setup() {      String file;      file += lang->data_dir();      file += '/';      file += lang->name();      file += "_phonet.dat";      PosibErr<PhonetParms *> pe = load_phonet_rules(file);      if (pe.has_err()) return pe;      phonet_parms.reset(pe);      for (int i = 0; i != 256; ++i) {	phonet_parms->to_upper[i] = lang->to_upper(i);	phonet_parms->is_alpha[i] = lang->is_alpha(i);      }      init_phonet_hash(*phonet_parms);      return no_err;    }    String soundslike_chars() const     {      bool chars_set[256] = {0};      String     chars_list;      for (const char * * i = phonet_parms->rules + 1; 	   *(i-1) != PhonetParms::rules_end;	   i += 2) 	{	  for (const char * j = *i; *j; ++j) 	    {	      chars_set[static_cast<unsigned char>(*j)] = true;	    }	}      for (int i = 0; i != 256; ++i) 	{	  if (chars_set[i]) 	    chars_list += static_cast<char>(i);	}      return chars_list;    }        String to_soundslike(ParmString str) const     {      std::vector<char> new_word;      new_word.resize(str.size()+1);      phonet(str, &new_word.front(), *phonet_parms);      return &new_word.front();    }        const char * name() const    {      return "phonet";    }    const char * version() const     {      return phonet_parms->version.c_str();    }  };      PosibErr<Soundslike *> new_soundslike(ParmString name,                                         const Language * lang)  {    Soundslike * sl;    if (name == "generic") {      sl = new GenericSoundslike(lang);    } else if (name == "none") {      sl = new NoSoundslike(lang);    } else {      sl = new PhonetSoundslike(lang);    }    PosibErrBase pe = sl->setup();    if (pe.has_err()) {      delete sl;      return pe;    } else {      return sl;    }  }}namespace acommon {  template class ClonePtr<aspeller::Soundslike>;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合 综合色| 亚洲激情第一区| 精品88久久久久88久久久| 欧美日韩一区二区在线观看 | 亚洲三级理论片| 国产精品系列在线| 国产精品免费看片| 一区二区中文字幕在线| 综合久久国产九一剧情麻豆| 国产精品成人一区二区三区夜夜夜| 欧美国产一区二区| 欧美国产禁国产网站cc| 中文字幕一区二区日韩精品绯色| 亚洲色图.com| 亚洲在线视频免费观看| **性色生活片久久毛片| 欧美高清在线视频| 亚洲精品视频免费观看| 亚洲bt欧美bt精品777| 免费久久精品视频| 国产在线一区二区综合免费视频| 国产成人亚洲精品青草天美| 成人黄色软件下载| 在线观看91精品国产入口| 69精品人人人人| 精品免费视频一区二区| 欧美国产乱子伦| 亚洲精品成人精品456| 日本不卡一区二区| 国产一区 二区 三区一级| 成人一区在线看| 欧美主播一区二区三区美女| 欧美一个色资源| 国产精品情趣视频| 亚洲一区二区精品久久av| 轻轻草成人在线| 国产91高潮流白浆在线麻豆| 色综合中文字幕国产 | 麻豆91在线播放| 国产成人亚洲精品狼色在线| 色婷婷国产精品| 日韩精品一区二| 国产精品理论在线观看| 亚洲妇熟xx妇色黄| 国产黄色精品网站| 欧美乱熟臀69xxxxxx| 久久久精品国产免费观看同学| 亚洲免费视频中文字幕| 久久99精品国产.久久久久 | 国产亚洲福利社区一区| 亚洲理论在线观看| 国模娜娜一区二区三区| 在线观看一区二区精品视频| 亚洲精品一区二区三区蜜桃下载| 亚洲欧洲av色图| 蜜桃久久av一区| 91香蕉视频污在线| 日韩欧美国产一区二区三区| 亚洲图片欧美激情| 国产一区二区三区精品欧美日韩一区二区三区 | 椎名由奈av一区二区三区| 日本亚洲免费观看| 91老师片黄在线观看| 精品日韩一区二区三区免费视频| 亚洲人成亚洲人成在线观看图片 | 欧美日韩一本到| 国产精品色婷婷| 蜜桃视频一区二区三区| 欧洲色大大久久| 中文字幕国产精品一区二区| 青娱乐精品视频在线| 在线这里只有精品| 国产精品久久三区| 经典三级在线一区| 5858s免费视频成人| 亚洲美女精品一区| 成人av在线网| 久久久午夜精品| 久久精品国产成人一区二区三区| 欧美色图12p| 亚洲天堂中文字幕| 成人av免费观看| 国产亚洲成av人在线观看导航| 免费成人结看片| 欧美理论片在线| 曰韩精品一区二区| 色猫猫国产区一区二在线视频| 国产精品网友自拍| 国产高清一区日本| 精品国内二区三区| 久国产精品韩国三级视频| 在线成人av网站| 日韩福利视频导航| 欧美久久一区二区| 午夜伦欧美伦电影理论片| 91美女视频网站| 亚洲丝袜精品丝袜在线| aaa亚洲精品| 国产精品国产三级国产专播品爱网| 国产精品一卡二| 国产日韩欧美精品电影三级在线| 韩日av一区二区| 精品国产不卡一区二区三区| 国产在线精品免费| 久久只精品国产| 国产精品小仙女| 国产精品欧美久久久久一区二区| 东方aⅴ免费观看久久av| 国产亚洲精品7777| 99视频有精品| 亚洲男人的天堂网| 欧美亚日韩国产aⅴ精品中极品| 亚洲最大色网站| 在线不卡中文字幕播放| 麻豆一区二区三区| 国产亚洲美州欧州综合国| 国产不卡视频一区二区三区| 中文字幕一区视频| 在线观看欧美日本| 午夜精品久久久久久久蜜桃app | 婷婷丁香激情综合| 欧美一卡在线观看| 久久97超碰色| 国产精品国产成人国产三级 | 欧美va在线播放| 国产一区二区视频在线| 中文字幕国产一区| 欧美亚洲一区二区三区四区| 日韩国产一区二| 久久精品网站免费观看| 97国产一区二区| 亚洲成人三级小说| 欧美精品一区视频| 色综合久久中文综合久久97| 亚洲高清免费一级二级三级| 日韩欧美电影在线| 粉嫩av一区二区三区在线播放| 一区二区三区在线不卡| 91精品免费观看| 国产电影一区在线| 亚洲综合丝袜美腿| 欧美精品一区二区三区视频| 99精品热视频| 蜜桃精品视频在线观看| 中文字幕亚洲一区二区va在线| 欧美另类高清zo欧美| 激情久久五月天| 一区二区在线观看不卡| 日韩西西人体444www| av一区二区不卡| 七七婷婷婷婷精品国产| 综合激情网...| 日韩欧美国产一二三区| 99精品欧美一区二区蜜桃免费| 青青草精品视频| 亚洲人成精品久久久久久| 日韩欧美视频在线| 91极品美女在线| 国产精品一区二区久激情瑜伽| 亚洲激情图片qvod| 久久久久久久精| 欧美精品一二三区| 99久久精品一区二区| 精品一区二区三区视频| 一区二区三区欧美日| 欧美激情一区在线| 欧美电影免费观看高清完整版在| 91精彩视频在线| 成人理论电影网| 国内精品伊人久久久久av影院 | 在线亚洲一区二区| 国产一区二区三区观看| 亚洲成va人在线观看| 最新国产精品久久精品| 精品1区2区在线观看| 欧美日韩亚洲综合| 91女神在线视频| 国产成人免费高清| 久久99精品国产.久久久久久| 亚洲chinese男男1069| 亚洲男人的天堂av| 国产精品进线69影院| 久久久久免费观看| 欧美电视剧在线观看完整版| 欧美日韩一区二区三区不卡| 一本久久精品一区二区| 成人av动漫网站| 粉嫩蜜臀av国产精品网站| 国产又黄又大久久| 美洲天堂一区二卡三卡四卡视频| 亚洲午夜久久久久| 亚洲精品大片www| 亚洲黄一区二区三区| 亚洲日本va午夜在线影院| 中文字幕制服丝袜一区二区三区| 国产亚洲综合色| 国产亚洲精品超碰| 久久久久9999亚洲精品| 国产亚洲美州欧州综合国| 久久这里只精品最新地址|